Apache Kafka (REST Proxy / native) API + MCP Server + A2A Server for Agentic AI
Kafka MCP exhibits severe definition quality gaps. All 8 tools use a generic action+params_json pattern that obscures actual parameters from LLMs. Tool descriptions are present but minimal (50-80 chars). No input schemas are visible, parameters are documented only as free-form JSON strings in descriptions, making them unparseable by LLM tool-calling systems. No output schemas documented. Error handling is absent. The design violates the single-responsibility principle: kafka_topics bundles list/create/describe/delete/configs/update_config into one tool; kafka_records combines produce/consume/subscribe/commit into one. This forces LLMs to construct complex JSON payloads and guess at valid action strings.
Inspect clusters/brokers and manage ACLs via the REST Proxy.
Inspect Kafka consumer groups and their lag.
Inspect Kafka consumer groups via the native direct-to-broker client.
Produce or consume records via the native direct-to-broker client.
Manage Kafka topics via the native direct-to-broker client.
List partitions for a topic or get a single partition.
Produce or consume records via the Confluent REST Proxy.
No input schemas visible. All tools accept only 'action' (string) and 'params_json' (string). Actual parameters are documented as JSON examples in description text, not as structured schema. LLMs cannot parse or validate these, they must construct raw JSON strings by hand.
Multiple responsibilities per tool. kafka_topics handles list/create/describe/delete/configs/update_config (6 actions). kafka_records handles produce/create_consumer/subscribe/consume/commit/delete_consumer (6 actions). Each action has different parameter shapes, forcing LLMs to reason about which action to invoke and construct the correct JSON payload.
No output schemas documented. Tool descriptions do not specify what fields are returned or their types. LLMs cannot plan downstream tool calls or extract required IDs (e.g., topic name, partition ID, group name) for chaining.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 33 | <=2025-11-25 | v2 |
Manage Kafka topics via the Confluent REST Proxy.
No error handling guidance. Tool descriptions do not explain what errors can occur, whether they are retryable, or what the LLM should do next. No recovery paths documented.
Descriptions are minimal (30 - 80 chars) and lack context. They state WHAT the tool does but not WHEN to use it, what prerequisites exist, or how it differs from similar tools (e.g., kafka_topics vs kafka_native_topics). Baseline for A+ tools is 50 - 200 chars with clear intent guidance.