Comprehensive MCP server for Kafka Schema Registry operations. Features multi-registry support, schema contexts, migration tools, OAuth authentication, and 57+ tools for complete schema management. Supports SLIM_MODE for optimal performance.
29 Tools
Version 4.43 or later needs to be installed to add the server automatically
Use cases
About
Comprehensive MCP server for Kafka Schema Registry operations. Features multi-registry support, schema contexts, migration tools, OAuth authentication, and 57+ tools for complete schema management. Supports SLIM_MODE for optimal performance.
| Attribute | Details |
|---|---|
| Docker Image | aywengo/kafka-schema-reg-mcp:stable |
| Author | aywengo |
| Repository | https://github.com/aywengo/kafka-schema-reg-mcp |
| Attribute | Details |
|---|---|
| Dockerfile | https://github.com/aywengo/kafka-schema-reg-mcp/blob/e145fb8dd68d2246f50395572f6ca5c9f100e53c/Dockerfile |
| Commit | e145fb8dd68d2246f50395572f6ca5c9f100e53c |
| Docker Image built by | aywengo |
| Docker Scout Health Score | Not available |
| Verify Signature | Not available |
| Licence | MIT License |
| Tools provided by this Server | Short Description |
|---|---|
check_compatibility | Check if a schema is compatible with the latest version. |
count_contexts | Count the number of contexts in a registry. |
count_schema_versions | Count the number of versions for a specific schema. |
count_schemas | Count the number of schemas in a context or registry. |
create_context | Create a new schema context. |
export_schema | Export a single schema in the specified format. |
export_subject | Export all versions of a subject. |
generate_resource_templates | Generate resource URI templates for your specific configuration. |
get_default_registry | Get the current default registry. |
get_global_config | Get global configuration settings. |
get_mcp_compliance_status_tool | Get MCP 2025-06-18 specification compliance status and configuration details. |
get_mode | Get the current mode of the Schema Registry. |
get_registry_info | Get detailed information about a specific registry. |
get_schema | Get a specific version of a schema. |
get_schema_by_id | Get a schema by its globally unique ID. |
get_schema_versions | Get all versions of a schema for a subject. |
get_subject_config | Get configuration settings for a specific subject. |
get_subject_mode | Get the operational mode for a specific subject. |
get_subjects_by_schema_id | Get subjects and versions associated with a schema ID. |
list_available_resources | List all available MCP resources and their usage patterns. |
list_contexts | List all available schema contexts. |
list_registries | List all configured Schema Registry instances. |
list_subjects | List all subjects, optionally filtered by context. |
ping | Respond to MCP ping requests with pong. |
register_schema | Register a new schema version. |
set_default_registry | Set the default registry. |
suggest_resource_for_tool | Suggest the appropriate resource to use instead of a removed tool. |
test_all_registries | Test connections to all configured registries. |
test_registry_connection | Test connection to a specific registry. |
check_compatibilityCheck if a schema is compatible with the latest version.
| Parameters | Type | Description |
|---|---|---|
schema_definition | object | |
subject | string | |
context | stringoptional | |
registry | stringoptional | |
schema_type | stringoptional |
count_contextsCount the number of contexts in a registry.
| Parameters | Type | Description |
|---|---|---|
registry | stringoptional |
count_schema_versionsCount the number of versions for a specific schema.
| Parameters | Type | Description |
|---|---|---|
subject | string | |
context | stringoptional | |
registry | stringoptional |
count_schemasCount the number of schemas in a context or registry.
| Parameters | Type | Description |
|---|---|---|
context | stringoptional | |
registry | stringoptional |
create_contextCreate a new schema context.
| Parameters | Type | Description |
|---|---|---|
context | string | |
registry | stringoptional |
export_schemaExport a single schema in the specified format.
| Parameters | Type | Description |
|---|---|---|
subject | string | |
context | stringoptional | |
format | stringoptional | |
registry | stringoptional | |
version | stringoptional |
export_subjectExport all versions of a subject.
| Parameters | Type | Description |
|---|---|---|
subject | string | |
context | stringoptional | |
include_config | booleanoptional | |
include_metadata | booleanoptional | |
include_versions | stringoptional | |
registry | stringoptional |
generate_resource_templatesGenerate resource URI templates for your specific configuration.
| Parameters | Type | Description |
|---|---|---|
context | stringoptional | |
registry_name | stringoptional | |
subject | stringoptional |
get_default_registryGet the current default registry.
get_global_configGet global configuration settings.
NOTE: This tool is maintained for backward compatibility. Consider using the 'registry://{name}/config' resource instead for better performance.
| Parameters | Type | Description |
|---|---|---|
context | stringoptional | |
registry | stringoptional |
get_mcp_compliance_status_toolGet MCP 2025-06-18 specification compliance status and configuration details.
Returns information about JSON-RPC batching status, protocol version, header validation, and migration guidance.
get_modeGet the current mode of the Schema Registry.
NOTE: This tool is maintained for backward compatibility. Consider using the 'registry://mode' resource instead for better performance.
| Parameters | Type | Description |
|---|---|---|
context | stringoptional | |
registry | stringoptional |
get_registry_infoGet detailed information about a specific registry.
NOTE: This tool is maintained for backward compatibility. Consider using the 'registry://info/{name}' resource instead for better performance.
| Parameters | Type | Description |
|---|---|---|
registry | stringoptional |
get_schemaGet a specific version of a schema.
NOTE: This tool is maintained for backward compatibility. Consider using the 'schema://{name}/{context}/{subject}' resource instead for better performance.
| Parameters | Type | Description |
|---|---|---|
subject | string | |
context | stringoptional | |
registry | stringoptional | |
version | stringoptional |
get_schema_by_idGet a schema by its globally unique ID.
| Parameters | Type | Description |
|---|---|---|
schema_id | integer | The globally unique schema ID |
registry | stringoptional | Optional registry name (ignored in single-registry mode) |
get_schema_versionsGet all versions of a schema for a subject.
NOTE: This tool is maintained for backward compatibility. Consider using the 'schema://{name}/{context}/{subject}/versions' resource instead for better performance.
| Parameters | Type | Description |
|---|---|---|
subject | string | |
context | stringoptional | |
registry | stringoptional |
get_subject_configGet configuration settings for a specific subject.
NOTE: This tool is maintained for backward compatibility. Consider using the 'subject://{name}/{context}/{subject}/config' resource instead for better performance.
| Parameters | Type | Description |
|---|---|---|
subject | string | |
context | stringoptional | |
registry | stringoptional |
get_subject_modeGet the operational mode for a specific subject.
NOTE: This tool is maintained for backward compatibility. Consider using the 'subject://{name}/{context}/{subject}/mode' resource instead for better performance.
| Parameters | Type | Description |
|---|---|---|
subject | string | |
context | stringoptional | |
registry | stringoptional |
get_subjects_by_schema_idGet subjects and versions associated with a schema ID.
| Parameters | Type | Description |
|---|---|---|
schema_id | integer | The globally unique schema ID |
registry | stringoptional | Optional registry name (ignored in single-registry mode) |
list_available_resourcesList all available MCP resources and their usage patterns.
list_contextsList all available schema contexts.
NOTE: This tool is maintained for backward compatibility. Consider using the 'registry://{name}/contexts' resource instead for better performance.
| Parameters | Type | Description |
|---|---|---|
registry | stringoptional |
list_registriesList all configured Schema Registry instances.
NOTE: This tool is maintained for backward compatibility. Consider using the 'registry://names' resource instead for better performance.
list_subjectsList all subjects, optionally filtered by context.
NOTE: This tool is maintained for backward compatibility. Consider using the 'registry://{name}/subjects' resource instead for better performance.
| Parameters | Type | Description |
|---|---|---|
context | stringoptional | |
registry | stringoptional |
pingRespond to MCP ping requests with pong.
This tool implements the standard MCP ping/pong protocol for server health checking. MCP proxies and clients use this to verify that the server is alive and responding.
register_schemaRegister a new schema version.
| Parameters | Type | Description |
|---|---|---|
schema_definition | object | |
subject | string | |
context | stringoptional | |
registry | stringoptional | |
schema_type | stringoptional |
set_default_registrySet the default registry.
| Parameters | Type | Description |
|---|---|---|
registry_name | string |
suggest_resource_for_toolSuggest the appropriate resource to use instead of a removed tool.
| Parameters | Type | Description |
|---|---|---|
tool_name | string |
test_all_registriesTest connections to all configured registries.
NOTE: This tool is maintained for backward compatibility. Consider using the 'registry://status' resource instead for better performance.
test_registry_connectionTest connection to a specific registry.
NOTE: This tool is maintained for backward compatibility. Consider using the 'registry://status/{name}' resource instead for better performance.
| Parameters | Type | Description |
|---|---|---|
registry | stringoptional |
{
"mcpServers": {
"kafka-schema-reg-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"SCHEMA_REGISTRY_URL",
"-e",
"SLIM_MODE",
"-e",
"VIEWONLY",
"-e",
"SCHEMA_REGISTRY_USER",
"-e",
"SCHEMA_REGISTRY_PASSWORD",
"aywengo/kafka-schema-reg-mcp:stable"
],
"env": {
"SCHEMA_REGISTRY_URL": "http://localhost:8081",
"SLIM_MODE": "true",
"VIEWONLY": "false",
"SCHEMA_REGISTRY_USER": "<REGISTRY_USERNAME>",
"SCHEMA_REGISTRY_PASSWORD": "<REGISTRY_PASSWORD>"
}
}
}
}