mcp-kafka Binding
Bindingmcp-kafkaclientproxy
mcp-kafka Binding
Defines a binding exposing a fixed set of Kafka broker operations — producing and consuming records, managing topics and their configs, and inspecting brokers and consumer groups — as intrinsic MCP tools, with client or proxy behavior.
client
The client kind mcp-kafka binding connects directly to the Kafka cluster named by options.servers, with no upstream MCP or REST server and no per-tool schema authoring.
mcp_kafka_client:
type: mcp-kafka
kind: client
options:
servers:
- kafka.examples.dev:9092
routes:
- when:
- tool: create_topics
- tool: delete_topics
- tool: alter_topic_configs
- tool: alter_broker_configs
- tool: reset_offsets
guarded:
my_guard:
- kafka:admin
- when:
- tool: produce_message
topics: [ orders ]
guarded:
my_guard:
- kafka:write
- when:
- tool: consume_messages
topics: [ orders ]
- when:
- tool: describe_topic_configs
- tool: describe_broker_configs
- tool: list_topics
- tool: describe_topic
- tool: cluster_overview
- tool: list_brokers
- tool: describe_cluster
- tool: list_consumer_groups
- tool: describe_consumer_groupproxy
The proxy kind mcp-kafka binding routes the same fixed set of tools by tool name and topic to the matched route's own exit, without connecting to Kafka itself.
mcp_kafka_proxy:
type: mcp-kafka
kind: proxy
routes:
- exit: kafka_orders_client
when:
- tool: produce_message
topics: [ orders ]
- tool: consume_messages
topics: [ orders ]
- exit: kafka_shipments_client
when:
- tool: produce_message
topics: [ shipments ]
- tool: consume_messages
topics: [ shipments ]
- exit: kafka_admin_client
guarded:
my_guard:
- kafka:admin
when:
- tool: create_topics
- tool: delete_topics
- tool: alter_topic_configs
- tool: alter_broker_configs
