MCP服务器演示
使用MCP(模型控制协议)和Kafka构建的生产就绪任务管理系统。
概述
该项目展示了一个强大的任务管理系统,该系统使用MCP使AI代理能够与基于Kafka的任务队列进行交互。该系统允许:
- 任务管理(创建、更新、完成任务)
- 通知处理
- 通过Kafka进行实时事件处理
特性
- 任务管理:创建、更新、优先排序和完成生产任务
- 通知系统:具有优先级的实时通知
- Kafka集成:可靠的消息队列和事件流
- MCP工具:用于任务和通知操作的AI友好界面
- 消费者服务:Kafka消息的后台处理
需求
- Python 3.13+
- Kafka集群(本地或AWS MSK)
- 融合的Kafka Python客户端
安装
# Clone the repository
git clone https://github.com/yourusername/mcp-server-demo.git
cd mcp-server-demo
# Install dependencies
pip install -e .配置
更新Kafka配置 kafka_config.py 使用您实际的Kafka集群详细信息:
KAFKA_CONFIG = {
'bootstrap.servers': 'your-kafka-bootstrap-servers',
'security.protocol': 'SASL_SSL',
'sasl.mechanisms': 'SCRAM-SHA-512',
'sasl.username': 'your-username',
'sasl.password': 'your-password',
}用法
启动服务器
python main.py加载测试数据
要用示例任务和通知填充系统:
python kafka_test_data.pyMCP工具
该系统为AI代理提供了以下MCP工具:
任务管理
fetch_queue:获取待处理任务列表change_task_priority:更新任务优先级pickup_task:将任务标记为正在进行中complete_task:将任务标记为已完成get_task_details:获取任务的详细信息check_task_status:检查任务的当前状态
通知管理
check_notification_count:获取未读通知的计数get_notification_list:获取经过筛选的通知列表mark_notification_as_read:将通知标记为已读
建筑
该系统由几个组件组成:
- MCP服务器:公开AI代理与系统交互的工具
- 卡夫卡制作人:向Kafka主题发送消息
- Kafka消费者:处理来自Kafka主题的消息
- 任务服务:任务管理的业务逻辑
- 通知服务:通知处理的业务逻辑
发展
项目结构
mcp-server-demo/
├── main.py # MCP server initialization
├── kafka_config.py # Kafka configuration
├── consumer_service.py # Kafka consumer services
├── task_service.py # Task management logic
├── notification_service.py # Notification handling logic
└── kafka_test_data.py # Test data generator许可证
贡献
欢迎投稿!请随时提交拉取请求。
