Sign inSign up

aywengo/kafka-schema-reg-mcp

By aywengo

•Updated 24 days ago

MCP Server for Kafka Schema Registry - 70+ tools, OAuth, multi-registry, Kubernetes ready

Image
API management
Machine learning & AI
Monitoring & observability
1

10K+

aywengo/kafka-schema-reg-mcp repository overview

⁠Kafka Schema Registry MCP Server

A comprehensive MCP (Model Context Protocol) server that provides Claude Desktop and other MCP clients with tools for Kafka Schema Registry operations. True MCP implementation using the official SDK with JSON-RPC over stdio.

⁠✨ Key Features

  • šŸ¤– Claude Desktop Compatible: Direct integration via MCP protocol
  • šŸ“‹ 48 MCP Tools: Complete schema operations via natural language
  • 🌐 Multi-Registry Support: Connect to up to 8 Schema Registry instances
  • ⚔ Async Operations: Non-blocking tasks with real-time progress tracking
  • šŸ”§ Context Management: Logical grouping with separate "sub-registries"
  • šŸš€ Simplified Migration: Ready-to-run Docker commands for context migration
  • šŸ”’ Production Ready: Per-registry VIEWONLY mode, authentication support
  • šŸ“¦ Multi-Platform: AMD64 and ARM64 architectures

ā šŸš€ Quick Start

⁠Pull the Image
# Latest stable release (recommended)
docker pull aywengo/kafka-schema-reg-mcp:stable

# Latest development
docker pull aywengo/kafka-schema-reg-mcp:latest
⁠SLIM_MODE for Better Performance

To reduce LLM overhead, run with SLIM_MODE enabled:

# Run with ~15 essential tools instead of 53+
docker run -i --rm --network host \
  -e SCHEMA_REGISTRY_URL=http://localhost:8081 \
  -e SLIM_MODE=true \
  aywengo/kafka-schema-reg-mcp:stable

šŸ’” SLIM_MODE Benefits:

  • Reduces tool count from 53+ to ~15 essential tools
  • Significantly faster LLM response times
  • Lower token usage and reduced costs
  • Ideal for production read-only operations
  • Simply set SLIM_MODE=true environment variable
⁠Single Registry Mode
docker run -i --rm --network host \
  -e SCHEMA_REGISTRY_URL=http://localhost:8081 \
  aywengo/kafka-schema-reg-mcp:stable
⁠Multi-Registry Mode
docker run -i --rm --network host \
  -e SCHEMA_REGISTRY_NAME_1=development \
  -e SCHEMA_REGISTRY_URL_1=http://dev-registry:8081 \
  -e SCHEMA_REGISTRY_NAME_2=production \
  -e SCHEMA_REGISTRY_URL_2=http://prod-registry:8081 \
  -e VIEWONLY_2=true \
  aywengo/kafka-schema-reg-mcp:stable

ā šŸ¤– Claude Desktop Integration

Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

⁠Single Registry
{
  "mcpServers": {
    "kafka-schema-registry": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i", "--network", "host",
        "-e", "SCHEMA_REGISTRY_URL",
        "aywengo/kafka-schema-reg-mcp:stable"
      ],
      "env": {
        "SCHEMA_REGISTRY_URL": "http://localhost:8081"
      }
    }
  }
}
⁠Multi-Registry
{
  "mcpServers": {
    "kafka-schema-registry-multi": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i", "--network", "host",
        "-e", "SCHEMA_REGISTRY_NAME_1", "-e", "SCHEMA_REGISTRY_URL_1",
        "-e", "SCHEMA_REGISTRY_NAME_2", "-e", "SCHEMA_REGISTRY_URL_2", "-e", "VIEWONLY_2",
        "aywengo/kafka-schema-reg-mcp:stable"
      ],
      "env": {
        "SCHEMA_REGISTRY_NAME_1": "development",
        "SCHEMA_REGISTRY_URL_1": "http://localhost:8081",
        "SCHEMA_REGISTRY_NAME_2": "production", 
        "SCHEMA_REGISTRY_URL_2": "http://localhost:8082",
        "VIEWONLY_2": "true"
      }
    }
  }
}

ā šŸ—£ļø Natural Language Usage

With Claude Desktop, use natural language commands:

"List all schema contexts"
"Register a user schema with id, name, and email fields"
"Migrate all schemas from staging to production"
"Compare development and production registries"
"Export all schemas from the production context"
"Check if my updated schema is compatible"

ā šŸ”§ Configuration

⁠Environment Variables
VariableDescriptionExample
SCHEMA_REGISTRY_URLSingle registry endpointhttp://localhost:8081
SCHEMA_REGISTRY_NAME_XRegistry alias (X=1-8)production
SCHEMA_REGISTRY_URL_XRegistry endpoint (X=1-8)http://prod:8081
VIEWONLY_XPer-registry viewonly (X=1-8)true
SCHEMA_REGISTRY_USER_XUsername (X=1-8)user
SCHEMA_REGISTRY_PASSWORD_XPassword (X=1-8)pass

ā šŸ“‹ Key MCP Tools

  • Schema Operations: register_schema, get_schema, check_compatibility
  • Context Management: list_contexts, create_context, migrate_context
  • Multi-Registry: compare_registries, migrate_schema, test_registry_connection
  • Configuration: update_global_config, get_subject_config
  • Export: export_schema, export_context, export_global
  • Task Management: get_task_progress, list_all_active_tasks

ā šŸ”’ VIEWONLY Mode

Set VIEWONLY=true for production safety:

  • āœ… Allowed: Schema browsing, compatibility checking, exports
  • āŒ Blocked: Schema registration, deletion, configuration changes

ā šŸš€ Context Migration

The migrate_context tool generates ready-to-run Docker commands using the external kafka-schema-reg-migrator⁠:

"Migrate staging context to production"
→ Returns: docker run command with automatic credential mapping
→ Features: Copy-paste execution, no file setup required

Ready to start? Pull the Docker image and configure Claude Desktop to manage your Kafka Schema Registry with natural language! šŸš€

Tag summary

Content type

Image

Digest

sha256:83570cba0…

Size

93.9 MB

Last updated

24 days ago

docker pull aywengo/kafka-schema-reg-mcp