mcpField
K
kafka-mcp-server

kafka-mcp-server

本地服务
cefboud.com云与基础设施380 周前更新

关于 kafka-mcp-server

kafka-mcp-server 将 MCP 客户端连接到 Apache Kafka 集群,以便通过自然语言交互。它支持主题和消息操作、集群信息查看及消费者组信息查询。

主要功能

  1. 01列出和创建主题
  2. 02消费和生产消息
  3. 03查看代理与控制器信息
  4. 04列出消费者组及延迟
  5. 05读取最早和最新偏移量
  6. 06批量执行顺序工具调用

适用场景

  1. 01查看 Kafka 集群中的主题
  2. 02生产或消费 Kafka 消息
  3. 03检查消费者组延迟
  4. 04在单个请求中执行有依赖的工具调用

MCP 相关

该服务通过 MCP 工具提供 Kafka 集群操作。可选的 MultiplexTool 能按顺序批量调用工具,并利用先前输出确定后续输入。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"kafka-mcp-server-cefboud": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"KAFKA_MCP_BOOTSTRAP_SERVERS",
"ghcr.io/cefboud/kafka-mcp-server"
],
"env": {
"KAFKA_MCP_BOOTSTRAP_SERVERS": "<KAFKA_MCP_BOOTSTRAP_SERVERS>"
}
}
}
}
启动命令docker run -i --rm -e KAFKA_MCP_BOOTSTRAP_SERVERS ghcr.io/cefboud/kafka-mcp-server
需要配置的环境变量
KAFKA_MCP_BOOTSTRAP_SERVERS

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocighcr.io/cefboud/kafka-mcp-server

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Kafka MCP 服务

Kafka MCP 服务是一个 模型上下文协议(MCP) 服务,提供与 Apache Kafka 的集成,以便使用自然语言(大模型)与 Kafka 集群交互。

演示

前提条件

你需要 Docker 或 Golang,才能在本地运行 MCP 服务。

开始使用

你需要能够访问 Kafka 集群。请按照快速入门文档操作:

 docker pull apache/kafka:4.0.0
 docker run -p 9092:9092 apache/kafka:4.0.0

现在可以通过 localhost:9092 访问 Kafka。

在 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 工具

  • 列出主题
  • 创建主题
  • 消费消息。
  • 生成消息。
  • 描述集群(代理和控制器列表)
  • 列出使用者组及其滞后量。
  • 获取主题最早和最新的偏移量(GetOffsetShell)
  • 重置使用者组偏移量。
  • Kafka Connect ??
  • Schema Registry ??

🔀 MultiplexTool

MultiplexTool 演示

连续运行多个工具,尤其是每个工具都依赖前一个工具的输出时,可能会很繁琐且耗时。这需要客户端和服务器之间进行多次往返。

MultiplexTool 允许客户端将多个工具调用批量合并为一个请求,并按顺序执行,从而解决这一问题。它还支持工具之间的动态依赖,方法是使用基于提示词的占位符引用先前的输出。

如果某个工具输入依赖于先前的结果,客户端会使用 PROMPT_ARGUMENT: 格式,通过向大模型发送提示词来动态生成该输入(目前仅支持 Gemini)。
示例:
"userId": "PROMPT_ARGUMENT: the ID of the created user"

命令行标志:

  • --enable-multiplex:启用工具调用复用。
  • --multiplex-model:指定用于推断 PROMPT_ARGUMENT 的模型(例如 gemini)。需要设置 GEMINI_API_KEY 环境变量。
{
  "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.com/github/github-mcp-server
  • github.com/mark3labs/mcp-go
  • github.com/IBM/sarama

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。