trackmcp
Back to directory
aywengo

kafka-schema-reg-mcp

View on GitHub

A comprehensive Message Control Protocol (MCP) server for Kafka Schema Registry.

32 stars PythonOthers Updated Aug 31, 2026
apache-kafkakafkamcpmcp-serverschema-registryclaude-desktopcursordockerenterprisevscode

Documentation

MseeP.ai Security Assessment Badge
License: MIT
Python Version
Docker Pulls
GitHub Release
GitHub Issues
Docker Image Size
Maintained
MCP Specification
Trust Score

Kafka Schema Registry MCP Server

A comprehensive Model Context Protocol (MCP) server that provides Claude Desktop and other MCP clients with tools for Kafka Schema Registry operations. Features advanced schema context support, multi-registry management, and comprehensive schema export capabilities.

> ๐ŸŽฏ True MCP Implementation: Uses FastMCP 3.2.0+ (3.x, capped below 4) with MCP 2025-11-25 specification compliance. Fully compatible with Claude Desktop and other MCP clients using JSON-RPC over `stdio`.

Latest Version: v2.2.2 | Docker: `aywengo/kafka-schema-reg-mcp:stable`

๐Ÿ“‹ Table of Contents

๐Ÿš€ Quick Start

bash
# Latest stable release
docker pull aywengo/kafka-schema-reg-mcp:stable

# Recommended: Run with SLIM_MODE for optimal performance (reduced essential tool set)
docker run -e SCHEMA_REGISTRY_URL=http://localhost:8081 -e SLIM_MODE=true aywengo/kafka-schema-reg-mcp:stable

# OR run with full feature set for administrators/SRE
docker run -e SCHEMA_REGISTRY_URL=http://localhost:8081 aywengo/kafka-schema-reg-mcp:stable

2. Configure Claude Desktop

Copy a ready-to-use configuration from `config-examples/`:

bash
# macOS
cp config-examples/claude_desktop_stable_config.json ~/Library/Application\ Support/Claude/claude_desktop_config.json

# Linux  
cp config-examples/claude_desktop_stable_config.json ~/.config/claude-desktop/config.json

3. Start Using with Claude

Restart Claude Desktop and try these prompts:

  • *"List all schema contexts"*
  • *"Show me the subjects in the production context"*
  • *"Register a new user schema with fields for id, name, and email"*

โœจ Key Features

  • ๐Ÿค– Claude Desktop Integration - Direct MCP integration with natural language interface
  • ๐Ÿข Multi-Registry Support - Manage up to 8 Schema Registry instances simultaneously
  • ๐Ÿ“‹ Schema Contexts - Logical grouping for production/staging environment isolation
  • ๐Ÿ”„ Schema Migration - Cross-registry migration with backup and verification
  • ๐Ÿ“Š Comprehensive Export - JSON, Avro IDL formats for backup and documentation
  • ๐Ÿ”’ Production Safety - VIEWONLY mode and per-registry access control
  • ๐Ÿ” OAuth 2.1 Authentication - Enterprise-grade security with scope-based permissions
  • ๐Ÿ“ˆ Real-time Progress - Async operations with progress tracking and cancellation
  • ๐Ÿ”— Resource Linking - HATEOAS navigation with enhanced tool responses
  • ๐Ÿงช Full MCP Compliance - 50+ tools following MCP 2025-11-25 specification
  • ๐Ÿš€ SLIM_MODE - Reduce tool overhead from 50+ to ~9 essential tools for better LLM performance

> ๐Ÿ“– See detailed feature descriptions: docs/api-reference.md

๐Ÿ› ๏ธ Claude Code Skills

This project includes 5 specialized Claude Code skills โ€“ 4 for automated schema development workflows plus 1 for schema context comparison (`/context-compare`, documented below):

Available Skills

  • `/schema-generate` - Generate production-ready Avro schemas from natural language
code
/schema-generate event UserRegistered "user registration with userId, email, timestamp"
  • `/schema-evolve` - Safely evolve schemas with automatic compatibility checking
code
/schema-evolve user-profile "add optional phoneNumber field"
  • `/migration-plan` - Create detailed migration plans between environments
code
/migration-plan development staging
  • `/lint-and-test` - Automated quality assurance workflows
code
/lint-and-test quick        # Before commit (2-3s)
  /lint-and-test fix          # Auto-fix issues (20-30s)
  /lint-and-test pre-push     # Before push (10-15s)

Getting Started with Skills

Quick Start: Read `.claude-code/SKILLS_GUIDE.md` - 5-minute tutorial

Complete Reference: `.claude-code/skills/README.md` - Full documentation

Setup Summary: `.claude-code/skills/README.md` - Configuration details

Skills Features

  • โœ… Natural language schema generation with templates
  • โœ… Automatic compatibility checking (BACKWARD, FORWARD, FULL)
  • โœ… Migration planning with rollback procedures
  • โœ… Pre-commit and pre-push quality automation
  • โœ… Integration with Black, Ruff, isort, Flake8
  • โœ… Docker-based test execution
  • โœ… Comprehensive error handling and auto-fix

Try it now: `/schema-generate event TestEvent "test with id and timestamp"`

๐Ÿ“ฆ Installation

bash
# Production stable
docker pull aywengo/kafka-schema-reg-mcp:stable

# Latest development  
docker pull aywengo/kafka-schema-reg-mcp:latest

# Specific version
docker pull aywengo/kafka-schema-reg-mcp:2.1.3

Running with SLIM_MODE

To reduce LLM overhead, run with SLIM_MODE enabled:

bash
# Run with a reduced essential tool set
docker run -e SCHEMA_REGISTRY_URL=http://localhost:8081 -e SLIM_MODE=true aywengo/kafka-schema-reg-mcp:stable

> ๐Ÿ’ก SLIM_MODE Benefits:

> - Reduces tool count to an essential subset

> - Significantly faster LLM response times

> - Lower token usage and reduced costs

> - Ideal for production read-only operations

> - Maintains full remote deployment support

Option B: Local Python

bash
git clone https://github.com/aywengo/kafka-schema-reg-mcp
cd kafka-schema-reg-mcp
pip install -r requirements.txt
python kafka_schema_registry_unified_mcp.py

Option C: Docker Compose

bash
docker-compose up -d  # Includes Schema Registry for testing

> ๐Ÿ“– Detailed installation guide: docs/deployment.md

โš™๏ธ Configuration

Single Registry Mode

bash
export SCHEMA_REGISTRY_URL="http://localhost:8081"
export SCHEMA_REGISTRY_USER=""           # Optional
export SCHEMA_REGISTRY_PASSWORD=""       # Optional
export VIEWONLY="false"                  # Production safety
export SLIM_MODE="false"                 # Optional: Enable to reduce tool overhead (default: false)

Multi-Registry Mode (Up to 8 Registries)

bash
# Development Registry
export SCHEMA_REGISTRY_NAME_1="development"
export SCHEMA_REGISTRY_URL_1="http://dev-registry:8081"
export VIEWONLY_1="false"

# Production Registry (with safety)
export SCHEMA_REGISTRY_NAME_2="production"  
export SCHEMA_REGISTRY_URL_2="http://prod-registry:8081"
export VIEWONLY_2="true"                     # Read-only protection

Claude Desktop Configuration

Pre-configured examples available in `config-examples/`:

ConfigurationUse CaseFile
ProductionStable Docker deployment`claude_desktop_stable_config.json`
Multi-EnvironmentDEV/STAGING/PROD registries`claude_desktop_multi_registry_docker.json`
Local DevelopmentPython local execution`claude_desktop_config.json`
View-Only SafetyProduction with safety`claude_desktop_viewonly_config.json`

> ๐Ÿ“– Complete configuration guide: config-examples/README.md

SLIM_MODE Configuration (Performance Optimization)

SLIM_MODE reduces the number of exposed MCP tools to an essential subset, significantly reducing LLM overhead and improving response times.

> ๐Ÿ’ก Recommendation: SLIM_MODE is recommended for most use cases as it provides all essential schema management capabilities with optimal performance.

  • Default choice for most users and day-to-day operations
  • When experiencing slow LLM responses due to too many tools
  • For production environments focused on read-only operations
  • When you only need basic schema management capabilities
  • To reduce token usage and improve performance

When to Use Non-SLIM Mode

  • For administrators or SRE teams performing long-running operations
  • When you need advanced operations like:
    • Schema migrations across registries
    • Bulk schema removals and cleanup operations
    • Complex batch operations and workflows
    • Interactive guided wizards for complex tasks
    • Comprehensive export/import operations

Enable SLIM_MODE

bash
export SLIM_MODE="true"  # Reduces tools from 50+ to ~9
# Enables reduced essential tool set

Tools Available in SLIM_MODE

Essential Read-Only Tools:

  • `ping` - Server health check
  • `set_default_registry`, `get_default_registry` - Registry management
  • `count_contexts`, `count_schemas`, `count_schema_versions` - Statistics

Basic Write Operations:

  • `register_schema` - Register new schemas
  • `check_compatibility` - Schema compatibility checking
  • `create_context` - Create new contexts

Essential Export Operations:

  • `export_schema` - Export single schema
  • `export_subject` - Export all subject versions

Resources Available (All Modes):

  • All 19 resources remain available in SLIM_MODE
  • `registry://`, `schema://`, `subject://` resource URIs
  • Full read access through resource-first approach

Tools Hidden in SLIM_MODE:

  • All migration tools (`migrate_schema`, `migrate_context`)
  • All batch operations (`clear_context_batch`)
  • Advanced export/import tools (`export_context`, `export_global`)
  • All interactive/elicitation tools (`*_interactive` variants)
  • Heavy statistics tools with async operations
  • Workflow tools
  • Configuration update tools
  • Delete operations

> Note: Task status tracking is now handled by FastMCP's built-in Docket system. Custom task management tools have been removed in favor of FastMCP's native task tracking.

> Note: You can switch between modes by restarting with `SLIM_MODE=false` to access the full tool set.

๐Ÿ“Š MCP Tools and Resources

This section provides a comprehensive analysis of all MCP tools and resources exposed by the Kafka Schema Registry MCP Server.

Backward Compatibility Wrapper Tools

These tools are maintained for backward compatibility with existing clients. They internally use efficient implementations but are exposed as tools to prevent "Tool not listed" errors. Consider migrating to the corresponding resources for better performance.

Tool NameSLIM_MODEScopeRecommended ResourceDescription
`list_registries`โœ…read`registry://names`List all configured registries
`get_registry_info`โœ…read`registry://info/{name}`Get registry information
`test_registry_connection`โœ…read`registry://status/{name}`Test registry connection
`test_all_registries`โœ…read`registry://status`Test all registry connections
`list_subjects`โœ…read`registry://{name}/subjects`List all subjects
`get_schema`โœ…read`schema://{name}/{context}/{subject}`Get schema content
`get_schema_versions`โœ…read`schema://{name}/{context}/{subject}/versions`Get schema versions
`get_global_config`โœ…read`registry://{name}/config`Get global configuration
`get_mode`โœ…read`registry://mode`Get registry mode
`list_contexts`โœ…read`registry://{name}/contexts`List all contexts
`get_subject_config`โœ…read`subject://{name}/{context}/{subject}/config`Get subject configuration
`get_subject_mode`โœ…read`subject://{name}/{context}/{subject}/mode`Get subject mode

Core MCP Tools

CategoryNameTypeSLIM_MODEScopeDescription
Core`ping`Toolโœ…readMCP ping/pong health check
Registry Management`set_default_registry`Toolโœ…adminSet default registry
Registry Management`get_default_registry`Toolโœ…readGet current default registry
Schema Operations`register_schema`Toolโœ…writeRegister new schema version
Schema Operations`check_compatibility`Toolโœ…readCheck schema compatibility
Context Management`create_context`Toolโœ…writeCreate new context
Context Management`delete_context`ToolโŒadminDelete context
Subject Management`delete_subject`ToolโŒadminDelete subject and versions
Configuration`update_global_config`ToolโŒadminUpdate global configuration
Configuration`update_subject_config`ToolโŒadminUpdate subject configuration
Configuration`add_subject_alias`ToolโŒwriteCreate alias subject pointing to an existing subject
Configuration`delete_subject_alias`ToolโŒwriteRemove an alias subject
Mode Management`update_mode`ToolโŒadminUpdate registry mode
Mode Management`update_subject_mode`ToolโŒadminUpdate subject mode
Statistics`count_contexts`Toolโœ…readCount contexts
Statistics`count_schemas`Toolโœ…readCount schemas
Statistics`count_schema_versions`Toolโœ…readCount schema versions
Statistics`get_registry_statistics`ToolโŒreadGet comprehensive registry stats
Export`export_schema`Toolโœ…readExport single schema
Export`export_subject`Toolโœ…readExport all subject versions
Export`export_context`ToolโŒreadExport all context subjects
Export`export_global`ToolโŒreadExport all contexts/schemas
Export`export_global_interactive`ToolโŒreadInteractive global export
Migration`migrate_schema`ToolโŒadminMigrate schema between registries
Migration`migrate_context`ToolโŒadminMigrate context between registries
Migration`migrate_context_interactive`ToolโŒadminInteractive context migration
Comparison`compare_registries`ToolโŒreadCompare two registries
Comparison`compare_contexts_across_registries`ToolโŒreadCompare contexts across registries
Comparison`find_missing_schemas`ToolโŒreadFind missing schemas
Batch Operations`clear_context_batch`ToolโŒadminClear context with batch operations
Batch Operations`clear_multiple_contexts_batch`ToolโŒadminClear multiple contexts
Interactive`register_schema_interactive`ToolโŒwriteInteractive schema registration
Interactive`check_compatibility_interactive`ToolโŒreadInteractive compatibility check
Interactive`create_context_interactive`ToolโŒwriteInteractive context creation
Resource Discovery`list_available_resources`Toolโœ…readList all available resources
Resource Discovery`suggest_resource_for_tool`Toolโœ…readGet resource migration suggestions
Resource Discovery`generate_resource_templates`Toolโœ…readGenerate resource URI templates
Elicitation`submit_elicitation_response`ToolโŒwriteSubmit elicitation response
Elicitation`list_elicitation_requests`ToolโŒreadList elicitation requests
Elicitation`get_elicitation_request`ToolโŒreadGet elicitation request details
Elicitation`cancel_elicitation_request`ToolโŒadminCancel elicitation request
Elicitation`get_elicitation_status`ToolโŒreadGet elicitation system status
Workflows`list_available_workflows`ToolโŒreadList available workflows
Workflows`get_workflow_status`ToolโŒreadGet workflow status
Workflows`guided_schema_migration`ToolโŒadminStart schema migration wizard
Workflows`guided_context_reorganization`ToolโŒadminStart context reorganization wizard
Workflows`guided_disaster_recovery`ToolโŒadminStart disaster recovery wizard
Utility`get_mcp_compliance_status_tool`ToolโŒreadGet MCP compliance status
Utility`get_oauth_scopes_info_tool`ToolโŒreadGet OAuth scopes information
Utility`test_oauth_discovery_endpoints`ToolโŒreadTest OAuth discovery endpoints
Utility`get_operation_info_tool`ToolโŒreadGet operation metadata
Utility`check_viewonly_mode`ToolโŒreadCheck if registry is in viewonly mode
RESOURCES`registry://status`Resourceโœ…readOverall registry connection status
RESOURCES`registry://info`Resourceโœ…readDetailed server configuration
RESOURCES`registry://mode`Resourceโœ…readRegistry mode detection
RESOURCES`registry://names`Resourceโœ…readList of configured registry names
RESOURCES`registry://status/{name}`Resourceโœ…readSpecific registry connection status
RESOURCES`registry://info/{name}`Resourceโœ…readSpecific registry configuration
RESOURCES`registry://mode/{name}`Resourceโœ…readSpecific registry mode
RESOURCES`registry://{name}/subjects`Resourceโœ…readList subjects for registry
RESOURCES`registry://{name}/contexts`Resourceโœ…readList contexts for registry
RESOURCES`registry://{name}/config`Resourceโœ…readGlobal config for registry
RESOURCES`schema://{name}/{context}/{subject}`Resourceโœ…readSchema content with context
RESOURCES`schema://{name}/{subject}`Resourceโœ…readSchema content default context
RESOURCES`schema://{name}/{context}/{subject}/versions`Resourceโœ…readSchema versions with context
RESOURCES`schema://{name}/{subject}/versions`Resourceโœ…readSchema versions default context
RESOURCES`subject://{name}/{context}/{subject}/config`Resourceโœ…readSubject config with context
RESOURCES`subject://{name}/{subject}/config`Resourceโœ…readSubject config default context
RESOURCES`subject://{name}/{context}/{subject}/mode`Resourceโœ…readSubject mode with context
RESOURCES`subject://{name}/{subject}/mode`Resourceโœ…readSubject mode default context
RESOURCES`elicitation://response/{request_id}`ResourceโŒwriteElicitation response handling

๐Ÿ’ฌ Usage Examples

Schema Management

bash
# In Claude Desktop, use natural language:
"Register a user schema with id, name, email fields"
"Check if my updated schema is compatible"
"Export all schemas from staging context"
"List subjects in production context"

Multi-Registry Operations

bash
"Compare development and production registries"
"Migrate user-events schema from staging to production"
"Test connections to all registries"
"Show me registry statistics"

Batch Operations

bash
"Clear all schemas from test context"
"Export global schemas for backup"
"Count schemas across all contexts"

> ๐Ÿ“– More examples: examples/ | ๐Ÿ“– Use cases: docs/use-cases.md

๐Ÿ”’ Authentication & Security

OAuth 2.1 Support (Optional)

bash
# Enable authentication
export ENABLE_AUTH=true
export AUTH_ISSUER_URL="https://your-oauth-provider.com"
export AUTH_AUDIENCE="your-client-id"

Supported Providers: Azure AD, Google OAuth, Keycloak, Okta, GitHub

Permission Scopes:

  • `read` - View schemas, configurations
  • `write` - Register schemas, update configs (includes read)
  • `admin` - Delete subjects, full control (includes write + read)

Production Safety Features

  • VIEWONLY Mode - Prevent accidental changes in production
  • URL Validation - SSRF protection with configurable localhost access
  • Scope-based Authorization - Fine-grained tool-level permissions
  • Per-Registry Controls - Independent safety settings

> ๐Ÿ“– Security guide: docs/deployment.md#security

๐Ÿ“š Documentation

GuideDescription
**API Reference**Complete tool documentation with examples
**Subject Aliasing**How to add and remove subject aliases
**Use Cases**Real-world scenarios and implementation patterns
**Deployment Guide**Docker, Kubernetes, cloud platforms, CI/CD
**IDE Integration**VS Code, Claude Code, Cursor setup
**Configuration Examples**Ready-to-use Claude Desktop configs
**Testing Guide**Comprehensive testing setup
**Changelog**Version history and migration notes
**v2.0.0 Highlights**Major version features

Additional Resources

  • **Examples** - Usage examples and code samples
  • **Scripts** - Utility scripts and automation
  • **Helm Charts** - Kubernetes deployment
  • **Tests** - Test suites and validation

๐Ÿงช Testing

Quick Test

bash
cd tests/
./run_all_tests.sh --quick    # Essential tests
./run_all_tests.sh           # Complete test suite

Docker Testing

bash
python tests/test_docker_mcp.py

MCP Inspector Tests (UI-driven)

bash
# From repository root
cd inspector-tests

# Single registry (DEV)
./run-inspector-tests.sh stable

# Multi-registry (DEV + PROD)
./run-inspector-tests.sh multi

# Test a specific Docker tag
DOCKER_VERSION=latest ./run-inspector-tests.sh stable

> ๐Ÿ“– Testing guide: TESTING_SETUP_GUIDE.md

๐Ÿš€ Deployment

Production Docker

bash
# With docker-compose
docker-compose up -d

# Direct Docker  
docker run -d -p 38000:8000 \
  -e SCHEMA_REGISTRY_URL=http://registry:8081 \
  aywengo/kafka-schema-reg-mcp:stable

Kubernetes

bash
# Using Helm charts
helm install kafka-schema-mcp ./helm/kafka-schema-reg-mcp

> ๐Ÿ“– Deployment guide: docs/deployment.md

๐Ÿค Contributing

We welcome contributions! Please see:

Quick Development Setup

bash
git clone https://github.com/aywengo/kafka-schema-reg-mcp
cd kafka-schema-reg-mcp
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
python kafka_schema_registry_unified_mcp.py

๐Ÿ†• What's New

v2.2.x (Latest)

  • ๐Ÿ“‹ MCP 2025-11-25 - Protocol compliance with FastMCP native background tasks
  • ๐Ÿ”’ FastMCP 3.2.0+ - 3.x, capped below 4 until FastMCP 4 GA (#177)

v2.1.x

  • ๐Ÿงญ Subject Aliasing - New tools `add_subject_alias` and `delete_subject_alias`
  • ๐Ÿ› ๏ธ Fixes - Evolution assistant and import interactive fixes
  • ๐Ÿ“ฆ Enhancements - Continued MCP tool refinements and testing improvements
  • ๐Ÿ—‘๏ธ Removed Deprecated Tools - Custom task management tools removed in favor of FastMCP's built-in Docket system

v2.0.x

  • ๐Ÿ”’ Security Fixes - Resolved credential exposure in logging
  • ๐Ÿค– Interactive Schema Migration - Smart migration with user preference elicitation
  • ๐Ÿ’พ Automatic Backups - Pre-migration backup creation
  • โœ… Post-Migration Verification - Comprehensive schema validation
  • ๐Ÿš€ FastMCP 2.8.0+ Framework - Complete architecture upgrade
  • ๐Ÿ“Š MCP 2025-06-18 Compliance - Latest protocol specification
  • ๐Ÿ” OAuth 2.1 Generic Discovery - Universal provider compatibility
  • ๐Ÿ”— Resource Linking - HATEOAS navigation in tool responses

> ๐Ÿ“– Full changelog: CHANGELOG.md | ๐Ÿ“– v2.0.0 features: README-v2.0.0-HIGHLIGHTS.md


๐Ÿณ Glama.ai:


๐Ÿณ Docker Hub: `aywengo/kafka-schema-reg-mcp` | ๐Ÿ“Š Stats: 50+ MCP Tools (12 backward compatibility), 19 Resources, 8 Registries, OAuth 2.1, Multi-platform

License: MIT | Maintainer: @aywengo | Issues: GitHub Issues

Frequently asked questions

What is kafka-schema-reg-mcp?

kafka-schema-reg-mcp is A comprehensive Message Control Protocol (MCP) server for Kafka Schema Registry.

How do I install kafka-schema-reg-mcp?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is kafka-schema-reg-mcp open source?

Yes โ€” it is hosted on GitHub at https://github.com/aywengo/kafka-schema-reg-mcp and has 32 stars.

Related MCP tools

taylorwilsdongoogle_workspace_mcp

Control Gmail, Google Calendar, Docs, Sheets, Slides, Chat, Forms, Tasks, Search & Drive with AI - Comprehensive Google Workspace MCP Server & CLI Tool

3,117 Python
aigmailgoogle-calendar+17
jgravellejcodemunch-mcp

Cut AI token costs 95%+ on code exploration. The leading MCP server for precise, symbol-level GitHub code retrieval via tree-sitter AST. Works with Claude Code, Cursor & any MCP client. 313B+ tokens saved.

2,651 Python
claudeclaude-codeai-coding+17
riponcmprojectmem

Open-source coding agent memory. Records issues, attempts, fixes and decisions, then warns your agent before it repeats an approach that already failed. Native MCP server for Claude Code, Cursor, Antigravity and Codex. 100% local, no cloud, no telemetry. MIT.

796 Python
ai-agentsai-memoryai-tools+17
IvanMurzakUnity-MCP

AI Skills, MCP Tools, and CLI for Unity Engine. Full AI develop and test loop. Use cli for quick setup. Efficient token usage, advanced tools. Any C# method may be turned into a tool by a single line. Works with Claude Code, Gemini, Copilot, Cursor and any other absolutely for free.

4,137 C#
aiai-integrationgame-development+16
atlassianatlassian-mcp-server

Official remote MCP server for Atlassian. Securely connect Jira, Confluence, Jira Service Management, Bitbucket, and Compass to Claude, ChatGPT, Cursor, VS Code, and other AI tools using OAuth 2.1 or API tokens.

1,015 JavaScript
aiai-agentsatlassian+17
tadata-orgfastapi_mcp

Expose your FastAPI endpoints as Model Context Protocol (MCP) tools, with Auth! Python-based implementation. Trusted by 11000+ developers.

11,002 Python
aiauthenticationauthorization+10

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP