home / mcp / kafka schema registry mcp server
A comprehensive Message Control Protocol (MCP) server for Kafka Schema Registry.
Configuration
View docs{
"mcpServers": {
"aywengo-kafka-schema-reg-mcp": {
"command": "docker",
"args": [
"run",
"-e",
"SCHEMA_REGISTRY_URL=http://localhost:8081",
"aywengo/kafka-schema-reg-mcp:stable"
],
"env": {
"VIEWONLY": "false",
"SLIM_MODE": "true",
"SCHEMA_REGISTRY_URL": "http://localhost:8081"
}
}
}
}You are using a dedicated MCP server that provides tools for Kafka Schema Registry operations through a Model Context Protocol (MCP) interface. This server enables multi-registry management, schema contexts, export capabilities, and secure, scalable access for MCP clients such as Claude Desktop. It is designed to be integrated with your existing Schema Registry setup and accessed via MCP-compatible requests.
You will run the MCP server alongside your Kafka Schema Registry and connect your MCP client to it. Use the HTTP-based connection when you want to point the MCP client at a remote registry URL, or use a local STDIO configuration if you run the MCP server locally. Typical workflows include listing registries, inspecting subjects and schemas, registering new schemas, checking compatibility, creating contexts for production or staging, exporting schemas for backups, and migrating schemas between registries. You can operate in SLIM_MODE to reduce tool overhead for faster responses, or in full mode to access the complete set of MCP tools.
# Prerequisites: Docker (recommended) or Python environment for local run
# Option A: Docker (recommended)
docker pull aywengo/kafka-schema-reg-mcp:stable
docker run -e SCHEMA_REGISTRY_URL=http://localhost:8081 -e SLIM_MODE=true aywengo/kafka-schema-reg-mcp:stable
# Option A (full feature set, without slim mode)
docker run -e SCHEMA_REGISTRY_URL=http://localhost:8081 aywengo/kafka-schema-reg-mcp:stable
# Option B: Local Python (if you prefer running locally without Docker)
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 (for testing with Registry)
docker-compose up -dYou can operate in a single-registry mode or enable multi-registry mode to manage up to eight registries. Single-registry mode uses a single SCHEMA_REGISTRY_URL, while multi-registry mode defines multiple registry names and URLs (for example development and production) with per-registry safety settings such as VIEWONLY to enforce read-only access in production. For production environments, enable VIEWONLY for the production registry and use proper authentication (OAuth 2.1) as described in the security guidance.
Set global and per-registry options to control how the MCP server interacts with registries. You can enable SLIM_MODE to reduce the toolset exposed to clients for better performance, or disable it to access the full MCP tool suite for administrative tasks. Enable authentication via OAuth 2.1 when needed and configure safety features like VIEWONLY mode to protect production data. When configuring, specify the SCHEMA_REGISTRY_URL for the target registry and, if using multi-registry mode, provide per-registry URLs and safety settings.
If you encounter slow response times, consider enabling SLIM_MODE to reduce the number of exposed tools. For long-running operations such as migrations or bulk exports, monitor task progress and use cancellation options if available. Ensure the SCHEMA_REGISTRY_URL is reachable from the environment where the MCP server runs, and verify that OAuth scopes match the required read/write/admin permissions for your use cases.
MCP health check to ensure the server is responsive.
Set the default registry to use for operations.
Retrieve the current default registry.
Register a new schema version into a subject.
Check schema compatibility against a target registry context.
Create a new context to isolate environments like production or staging.
Export a single schema for backup or documentation.
Export all versions of a given subject.
Export all contexts and schemas across registries.
Migrate a schema between registries (admin).