一个全面的模型上下文协议(MCP)服务器,用于Apache Kafka操作,支持与Claude Desktop和其他MCP客户端无缝集成。
克隆仓库:
git clone https://github.com/aswinayyolath/kafka-mcp-server.git
cd kafka-mcp-server
创建虚拟环境:
python -m venv venv
source venv/bin/activate # 在Windows上:venv\Scripts\activate
安装依赖项:
pip install mcp kafka-python
配置环境变量:
cp .env.template .env
# 使用您的Kafka配置编辑.env文件
基于.env.template创建一个.env文件:
# 基本的Kafka配置
KAFKA_BOOTSTRAP_SERVERS=localhost:9092
KAFKA_SECURITY_PROTOCOL=PLAINTEXT
# 如果需要,配置SASL
KAFKA_SASL_MECHANISM=PLAIN
KAFKA_SASL_USERNAME=your_username
KAFKA_SASL_PASSWORD=your_password
# 如果需要,配置SSL
KAFKA_SSL_CAFILE=/path/to/ca.pem
KAFKA_SSL_CERTFILE=/path/to/cert.pem
KAFKA_SSL_KEYFILE=/path/to/key.pem
使用Docker启动本地Kafka集群:
docker-compose up -d
这将在localhost:9092启动Kafka。
运行综合测试套件以验证您的设置:
# 设置环境变量
export KAFKA_BOOTSTRAP_SERVERS=localhost:9092
export KAFKA_SECURITY_PROTOCOL=PLAINTEXT
# 运行测试
python test_kafka_mcp.py
测试套件验证:
直接运行MCP服务器:
python kafka_mcp_server.py
在您的Claude Desktop配置中添加(claude_desktop_config.json):
{
"mcpServers": {
"kafka": {
"command": "python",
"args": ["/path/to/kafka_mcp_server.py"],
"env": {
"KAFKA_BOOTSTRAP_SERVERS": "localhost:9092",
"KAFKA_SECURITY_PROTOCOL": "PLAINTEXT"
}
}
}
}
get_cluster_info - 获取全面的集群信息health_check - 执行集群健康检查list_topics - 列出集群中的所有主题create_topic - 创建新主题describe_topic - 获取详细的主题信息delete_topic - 删除主题get_topic_metrics - 获取全面的主题指标get_topic_offsets - 获取分区偏移量send_message - 发送单个消息send_batch_messages - 发送多条消息consume_messages - 从主题中消费消息list_consumer_groups - 列出所有消费者组describe_consumer_group - 获取详细的消费者组信息该服务器提供MCP资源,便于访问集群信息:
kafka://cluster/info - 实时集群信息kafka://topics/list - 当前主题列表内置提示用于常见场景:
kafka_monitoring_prompt - 生成监控和故障排除指南kafka_troubleshooting_prompt - 获取特定问题的帮助一旦与Claude Desktop集成,您可以询问:
服务器支持多种Kafka认证方法:
.env文件 - 使用.env.template作为示例连接被拒绝:
KAFKA_BOOTSTRAP_SERVERS配置认证失败:
主题未找到:
通过设置启用调试日志:
export PYTHONPATH=.
python -c "import logging; logging.basicConfig(level=logging.DEBUG)"
python kafka_mcp_server.py
git checkout -b feature-namepython test_kafka_mcp.pygit commit -am '添加功能'git push origin feature-name该项目根据Apache许可证2.0发布 - 查看LICENSE文件了解详情。
对于问题和疑问:
祝您使用MCP进行愉快的Kafka流处理!🎉