Labsco
MCP SERVER

Kafka Schema Registry

by aywengo

Manage Kafka Schema Registry in plain language — register and check compatibility, migrate schemas between registries, and keep production read-only — across up to 8 registries at once.

Data Platform: Pipelines, Warehousing, BI & Governance
Summary
`VIEWONLY` per registry is the setting that makes this safe to point at production.

Registering an incompatible schema is the kind of mistake that takes a pipeline down, and per-registry read-only means an assistant can inspect production while only staging accepts writes. Turn on `SLIM_MODE` too unless you specifically need migration and administration: 50+ tool schemas is a lot of context to carry for what is usually a register-and-check-compatibility loop.

What it is

An MCP server for Confluent-style Schema Registry, built around multi-registry work. It groups subjects into contexts so production and staging stay logically separated, migrates schemas and whole contexts between registries with backup and verification, exports in JSON and Avro IDL, and can mark any registry read-only. A `SLIM_MODE` cuts the exposed tool count when a full surface overwhelms the model.

What you get
  • Schemas registered and compatibility checked before anything lands, with contexts created and selected around them — `register_schema`, `check_compatibility`, `create_context`, `list_contexts`, `list_subjects`, `get_schema`, `get_schema_versions`
  • Migration between registries and across contexts, with batch clearing for the cleanup afterwards — `migrate_schema`, `migrate_context`, `clear_context_batch`, `clear_multiple_contexts_batch`
  • Export for backup and documentation at subject, context and global scope — `export_schema`, `export_subject`, `export_context`, `export_global`
  • Multi-registry operation: list the configured registries, test one or all connections, set the default, and compare registries or the same context across two of them — `list_registries`, `get_registry_info`, `test_registry_connection`, `test_all_registries`, `set_default_registry`, `get_default_registry`, `compare_registries`, `compare_contexts_across_registries`, `find_missing_schemas`
  • Configuration and mode read and written at global and subject level, plus counts and statistics — `get_global_config`, `update_global_config`, `get_subject_config`, `update_subject_config`, `get_mode`, `update_mode`, `get_subject_mode`, `update_subject_mode`, `count_contexts`, `count_schemas`, `count_schema_versions`, `get_registry_statistics`
  • Subject aliases and deletions — `add_subject_alias`, `delete_subject_alias`, `delete_subject`, `delete_context`
  • Guided multi-step workflows for the operations that go wrong when improvised — `guided_schema_migration`, `guided_context_reorganization`, `guided_disaster_recovery`, `list_available_workflows`, `get_workflow_status`
  • Interactive variants that ask for the fields they are missing rather than failing — `register_schema_interactive`, `check_compatibility_interactive`, `create_context_interactive`, `migrate_context_interactive`, `export_global_interactive`
Requirements

Access to a Schema Registry. The recommended path is Docker: `aywengo/kafka-schema-reg-mcp:stable` with `SCHEMA_REGISTRY_URL` set. `VIEWONLY` makes a registry read-only and is the production safety switch; with multiple registries the settings are numbered — `SCHEMA_REGISTRY_URL_1`, `VIEWONLY_1`, `SCHEMA_REGISTRY_URL_2`, `VIEWONLY_2` and so on, up to 8 instances. `SLIM_MODE=true` reduces the exposed surface from 50+ tools to around 9 essential ones, which the README recommends for most use cases. OAuth 2.1 with scope-based permissions is available for enterprise deployments. Ready-made client configurations live in the repository's `config-examples/` directory.

Setup effort

One command — docker run -e SCHEMA_REGISTRY_URL=http://localhost:8081 -e SLIM_MODE=true aywengo/kafka-schema-reg-mcp:stable