使用说明
Kafka MCP服务器
Kafka MCP服务器是一个 模型上下文协议(MCP) 该服务器提供与Apache Kafka的集成,以使用自然语言(LLM)与Kafka集群进行交互。
先决条件
您需要Docker或Golang在本地运行MCP服务器。
入门指南
您需要访问Kafka集群。跟随 快速入门 医生:
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 <workdir>
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": "<workdir>/kafka-mcp-server/kafka-mcp-server",
"args": [
"stdio",
],
"env": {
"KAFKA_MCP_BOOTSTRAP_SERVERS": "localhost:9092"
}
}
}
}
选项:
--bootstrap-servers string Comma-separated list of the Kafka servers to connect to.
--enable-command-logging When enabled, the server will log all command requests and responses to the log file
--log-file string Path to log file
--read-only Restrict the server to read-only operations
所有选项都可以作为环境变量传递,大写,连字符替换为下划线,前缀为 MCP_KAFKA_ 例如。, --bootstrap-servers 成为 MCP_KAFKA_BOOTSTRAP_SERVERS.
可用的MCP工具
- [x] 列出主题
- [x] 创建主题
- [x] 消费消息。
- [x] 生成消息。
- [x] 描述集群(代理和控制器列表)
- [x] 列出消费者群体及其滞后情况。
- [x] 获取主题的最早和最新偏移量(GetOffsetShell)
- []重置消费者组偏移。
- []Kafka Connect??
- []架构注册表??
🔀 多路工具
运行许多顺序工具,特别是当每个工具都依赖于前一个工具的输出时,可能会很乏味和耗时。这需要客户端和服务器之间进行多次往返/
多路工具 通过允许客户端将一系列工具调用批处理到单个请求中,并按顺序执行它们,解决了这个问题。它支持工具之间的动态依赖关系,允许您使用基于提示的占位符引用早期的输出。
如果工具输入依赖于之前的结果,则客户端使用 PROMPT_ARGUMENT: 通过LLM的提示动态生成该输入的格式(目前仅支持Gemini)。
例子:
"userId": "PROMPT_ARGUMENT: the ID of the created user"
CLI标志:
--enable-multiplex:启用工具调用的多路复用。--multiplex-model:指定型号(例如。gemini)用于推断PROMPT_ARGUMENTs.需要GEMINI_API_KEYenv变量。
{
"mcpServers": {
"kafka": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"KAFKA_MCP_BOOTSTRAP_SERVERS",
"ghcr.io/cefboud/kafka-mcp-server",
"--enable-multiplex",
"--multiplex-model",
"gemini"
],
"env": {
"KAFKA_MCP_BOOTSTRAP_SERVERS": "localhost:9092",
"GEMINI_API_KEY": "....."
}
}
}
}
鸣谢
- github/github/ithub-mcp服务器
- github/mark3labs/mcp-go
- github/IBM/sarama
