README
🚀 Kafka MCP 服务器
Kafka MCP 服务器是 Model Context Protocol (MCP) 的服务器实现,可与 Apache Kafka 集成,支持通过自然语言(LLMs)与 Kafka 集群交互,为操作 Kafka 集群提供了便捷途径。
🚀 快速开始
先决条件
您需要 Docker 或 Golang 来本地运行 MCP 服务器。
启动 Kafka 集群
您需要访问一个 Kafka 集群。可按照 quickstart 文档操作:
docker pull apache/kafka:4.0.0
docker run -p 9092:9092 apache/kafka:4.0.0
现在 Kafka 可以通过 localhost:9092 访问。
使用 Claude Desktop
Docker 方式
{
"mcpServers": {
"kafka": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"KAFKA_MCP_BOOTSTRAP_SERVERS",
"ghcr.io/cefboud/kafka-mcp-server"
],
"env": {
"KAFKA_MCP_BOOTSTRAP_SERVERS": "localhost:9092"
}
}
}
}
本地构建方式
cd <工作目录>
git clone https://github.com/CefBoud/kafka-mcp-server.git
cd kafka-mcp-server
go build -o kafka-mcp-server cmd/kafka-mcp-server/main.go
{
"mcpServers": {
"kafka": {
"command": "<工作目录>/kafka-mcp-server/kafka-mcp-server",
"args": [
"stdio"
],
"env": {
"KAFKA_MCP_BOOTSTRAP_SERVERS": "localhost:9092"
}
}
}
}
选项说明
--bootstrap-servers string 分隔的 Kafka 服务器列表,用于连接。
--enable-command-logging 开启此选项后,服务器将记录所有命令请求和响应到日志文件中
--log-file string 日志文件路径
--read-only 限制服务器仅执行只读操作
所有选项都可以作为环境变量传递,大写,使用下划线替换连字符,并以 MCP_KAFKA_ 为前缀。例如,--bootstrap-servers 转换为 MCP_KAFKA_BOOTSTRAP_SERVERS。
✨ 主要特性
可用的 MCP 工具
- [x] 列出主题
- [x] 创建主题
- [x] 消费消息。
- [x] 生产消息。
- [x] 描述集群( broker 和 controller 的列表)
- [x] 列出消费者组及其滞后。
- [x] 获取主题的最早和最新偏移量(GetOffsetShell)
- [ ] 重置消费者组偏移量。
- [ ] Kafka Connect ??
- [ ] Schema Registry ??
🔀 MultiplexTool
运行多个顺序工具,特别是当每个工具依赖于前一个的输出时,可能会非常耗时和繁琐,这需要在客户端和服务器之间进行多次往返。MultiplexTool 通过允许客户端将一列表工具调用批量为一个请求,按顺序执行它们来解决此问题。它支持工具之间的动态依赖关系,通过使用基于提示的占位符让您可以引用早期输出。
如果工具输入取决于先前的结果,客户端可以使用 PROMPT_ARGUMENT: 格式通过提示生成该输入(当前仅支持 Gemini)。
示例:
"userId": "PROMPT_ARGUMENT: 创建的用户的 ID"
CLI 选项:
--enable-multiplex启用多路复用功能--multiplex-config string指定多路复用配置文件路径
配置示例
{
"mcpServers": {
"kafka": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"KAFKA_MCP_BOOTSTRAP_SERVERS",
"ghcr.io/cefboud/kafka-multiplex-server:latest"
],
"env": {
"KAFKA_MCP_BOOTSTRAP_SERVERS": "localhost:9092",
"GEMINI_API_KEY": "....."
}
}
}
}
📄 许可证
知识产权
- github.com/github/github-mcp-server
- github.com/mark3labs/mcp-go
- github.com/IBM/sarama
微信扫一扫