True MCP server for Kafka Schema Registry with 50+ tools, OAuth authentication, remote deployment support, context management, elicitation capability, resource linking, and Claude Desktop integration
The Kafka Schema Registry MCP server has 11 tools with documented schemas and descriptions. Most tools follow verb-noun naming (register_schema, get_schema, compare_registries). Descriptions are present but vary in quality, some are clear and actionable (register_schema: 'Register a new schema version under the specified subject'), others are sparse (compare_registries: 'Compare two Schema Registry instances'). All tools have typed input parameters with descriptions. However, there are notable gaps: (1) No documented output schemas for any tool, critical for LLM planning and chaining. (2) Parameter descriptions lack specificity about formats, ranges, and constraints (e.g., 'schema_definition' is 'The schema definition as a dictionary' but does not specify expected keys, validation rules, or format details). (3) Error handling and recovery guidance are not visible in the tool definitions. (4) No evidence of idempotency declarations or dry-run support for write operations (except migrate_schema and migrate_context_interactive, which mention dry_run). The tool definitions are above baseline but fall short of A-grade production standards.
Compare contexts across two registries. Only available in multi-registry mode.
Compare two Schema Registry instances and show differences. Only available in multi-registry mode.
Export all subjects within a context.
Export a single schema in the specified format.
Export all versions of a subject.
Get a specific version of a schema.
NO DOCUMENTED OUTPUT SCHEMAS. All 11 tools lack explicit documentation of return types and fields. This prevents LLMs from planning multi-step workflows and extracting values for chaining. Pattern:tool-description and Pattern:response-shaper require output schema documentation.
PARAMETER DESCRIPTIONS LACK SPECIFICITY. Parameters like 'schema_definition' (object), 'format' (string with enum in description), and 'include_versions' (string with enum in description) lack formal constraints. These should be JSON Schema enums, patterns, or constraints, not free-text descriptions. This invites LLM hallucination of invalid values.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 59 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 36 | 2025-06-18+ | v1 |
Get all versions of a schema for a subject.
Interactive context migration with elicitation for missing preferences. When migration preferences are not specified, this tool will elicit the required configuration from the user.
Migrate a schema from one registry to another. Only available in multi-registry mode. MEDIUM-DURATION OPERATION - Uses task queue pattern. This operation runs asynchronously and returns a task_id immediately. Use get_task_status(task_id) to monitor progress and get results.
Register a new schema version under the specified subject.
Interactive schema registration with elicitation for missing field definitions. When schema_definition is incomplete or missing fields, this tool will elicit the required information from the user interactively.
DUPLICATE TOOLS WITH NEAR-IDENTICAL SIGNATURES. 'register_schema' and 'register_schema_interactive' have the same input schema. The descriptions claim '_interactive' version 'elicits' missing fields, but the input schema does not show how elicitation works (no Multi-Round-Trip Request pattern, no resource links). This violates pattern:tool (single responsibility) and wastes LLM reasoning cycles deciding between similar tools.
NO ERROR HANDLING GUIDANCE. Tool definitions do not specify what errors are possible, whether they are retryable, or what the LLM should do next. E.g., if register_schema hits a validation error, should the LLM retry? Call register_schema_interactive? Adjust the schema? No guidance.
MISSING PAGINATION PARAMETERS. 'get_schema_versions', 'export_subject', and 'export_context' likely return multiple items but lack limit, offset, or cursor parameters. Without pagination, large results exhaust context windows. Pattern:paginated-result requires pagination support.
INCOMPLETE TOOL INVENTORY. Tool 'migrate_schema' description references 'get_task_status(task_id)' to monitor progress, but this tool is not listed in the 11 tools. This suggests either: (a) the inventory is incomplete, or (b) the tool is missing. Either way, agents cannot implement the advertised workflow.
VAGUE 'ELICITATION' CLAIMS. Two tools ('register_schema_interactive', 'migrate_context_interactive') claim to support 'elicitation' but neither shows Multi-Round-Trip Request patterns (result: 'input_required') or resource linking. It is unclear how elicitation actually works, is it in-tool prompting? Resource links? Without visibility into the implementation, LLMs cannot predict when to use these tools.
NO IDEMPOTENCY DECLARATIONS. Write tools (register_schema, register_schema_interactive, migrate_schema, migrate_context_interactive) do not declare idempotency or safe-retry semantics. Agents need to know: is it safe to retry this call? Will it create duplicate records? Pattern:idempotent-operation requires clarity.
SPARSE DESCRIPTIONS FOR COMPARISON TOOLS. 'compare_registries' and 'compare_contexts_across_registries' have minimal descriptions (under 80 chars) and do not explain what fields are compared, what format the output takes, or when to use one vs the other. LLMs may pick the wrong tool.