Kafka Schema Registry MCP Server

Kafka Schema Registry MCP Server

MCP-compliant server for advanced Kafka Schema Registry management and integration.

26
Stars
7
Forks
26
Watchers
4
Issues
Kafka Schema Registry MCP Server is a fully-compliant Model Context Protocol (MCP) server built with the FastMCP 2.8.0+ framework. It provides advanced schema context support, enables multi-registry management, and offers comprehensive schema export capabilities. The tool is designed for seamless integration with Claude Desktop and other MCP clients using JSON-RPC over stdio. It supports Docker-based deployment and includes features to streamline both administrator and end-user workflows.

Key Features

Full compliance with MCP 2025-06-18 specification
Integration with Claude Desktop and other MCP clients
Advanced schema context management
Multi-registry support
Comprehensive schema export capabilities
JSON-RPC communication over stdio
Docker-based deployment options
Configurable feature sets (SLIM_MODE/full)
Secure authentication and access control
Ready-to-use configuration templates

Use Cases

Managing and registering Kafka schemas in enterprise environments
Providing schema registry context for AI application workflows
Automating schema export and backup procedures
Integrating schema registry management into Claude Desktop for conversational workflows
Supporting multi-registry operations for SRE and production deployments
Enabling secure, auditable access to schema registries
Streamlining schema operations via standardized JSON-RPC APIs
Providing developer teams with configurable, Docker-based MCP tools
Facilitating rapid onboarding and configuration for model-based pipelines
Exporting, listing, and managing schema subjects efficiently

README

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 modern FastMCP 2.8.0+ framework with full MCP 2025-06-18 specification compliance. Fully compatible with Claude Desktop and other MCP clients using JSON-RPC over stdio.

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

📋 Table of Contents

🚀 Quick Start

1. Run with Docker (Recommended)

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 - 57+ tools following MCP 2025-06-18 specification
  • 🚀 SLIM_MODE - Reduce tool overhead from 57+ to ~9 essential tools for better LLM performance

📖 See detailed feature descriptions: docs/api-reference.md

📦 Installation

Option A: Docker (Recommended)

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/:

Configuration Use Case File
Production Stable Docker deployment claude_desktop_stable_config.json
Multi-Environment DEV/STAGING/PROD registries claude_desktop_multi_registry_docker.json
Local Development Python local execution claude_desktop_config.json
View-Only Safety Production 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.

When to Use SLIM_MODE (Recommended)

  • 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 57+ 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
  • Task management and workflow tools
  • Configuration update tools
  • Delete operations

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 Name SLIM_MODE Scope Recommended Resource Description
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

Category Name Type SLIM_MODE Scope Description
Core ping Tool read MCP ping/pong health check
Registry Management set_default_registry Tool admin Set default registry
Registry Management get_default_registry Tool read Get current default registry
Schema Operations register_schema Tool write Register new schema version
Schema Operations check_compatibility Tool read Check schema compatibility
Context Management create_context Tool write Create new context
Context Management delete_context Tool admin Delete context
Subject Management delete_subject Tool admin Delete subject and versions
Configuration update_global_config Tool admin Update global configuration
Configuration update_subject_config Tool admin Update subject configuration
Configuration add_subject_alias Tool write Create alias subject pointing to an existing subject
Configuration delete_subject_alias Tool write Remove an alias subject
Mode Management update_mode Tool admin Update registry mode
Mode Management update_subject_mode Tool admin Update subject mode
Statistics count_contexts Tool read Count contexts
Statistics count_schemas Tool read Count schemas
Statistics count_schema_versions Tool read Count schema versions
Statistics get_registry_statistics Tool read Get comprehensive registry stats
Export export_schema Tool read Export single schema
Export export_subject Tool read Export all subject versions
Export export_context Tool read Export all context subjects
Export export_global Tool read Export all contexts/schemas
Export export_global_interactive Tool read Interactive global export
Migration migrate_schema Tool admin Migrate schema between registries
Migration migrate_context Tool admin Migrate context between registries
Migration migrate_context_interactive Tool admin Interactive context migration
Migration list_migrations Tool read List migration tasks
Migration get_migration_status Tool read Get migration status
Comparison compare_registries Tool read Compare two registries
Comparison compare_contexts_across_registries Tool read Compare contexts across registries
Comparison find_missing_schemas Tool read Find missing schemas
Batch Operations clear_context_batch Tool admin Clear context with batch operations
Batch Operations clear_multiple_contexts_batch Tool admin Clear multiple contexts
Interactive register_schema_interactive Tool write Interactive schema registration
Interactive check_compatibility_interactive Tool read Interactive compatibility check
Interactive create_context_interactive Tool write Interactive context creation
Resource Discovery list_available_resources Tool read List all available resources
Resource Discovery suggest_resource_for_tool Tool read Get resource migration suggestions
Resource Discovery generate_resource_templates Tool read Generate resource URI templates
Task Management get_task_status Tool read Get task status
Task Management get_task_progress Tool read Get task progress
Task Management list_active_tasks Tool read List active tasks
Task Management cancel_task Tool admin Cancel running task
Task Management list_statistics_tasks Tool read List statistics tasks
Task Management get_statistics_task_progress Tool read Get statistics task progress
Elicitation submit_elicitation_response Tool write Submit elicitation response
Elicitation list_elicitation_requests Tool read List elicitation requests
Elicitation get_elicitation_request Tool read Get elicitation request details
Elicitation cancel_elicitation_request Tool admin Cancel elicitation request
Elicitation get_elicitation_status Tool read Get elicitation system status
Workflows list_available_workflows Tool read List available workflows
Workflows get_workflow_status Tool read Get workflow status
Workflows guided_schema_migration Tool admin Start schema migration wizard
Workflows guided_context_reorganization Tool admin Start context reorganization wizard
Workflows guided_disaster_recovery Tool admin Start disaster recovery wizard
Utility get_mcp_compliance_status_tool Tool read Get MCP compliance status
Utility get_oauth_scopes_info_tool Tool read Get OAuth scopes information
Utility test_oauth_discovery_endpoints Tool read Test OAuth discovery endpoints
Utility get_operation_info_tool Tool read Get operation metadata
Utility check_viewonly_mode Tool read Check if registry is in viewonly mode
RESOURCES registry://status Resource read Overall registry connection status
RESOURCES registry://info Resource read Detailed server configuration
RESOURCES registry://mode Resource read Registry mode detection
RESOURCES registry://names Resource read List of configured registry names
RESOURCES registry://status/{name} Resource read Specific registry connection status
RESOURCES registry://info/{name} Resource read Specific registry configuration
RESOURCES registry://mode/{name} Resource read Specific registry mode
RESOURCES registry://{name}/subjects Resource read List subjects for registry
RESOURCES registry://{name}/contexts Resource read List contexts for registry
RESOURCES registry://{name}/config Resource read Global config for registry
RESOURCES schema://{name}/{context}/{subject} Resource read Schema content with context
RESOURCES schema://{name}/{subject} Resource read Schema content default context
RESOURCES schema://{name}/{context}/{subject}/versions Resource read Schema versions with context
RESOURCES schema://{name}/{subject}/versions Resource read Schema versions default context
RESOURCES subject://{name}/{context}/{subject}/config Resource read Subject config with context
RESOURCES subject://{name}/{subject}/config Resource read Subject config default context
RESOURCES subject://{name}/{context}/{subject}/mode Resource read Subject mode with context
RESOURCES subject://{name}/{subject}/mode Resource read Subject mode default context
RESOURCES elicitation://response/{request_id} Resource write Elicitation 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

Guide Description
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.1.x (Latest)

  • 🧭 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

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: 70+ MCP Tools (12 backward compatibility), 19 Resources, 8 Registries, OAuth 2.1, Multi-platform

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

Star History

Star History Chart

Repository Owner

aywengo
aywengo

User

Repository Details

Language Python
Default Branch main
Size 3,302 KB
Contributors 5
License MIT License
MCP Verified Nov 12, 2025

Programming Languages

Python
93.51%
Shell
5.86%
Dockerfile
0.28%
Smarty
0.25%
Makefile
0.09%

Tags

Topics

apache-kafka claude-desktop cursor docker enterprise kafka mcp mcp-server schema-registry vscode

Join Our Newsletter

Stay updated with the latest AI tools, news, and offers by subscribing to our weekly newsletter.

We respect your privacy. Unsubscribe at any time.

Related MCPs

Discover similar Model Context Protocol servers

  • Keycloak MCP Server

    Keycloak MCP Server

    MCP server for streamlined Keycloak administration and user management

    Keycloak MCP Server provides a Model Context Protocol (MCP) interface for managing Keycloak users and realms. It enables easy creation, deletion, and listing of users and realms through standardized tools. Designed for integration with platforms like Claude Desktop and tools like Smithery, it automates repeated Keycloak admin tasks and supports both NPM and local development setups.

    • 33
    • MCP
    • ChristophEnglisch/keycloak-model-context-protocol
  • Stape MCP Server

    Stape MCP Server

    An MCP server implementation for integrating Stape with AI model context protocols.

    Stape MCP Server provides an implementation of the Model Context Protocol server tailored for the Stape platform. It enables secure and standardized access to model context capabilities, allowing integration with tools such as Claude Desktop and Cursor AI. Users can easily configure and authenticate MCP connections using provided configuration samples, while managing context and credentials securely. The server is open source and maintained by the Stape Team under the Apache 2.0 license.

    • 4
    • MCP
    • stape-io/stape-mcp-server
  • docker-mcp

    docker-mcp

    A powerful MCP server for seamless Docker container and compose stack management.

    docker-mcp is a Model Context Protocol (MCP) server that enables robust Docker container and compose stack management via Claude AI. It offers easy installation through Smithery or manual setup, supporting container creation, Docker Compose stack deployment, log retrieval, and monitoring. Integration with the Claude Desktop app is straightforward, and the included MCP Inspector aids debugging. This tool simplifies Docker operations for automation and AI model interactions.

    • 419
    • MCP
    • QuantGeekDev/docker-mcp
  • Codex MCP Server

    Codex MCP Server

    An MCP-compatible server delivering enriched blockchain data for AI models.

    Codex MCP Server implements the Model Context Protocol to provide enriched blockchain data from Codex. It is compatible with MCP clients such as Claude Desktop and Claude CLI, allowing seamless integration in AI workflows that require blockchain context. Users can run the server locally or via npx, and configure it for various MCP-compatible tools using their Codex API key.

    • 20
    • MCP
    • Codex-Data/codex-mcp
  • Firefly MCP Server

    Firefly MCP Server

    Seamless resource discovery and codification for Cloud and SaaS with Model Context Protocol integration.

    Firefly MCP Server is a TypeScript-based server implementing the Model Context Protocol to enable integration with the Firefly platform for discovering and managing resources across Cloud and SaaS accounts. It supports secure authentication, resource codification into infrastructure as code, and easy integration with tools such as Claude and Cursor. The server can be configured via environment variables or command line and communicates using standardized MCP interfaces. Its features facilitate automation and codification workflows for cloud resource management.

    • 15
    • MCP
    • gofireflyio/firefly-mcp
  • Perplexity MCP Server

    Perplexity MCP Server

    MCP Server integration for accessing the Perplexity API with context-aware chat completion.

    Perplexity MCP Server provides a Model Context Protocol (MCP) compliant server that interfaces with the Perplexity API, enabling chat completion with citations. Designed for seamless integration with clients such as Claude Desktop, it allows users to send queries and receive context-rich responses from Perplexity. Environment configuration for API key management is supported, and limitations with long-running requests are noted. Future updates are planned to enhance support for client progress reporting.

    • 85
    • MCP
    • tanigami/mcp-server-perplexity
  • Didn't find tool you were looking for?

    Be as detailed as possible for better results