返回市场
MCP- Kafka服务器

MCP- Kafka服务器

作者:kanapuli75 星标更新:2025-03-18

项目介绍

mcp-kafka

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

概述

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

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

mcp-kafka-demo

功能

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

要使用mcp-kafka与Claude桌面:

  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=m-mp-kafka-consumer-group",
          "--username=",
          "--password="
        ],
      "env": {}
    }
  }
}

配置

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

参数描述默认值
topic要交互的主题(必需)
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。

贡献

欢迎贡献!请随时提交Pull Request。

许可证

MIT许可证

致谢