使用说明
项目简介
mcp-kafka 是一个 MCP 服务器,旨在弥合 AI 助手和 Apache Kafka 之间的鸿沟。通过实现 Model Context Protocol,它使得 AI 助手能够以标准化的方式与 Kafka 集群进行交互,执行诸如主题管理、消息生产和消费等操作。这为构建能够感知和操作 Kafka 数据的 AI 应用提供了强大的后端支持。
主要功能点
- 主题管理:
- 创建 Kafka 主题 (Create Topic):可以指定分区数和副本因子创建新的 Kafka 主题。
- 列出 Kafka 主题 (List Topics):获取 Kafka 集群中所有可用主题的列表。
- 删除 Kafka 主题 (Delete Topic):移除现有的 Kafka 主题。
- 描述 Kafka 主题 (Describe Topic):获取关于特定主题的详细信息,包括分区细节。
- 消息操作:
- 生产消息 (Produce Message):向 Kafka 主题发送消息,支持消息键和消息头。
- 消费消息 (Consume Messages):从 Kafka 主题读取消息,可以配置消费超时时间。
安装步骤
-
环境准备:
- 确保已安装 Go 1.24 或更高版本。
- 确保已有一个正在运行的 Kafka 集群 (默认连接地址为 'localhost:9092')。
-
从源码构建:
- 克隆仓库到本地:
git clone https://github.com/kanapuli/mcp-kafka.git cd mcp-kafka - 构建应用程序:
make build - (可选)为特定平台构建:例如 macOS ARM64 平台
make build GOOS=darwin GOARCH=arm64
- 克隆仓库到本地:
-
安装为 Claude Desktop 工具:
- 将构建好的可执行文件 'mcp-kafka-darwin-arm64' (或其他平台的可执行文件) 放置在系统 PATH 环境变量包含的路径中,或者一个专门用于存放工具的目录。
- 按照 Claude Desktop Tool Installation Guide 的指引安装工具。
服务器配置
要将 mcp-kafka 配置为 Claude Desktop 的 MCP 服务器,需要在 'claude_desktop_config.json' 文件中添加如下 JSON 配置。请根据实际情况修改 'command' 和 'args' 字段。
{ "mcpServers": { "kafka": { "command": "/Your-mcp-kafka-executable-path/mcp-kafka-darwin-arm64", "args": [ "--bootstrap-servers=localhost:9092", // Kafka 集群的 Bootstrap Servers 地址,多个地址用逗号分隔 "--consumer-group-id=mcp-kafka-consumer-group", // Kafka 消费者组 ID "--username=", // Kafka SASL 用户名 (如果需要认证,否则留空) "--password=" // Kafka SASL 密码 (如果需要认证,否则留空) ], "env": {} } } }
配置参数说明:
- 'command': 'mcp-kafka' 服务器可执行文件的绝对路径。请替换为实际路径。
- 'args': 启动 'mcp-kafka' 服务器时传递的命令行参数,包括:
- '--bootstrap-servers': Kafka 集群的 Bootstrap Servers 地址。默认为 'localhost:9092'。
- '--consumer-group-id': Kafka 消费者组 ID。默认为 'mcp-kafka-consumer-group'。
- '--username': Kafka SASL 用户名。用于 SASL_PLAINTEXT 认证,如果 Kafka 集群不需要认证,请留空。
- '--password': Kafka SASL 密码。用于 SASL_PLAINTEXT 认证,如果 Kafka 集群不需要认证,请留空。
基本使用方法
- 确保 mcp-kafka 服务器已成功配置并运行在 Claude Desktop 中。
- 在 Claude Desktop 或其他支持 MCP 协议的客户端中,通过自然语言指令指示 AI 助手与 Kafka 集群进行交互。例如:
- "创建一个名为 'my-topic' 的 Kafka 主题,分区数为 3,副本因子为 2"
- "列出当前 Kafka 集群的所有主题"
- "删除名为 'test-topic' 的 Kafka 主题"
- "描述 'another-topic' 主题的详细信息"
- "向 'log-topic' 主题发送消息,内容为 'Hello Kafka!'"
- "从 'event-topic' 主题消费消息"
AI 助手会将这些自然语言指令转换为对 mcp-kafka 服务器的 MCP 请求,从而实现对 Kafka 集群的操作。
信息
分类
数据库与文件