Skip to content

feat(binding-mcp-kafka): implement mcp_kafka proxy binding#1714

Open
jfallows wants to merge 4 commits into
developfrom
feature/1671-mcp-kafka
Open

feat(binding-mcp-kafka): implement mcp_kafka proxy binding#1714
jfallows wants to merge 4 commits into
developfrom
feature/1671-mcp-kafka

Conversation

@jfallows
Copy link
Copy Markdown
Contributor

@jfallows jfallows commented Apr 7, 2026

Summary

Closes #1671

Adds a new mcp_kafka proxy binding that bridges MCP (Model Context Protocol) streams to Apache Kafka, exposing Kafka broker operations as intrinsic MCP tools.

Supported tools

Tool Kafka mapping
produce merged stream with PRODUCE_ONLY capability
consume merged stream with FETCH_ONLY capability
list_topics meta stream
describe_topic meta stream
create_topic request / createTopics
delete_topic request / deleteTopics
list_consumer_groups request / listGroups
describe_consumer_group request / describeGroups
reset_offsets request / alterConsumerGroupOffsets
list_brokers request / describeCluster
describe_cluster request / describeCluster
cluster_overview request / describeCluster
describe_configs describe stream
alter_configs request / alterConfigs

New modules

  • runtime/binding-mcp-kafka/ — proxy binding implementation
  • specs/binding-mcp-kafka.spec/ — spec module with MCP IDL and JSON schema patch

Implementation notes

  • McpKafkaProxyFactory follows the standard flyweight-on-factory pattern (all *RO/*RW fields on the factory, non-static inner stream classes)
  • McpKafkaState provides bitmask helpers for initial/reply open/close lifecycle
  • Binding type name mcp_kafka (underscore convention for multi-word binding types)
  • Routes matched by when[].tool or when[].resource conditions via McpKafkaConditionConfigAdapter
  • Fully modular (module-info.java); all internal.* packages unexported; SPI registered via both META-INF/services/ and provides...with... in module-info

https://claude.ai/code/session_0174raBeXFTgt98bp4DTyRDm

claude added 4 commits April 7, 2026 05:29
Implements the foundational mcp binding module with server kind handler,
McpBeginEx IDL type, JSON schema patch, config adapters, and module-info.

Closes #1668

https://claude.ai/code/session_0174raBeXFTgt98bp4DTyRDm
…upOffsets APIs; extend KafkaMetaDataEx and KafkaDescribeBeginEx

- #1698: extend KafkaMetaDataEx with KafkaPartitionMetadata (replicas, isr arrays) and replicationFactor
- #1699: add KafkaResourceType enum to KafkaDescribeBeginEx, rename topic->name, replace KafkaConfig with KafkaConfigDetail (isDefault, isSensitive)
- #1700: add ListGroups (API key 16) support with KafkaListGroupsRequestBeginEx/ResponseBeginEx
- #1701: add DescribeGroups (API key 15) support with KafkaDescribeGroupsRequestBeginEx/ResponseBeginEx
- #1702: add AlterConsumerGroupOffsets (API key 53) support with request/response begin extensions

Implements #1698, #1699, #1700, #1701, #1702

https://claude.ai/code/session_0174raBeXFTgt98bp4DTyRDm
Adds a new mcp_kafka proxy binding that bridges MCP (Model Context
Protocol) streams to Apache Kafka, exposing Kafka broker operations
as intrinsic MCP tools. Supports produce, consume, list_topics,
describe_topic, create_topic, delete_topic, list_consumer_groups,
describe_consumer_group, reset_offsets, list_brokers, describe_cluster,
cluster_overview, describe_configs, and alter_configs tools.

https://claude.ai/code/session_0174raBeXFTgt98bp4DTyRDm
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

binding-mcp-kafka: implement mcp_kafka · proxy binding

2 participants