使用说明
项目简介
本项目是一个使用模型上下文协议(MCP)构建的模块化多代理系统的原型。它包含一个网关代理,能够根据用户查询的关键词,将其路由到不同的后端服务器,例如私人教练服务器和工作助理服务器。这个项目展示了不同MCP服务器之间的互操作性。
主要功能点
- MCP网关代理:根据关键词将用户查询路由到合适的后端服务器。
- 私人教练服务器:使用语言模型(Anthropic Claude)提供健康和健身建议。
- 工作助理服务器:使用语言模型(Anthropic Claude)提供生产力和工作组织方面的建议。
- 工具路由:演示了网关代理中的 'route_task' 工具,用于任务分发。
- 基于HTTP的MCP通信:服务器之间通过HTTP和JSON-RPC进行MCP协议通信。
安装步骤
- 克隆代码仓库:
git clone https://github.com/dazzaji/mcp-agent-router - 进入代码仓库目录:
cd mcp-agent-router - 创建并激活虚拟环境(推荐使用Python 3.11):
/Library/Frameworks/Python.framework/Versions/3.11/bin/python3.11 -m venv ./venv source ./venv/bin/activate - 安装依赖:
uv pip install flask anthropic requests python-dotenv mcp - 在 'server-a' 和 'server-b' 目录下创建 '.env' 文件,并设置 Anthropic API 密钥。在两个 '.env' 文件中添加内容:'ANTHROPIC_API_KEY=YOUR_ANTHROPIC_API_KEY',替换 'YOUR_ANTHROPIC_API_KEY' 为你的实际密钥。
服务器配置
以下是 MCP 客户端(例如 Claude Desktop)需要配置的服务器信息,用于连接到本项目的 MCP 服务器。
{ "mcpServers": { "gateway-agent": { "url": "http://localhost:8000/mcp/v1" }, "server-a": { "url": "http://localhost:5010/mcp/v1" }, "server-b": { "url": "http://localhost:5001/mcp/v1" } } }
- 'gateway-agent': 网关代理服务器,作为主要入口点,负责路由请求。'url' 指向网关代理服务器地址。
- 'server-a': 私人教练服务器。'url' 指向私人教练服务器地址。
- 'server-b': 工作助理服务器。'url' 指向工作助理服务器地址。
注意:需要将以上配置添加到 Claude Desktop 的 'claude_desktop_config.json' 配置文件中,以便 Claude Desktop 能够连接到网关代理以及后端服务器。
基本使用方法
- 打开四个终端窗口。
- 在终端 1 中,启动 Server A (私人教练服务器):
cd server-a source ../venv/bin/activate python server.py - 在终端 2 中,启动 Server B (工作助理服务器):
cd ../server-b source ../venv/bin/activate python server.py - 在终端 3 中,启动网关代理服务器:
cd ../gateway-agent source ../venv/bin/activate uv run service.py - 在终端 4 中,可以选择启动 MCP Inspector 进行测试和调试 (可选):
cd ../gateway-agent source ../venv/bin/activate npx @modelcontextprotocol/inspector http://localhost:8000/mcp/v1 - 配置 Claude Desktop 的 'claude_desktop_config.json' 文件,如 "服务器配置" 章节所述。重启 Claude Desktop。
- 在 Claude Desktop 中,提出与健康相关的问题 (例如 "我应该如何减肥?") 或工作效率相关的问题 (例如 "我这周的截止日期是什么?"),测试请求路由功能。
信息
分类
AI与计算