使用说明
MCP游乐场
全面收集 模型上下文协议(MCP) 实现、代理框架和AI工具包示例。 这个游乐场演示了如何使用不同的编程语言和框架构建智能代理, 所有这些都与Docker进行了协调,以实现无缝设置和实验。
🏗️ 项目结构
🤖 AI代理SDK示例
基于Python的框架
- a2a: 使用Agent2Agent SDK的多代理事实检查系统。配备一个审计员,协调Critic(通过DuckDuckGo进行网络搜索)和Reviser(仅推理)代理进行协作事实验证
- adk: 使用谷歌代理开发工具包(ADK)构建的多代理事实检查器。与A2A类似的架构,但使用ADK的编排模式
- 船员ai: 使用CrewAI的自主虚拟营销团队。展示跨专业代理(市场分析师、营销策略师、内容创作者、创意总监)的任务委托,以制定完整的营销策略
- langgraph : 使用LangGraph的SQL查询代理,将自然语言问题转换为针对填充有Chinook示例数据集的PostgreSQL数据库的SQL查询
基于Go的框架
- langchaingo: 使用LangchainGO的自然语言搜索应用程序通过MCP与DuckDuckGo集成,展示了零配置网络搜索功能
基于Java的框架
- 春天艾: Spring Boot应用程序展示了Spring AI框架与MCP的集成,通过DuckDuckGo进行网络搜索,具有自动配置和企业就绪模式
🔧 MCP服务器实现
该项目包括几个专门构建的MCP服务器,提供专门的功能:
- 内存: 基于知识图的持久内存服务器,使Claude能够使用实体、关系和观察来记住对话中的信息
- 时间: 时区感知时间服务器使用IANA时区名称提供当前时间查找和时区转换功能
- 顺序思维: 结构化问题解决服务器,通过修订和分支功能促进逐步思考过程
🏛️ 基础设施组件
-
代理网关: 管理MCP服务器连接并提供统一接口的中央编排服务(端口15000 UI,10000 MCP)
-
遥测堆栈: Jaeger追踪的综合可观测性(端口16686)
-
集装箱化: 具有多语言基础映像(Python、Go、Java、Bun)和编排部署的完整Docker设置
🚀 入门指南
先决条件
- Docker桌面4.43.0+ 或 Docker引擎
- GPU启用系统 (MacBook、带GPU的Linux等)用于本地模型推理
- Docker编写2.38.1+ (适用于Linux Docker Engine用户)
快速开始
每个SDK示例都是自包含的,可以独立运行:
# Navigate to any SDK example
cd docker/sdk/crew-ai # or any other SDK directory
# Run with single command
make start
🧠 推理选项
所有示例都支持多个推理后端:
- 局部模型 (默认):使用ollama
- OpenAI集成:创建
secret.openai-api-key使用API密钥文件 - Docker卸载:用于高性能远程GPU实例
🎯 用例和示例
多Agent协作
- 事实核查:A2A和ADK演示了具有不同工具的多个代理如何在验证任务上进行协作
- 营销策略:CrewAI展示了端到端营销活动创建的自主团队协调
自然语言接口
- 数据库查询:LangGraph根据真实数据集将会话问题转换为SQL
- 网页搜索:LangchainGO和Spring AI展示智能网络搜索集成
记忆与语境
- 持久存储器:用于维护对话上下文的知识图存储
- 结构化思维:具有修订功能的逐步问题分解
🛠️ 发展
建筑构件
# Build all services
docker compose up --build
# Build specific MCP server
cd docker/mcp/memory
docker build -t mcp/memory .
# Build SDK example
cd docker/sdk/langgraph
docker build -t mcp-servers/langgraph .
添加新示例
- 在下面创建目录
docker/sdk/your-framework/ - 添加Dockerfile和compose.yaml
- 实施MCP集成模式
- 用描述更新此README
📚 学习资源
每个子目录都包含详细的README文件:
- 架构图
- 分步设置说明
- 交互和用例示例
- 自定义选项
🧹 清理
# Stop and remove containers/volumes
docker compose down -v
# Remove all MCP playground images
docker images | grep mcp-servers | awk '{print $3}' | xargs docker rmi
🤝 贡献
欢迎投稿!您是否愿意:
- 添加对新AI框架的支持
- 实施额外的MCP服务器
- 改进文档
- 添加新的代理架构
有关具体的贡献指南,请参阅各个组件的自述文件。
📄 许可证
根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
