mcp-kafka-connect proxy
mcp-kafka-connect proxy
The mcp-kafka-connect proxy binding forwards every matched tools/call, unmodified, to a single exit — typically an mcp-kafka-connect client connected to the Kafka Connect worker — optionally restricting individual tools or glob patterns to a guarded role first. Unlike client, a proxy binding does not connect to a Kafka Connect worker or take an options.server of its own, and performs no request translation; it only guards and forwards.
mcp_kafka_connect_proxy:
type: mcp-kafka-connect
kind: proxy
exit: kafka_connect_client
routes:
- when:
- tool: [ create_connector, delete_connector, restart_connector, pause_connector, resume_connector, stop_connector ]
guarded:
my_guard:
- kafka-connect:admin
- when:
- tool: "*"Configuration (* required)
exit*
string
Binding every matched tools/call is forwarded to, unconditionally.
exit: kafka_connect_clientoptions
object
Reserved for a future proxy-specific option. Currently has no usable properties.
routes
arrayofobject
Conditional mcp-kafka-connect proxy routes, matching by tool name or glob pattern and applying a guarded restriction before forwarding every matched tools/call unmodified to exit. Routes are evaluated in order; the first matching route wins. Omit routes entirely to forward every tools/call to exit unguarded.
routes:
- when:
- tool: delete_connector
guarded:
my_guard:
- kafka-connect:admin
- when:
- tool: "*"routes[].when*
arrayofobject
List of conditions (any match) restricting this route to particular tools. Required.
routes:
- when:
- tool: create_connector
- tool: delete_connectorwhen[].tool*
string,arrayofstring
Tool name matched by tools/call, or a * glob pattern matching many tool names in bulk (such as list_*). Required.
routes[].with
object
Reserved for a future per-route override. Currently has no effect: a matched tools/call is always forwarded unmodified.
routes[].guarded
objectas map of namedarrayofstring
Roles required by the named guard for a tools/call against this route. Roles for the same guard are unioned into one entry; roles naming a different guard add a separate entry that must also authorize.
routes:
- when:
- tool: delete_connector
guarded:
my_guard:
- kafka-connect:admintelemetry
object
Defines the desired telemetry for the binding.
telemetry.metrics
array
Telemetry metrics to track
telemetry:
metrics:
- stream.*telemetry.attributes
objectas map of namedstringproperties
Telemetry attributes to add to the binding metrics.

