项目介绍
MCP Playground
一个全面的**模型上下文协议(MCP)**实现、代理框架和AI工具包示例集合。这个游乐场展示了如何使用不同的编程语言和框架构建智能代理,并通过Docker进行无缝设置和实验。
🏗️ 项目结构
🤖 AI代理SDK示例
基于Python的框架
- a2a: 使用Agent2Agent SDK的多代理事实检查系统。具有协调者(Auditor),它协调批评者(通过DuckDuckGo进行网络搜索)和修订者(仅推理)代理进行协作事实验证。
- adk: 使用Google的代理开发工具包(ADK)构建的多代理事实检查器。与A2A类似架构,但使用ADK的编排模式。
- crew-ai: 使用CrewAI的自主虚拟营销团队。演示了任务分配给专门的代理(市场分析师、营销策略师、内容创作者、创意总监)以生成完整的营销策略。
- langgraph: 使用LangGraph的SQL查询代理,将自然语言问题转换为针对填充有Chinook样本数据集的PostgreSQL数据库的SQL查询。
基于Go的框架
- langchaingo: 使用LangchainGO和DuckDuckGo集成的自然语言搜索应用程序,展示零配置网络搜索能力。
基于Java的框架
- spring-ai: 展示Spring AI框架与MCP集成的Spring Boot应用程序,用于通过DuckDuckGo进行网络搜索,具有自动配置和企业就绪模式。
🔧 MCP服务器实现
该项目包括几个专用的MCP服务器,提供特定的能力:
- memory: 基于知识图谱的持久内存服务器,使Claude能够在对话之间记住信息,使用实体、关系和观察。
- time: 支持时区的时间服务器,提供当前时间查找和时区转换功能,使用IANA时区名称。
- sequentialthinking: 结构化的问题解决服务器,支持逐步思考过程,具有修订和分支能力。
🏛️ 基础设施组件
- 代理网关: 中央编排服务(UI端口15000,MCP端口10000),管理MCP服务器连接并提供统一接口。
- 遥测堆栈: 全面可观测性,使用Jaeger追踪(端口16686)。
- 容器化: 完整的Docker设置,包括多语言基础镜像(Python、Go、Java、Bun)和编排部署。
🚀 快速开始
预备条件
- Docker Desktop 4.43.0+ 或 Docker Engine
- GPU启用系统(如MacBook、带有GPU的Linux等)用于本地模型推理
- Docker Compose 2.38.1+(适用于Linux Docker Engine用户)
快速启动
每个SDK示例都是独立的,可以单独运行:
# 导航到任何SDK示例
cd docker/sdk/crew-ai # 或其他SDK目录
# 单命令运行
make start
🧠 推理选项
所有示例都支持多个推理后端:
- 本地模型(默认):使用ollama
- OpenAI集成:创建包含您的API密钥的
secret.openai-api-key文件
- Docker卸载:用于高性能远程GPU实例
🎯 使用案例及示例
多代理协作
- 事实检查:A2A和ADK展示了具有不同工具的多个代理如何协作完成验证任务。
- 营销策略:CrewAI展示了自主团队协调以创建端到端营销活动。
自然语言界面
- 数据库查询:LangGraph将对话问题转换为针对真实数据集的SQL查询。
- 网络搜索:LangchainGO和Spring AI展示了智能网络搜索集成。
记忆与上下文
- 持久记忆:知识图谱存储以维持跨对话的上下文。
- 结构化思考:逐步问题分解,具有修订能力。
🛠️ 开发
构建组件
# 构建所有服务
docker compose up --build
# 构建特定MCP服务器
cd docker/mcp/memory
docker build -t mcp/memory .
# 构建SDK示例
cd docker/sdk/langgraph
docker build -t mcp-servers/langgraph .
添加新示例
- 在
docker/sdk/your-framework/下创建目录。
- 添加Dockerfile和compose.yaml。
- 实现MCP集成模式。
- 更新此README中的描述。
📚 学习资源
每个子目录包含详细的README,包括:
- 架构图
- 分步设置说明
- 示例交互和使用案例
- 自定义选项
🧹 清理
# 停止并移除容器/卷
docker compose down -v
# 移除所有MCP游乐场镜像
docker images | grep mcp-servers | awk '{print $3}' | xargs docker rmi
🤝 贡献
欢迎贡献!无论您想:
- 为新的AI框架添加支持
- 实现额外的MCP服务器
- 改进文档
- 添加新的代理架构
查看各个组件的README以获取具体的贡献指南。
📄 许可证
根据MIT许可证授权 - 查看LICENSE文件以获取详细信息。