Kafka客户端操作服务

mcp-kafka是一个基于模型上下文协议(MCP)的服务,为AI助手提供与Apache Kafka集群交互的能力,支持创建、管理和操作Kafka主题及消息。

  • by kanapuli
  • Go
  • 本地部署
  • 81 星标
  • 更新于
在 GitHub 查看 kanapuli/mcp-kafka

使用说明

mcp卡夫卡

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

概述

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

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

特性

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

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

安装

先决条件

  • 达到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桌面工具安装

要将mcp-kafka与Claude Desktop一起使用:

  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不受支持。

贡献

欢迎投稿!请随时提交拉取请求。

许可证

MIT许可证

致谢