Kafka客户端操作服务

mcp-kafka是一个通过Model Context Protocol为AI助手提供Apache Kafka客户端操作的服务,支持创建、管理和交互Kafka主题和消息。

  • by jonyx225
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 jonyx225/MCP_Kafka

使用说明

MCP-Kafka

一个用于从AI助手执行Kafka客户端操作的模型上下文协议(MCP)服务器。

概述

mcp-kafka 在人工智能助手与 Apache Kafka 之间搭建了一座桥梁,使它们能够通过模型上下文协议与 Kafka 集群进行交互。该工具使人工智能助手能够直接创建、管理和与 Kafka 主题及消息进行交互。

这是YouTube上的一个短视频演示

特点/功能

mcp-kafka 服务器提供以下 Kafka 操作:

  • 创建主题创建一个新的Kafka主题,设置可配置的分区数和副本因子
  • 列出主题获取集群中所有可用的Kafka主题列表
  • 删除主题删除现有的Kafka主题
  • 描述主题获取特定主题的详细信息,包括分区详情
  • 生成消息向Kafka主题发送消息,支持消息键和消息头
  • 消费消息从Kafka主题读取消息,设置可配置的超时时间

安装

先决条件

  • Go 1.24或更高版本
  • 一个正在运行的Kafka集群(默认连接:localhost:9092)

从源代码构建

  1. 克隆仓库:

    git clone https://github.com/kanapuli/mcp-kafka.git
    cd mcp-kafka
    
  2. 构建应用程序:

    make build
    
  3. 可选地,为特定平台构建:

    make build GOOS=darwin GOARCH=arm64
    

作为Claude桌面工具进行安装

要在Claude Desktop中使用mcp-kafka:

  1. 按照上述方法构建应用程序。

  2. 将可执行文件放置在系统PATH环境变量所包含的路径中,或者放置在一个专门的工具目录中。

  3. 请按照这个做 Claude桌面工具安装指南 安装该工具。

要添加到 claude_desktop_config.json 文件中的 JSON 内容如下:, 使用正确的用户名和密码进行SASL登录。对于PLAINTEXT认证,请将它们留空。

{
  "mcpServers": {
    "kafka": {
	    "command": "/Your-mcp-kafka-executable-path/mcp-kafka-darwin-arm64",
      "args": [
          "--bootstrap-servers=localhost:9092",
          "--consumer-group-id=mcp-kafka-consumer-group",
          "--username=",
          "--password="
        ],
      "env": {}
    }
  }
}

配置

mcp-kafka 工具接受以下配置参数:

参数 描述 默认值
主题 要交互的主题 (必填)
num_partitions 创建主题时的分区数量 (可选)
replication_factor 创建主题时的复制因子 (可选)
produce_message_key 生成消息的键 (可选)
produce_message_value 生成消息的值 (可选)
produce_message_headers 生成消息的头部信息 (可选)
consumer_timeout 消息消费的超时时间(以秒为单位) 10

这些参数将自动从您发送给大型语言模型(LLM)的自然语言消息中推导出来。

mcp-kafka 工具的 CLI 标志

以下标志应用于配置Kafka客户端:

--bootstrap-servers=localhost:9092
--consumer-group-id=mcp-kafka-consumer-group
--username='your_sasl_username'
--password='your_sasl_password'

注:目前,支持SASL_PLAINTEXT以及PLAINTEXT认证。不支持SASL_SSL。

做出贡献

欢迎贡献!请随时提交拉取请求。

许可证

麻省理工学院许可证

致谢