
Kafka Schema Registry MCP Server
Manage Kafka Schema Registry from Claude — register, evolve, compare, migrate, and export Avro schemas in plain language.
Add to your client
Copy the config for your MCP client and paste it into its config file.
docker pull aywengo/kafka-schema-reg-mcp:stablePaste into ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"kafka-schema-registry-mcp-server": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--network",
"host",
"-e",
"SCHEMA_REGISTRY_URL",
"-e",
"SCHEMA_REGISTRY_USER",
"-e",
"SCHEMA_REGISTRY_PASSWORD",
"aywengo/kafka-schema-reg-mcp:stable"
],
"env": {
"SCHEMA_REGISTRY_URL": "http://localhost:38081",
"SCHEMA_REGISTRY_USER": "",
"SCHEMA_REGISTRY_PASSWORD": ""
}
}
}
}Requires Docker to be installed and running.
Step-by-step guides: Add to Claude Desktop · Add to Cursor · Add to Windsurf
Before you start
- Docker (recommended) or Python 3.10+
- A reachable Kafka Schema Registry instance (SCHEMA_REGISTRY_URL)
- Optional: OAuth 2.1 provider (Azure AD, Google, Keycloak, Okta, or GitHub) for authentication
About Kafka Schema Registry MCP Server
Connects MCP clients like Claude Desktop, Cursor, and VS Code to one or more Kafka Schema Registry instances, letting you manage Avro schemas, contexts, compatibility, migrations, and exports through natural language. Runs as a Docker container or local Python process, speaking JSON-RPC over stdio.
Tools & capabilities (46)
pingMCP ping/pong server health check.
set_default_registrySet the default registry (admin scope).
get_default_registryGet the current default registry.
register_schemaRegister a new schema version (write scope).
check_compatibilityCheck schema compatibility (BACKWARD, FORWARD, FULL).
create_contextCreate a new schema context for environment isolation.
delete_contextDelete a context (admin scope).
delete_subjectDelete a subject and all its versions (admin scope).
update_global_configUpdate global registry configuration (admin scope).
update_subject_configUpdate subject-level configuration (admin scope).
add_subject_aliasCreate an alias subject pointing to an existing subject.
delete_subject_aliasRemove an alias subject.
update_modeUpdate registry mode (admin scope).
update_subject_modeUpdate subject mode (admin scope).
count_contextsCount contexts.
count_schemasCount schemas.
count_schema_versionsCount schema versions.
get_registry_statisticsGet comprehensive registry statistics.
export_schemaExport a single schema.
export_subjectExport all versions of a subject.
export_contextExport all subjects in a context.
export_globalExport all contexts and schemas.
migrate_schemaMigrate a schema between registries (admin scope).
migrate_contextMigrate a context between registries (admin scope).
compare_registriesCompare two registries.
compare_contexts_across_registriesCompare contexts across registries.
find_missing_schemasFind schemas missing between registries.
clear_context_batchClear a context with batch operations (admin scope).
clear_multiple_contexts_batchClear multiple contexts in batch (admin scope).
list_registriesList all configured registries (resource: registry://names).
get_registry_infoGet registry information (resource: registry://info/{name}).
test_registry_connectionTest a registry connection (resource: registry://status/{name}).
test_all_registriesTest all registry connections (resource: registry://status).
list_subjectsList all subjects (resource: registry://{name}/subjects).
get_schemaGet schema content (resource: schema://{name}/{context}/{subject}).
get_schema_versionsGet schema versions (resource: schema://{name}/{context}/{subject}/versions).
get_global_configGet global configuration (resource: registry://{name}/config).
get_modeGet registry mode (resource: registry://mode).
list_contextsList all contexts (resource: registry://{name}/contexts).
get_subject_configGet subject configuration.
get_subject_modeGet subject mode.
list_available_resourcesList all available MCP resources.
guided_schema_migrationStart an interactive schema migration wizard (admin scope).
guided_context_reorganizationStart an interactive context reorganization wizard (admin scope).
guided_disaster_recoveryStart an interactive disaster recovery wizard (admin scope).
check_viewonly_modeCheck whether a registry is in viewonly mode.
What this server can do
Kafka Schema Registry MCP Server provides tools for these capabilities — tap one to see every MCP server that does the same:
When to use it
- Register and evolve Avro schemas from Claude using natural language with automatic compatibility checking.
- Manage multiple Schema Registry environments (dev/staging/prod) as separate contexts or registries with per-registry view-only safety.
- Migrate schemas and contexts between registries with pre-migration backups and post-migration verification.
- Compare registries to find missing or divergent schemas before promoting changes.
- Export schemas (JSON, Avro IDL) for backup, documentation, or disaster-recovery workflows.
Security notes
Supports optional OAuth 2.1 authentication (ENABLE_AUTH=true with AUTH_ISSUER_URL and AUTH_AUDIENCE) with read/write/admin scope-based authorization. Production safety features include VIEWONLY mode (per-registry), SSRF protection via URL validation with configurable localhost access, and per-registry access controls. The config-examples block runs the server via Docker with --network host; restrict SCHEMA_REGISTRY_URL and credentials appropriately for production registries.
Kafka Schema Registry MCP Server FAQ
What is SLIM_MODE and when should I use it?
SLIM_MODE (SLIM_MODE=true) reduces the exposed tool set from 50+ to ~9 essential tools, lowering token usage and speeding up LLM responses. It is recommended for most day-to-day and read-only operations; disable it (SLIM_MODE=false) when you need migrations, batch cleanup, or guided workflows.
Does it support multiple Schema Registry instances?
Yes. It supports up to 8 registries simultaneously via numbered environment variables (e.g. SCHEMA_REGISTRY_NAME_1 / SCHEMA_REGISTRY_URL_1), each with independent VIEWONLY settings.
How do I run it?
Pull and run the Docker image aywengo/kafka-schema-reg-mcp:stable, or clone the repo and run python kafka_schema_registry_unified_mcp.py with requirements installed. Configure Claude Desktop with the provided config-examples mcpServers block.
Is authentication supported?
Yes, optionally. Set ENABLE_AUTH=true with AUTH_ISSUER_URL and AUTH_AUDIENCE for OAuth 2.1, supporting Azure AD, Google, Keycloak, Okta, and GitHub with read/write/admin scopes.
Alternatives to Kafka Schema Registry MCP Server
Compare all alternatives →Official MCP server providing persistent, file-backed knowledge-graph memory across sessions.
Structured step-by-step reasoning tool for breaking problems into revisable thought sequences.
Fully managed remote server for AWS docs, blogs, What's-New and Well-Architected guidance — no key.
Compare Kafka Schema Registry MCP Server with: