使用说明
MCPA2A-多代理通信平台
它解决了什么问题?
现代人工智能系统需要能够:
- 相互沟通 -不同的AI代理(使用不同的LLM,如Gemini、GPT-4等)需要协作
- 访问外部工具 -代理需要使用API、数据库和企业应用程序
- 无缝协作 -无论它们是用什么框架构建的
MCPA2A解决了这个问题 通过组合两个协议:
- A2A(代理人对代理人) -用于代理通信
- MCP(模型上下文协议) -用于工具访问
运作原理
- 主机代理 接收用户请求
- 发现可用代理 来自注册表(A2A协议)
- 加载可用工具 来自MCP服务器
- 确定任务路线 使用正确的代理或工具
- 返回响应 对于用户
项目结构
MCPA2A/
├── app/cli/client.py # CLI client
├── agents/
│ ├── host_agent/ # Orchestrator (port 10001)
│ └── website_builder/ # Child agent (port 10000)
├── mcp/servers/
│ ├── stdio_server.py # MCP server implementation
│ ├── arithmetic_server.py # HTTP MCP server
│ └── terminal/server.py # Shell command server
├── core/
│ ├── a2a/ # A2A utilities
│ ├── mcp/ # MCP utilities
│ └── common/ # Shared utilities
└── pyproject.toml
安装
git clone https://github.com/yourusername/MCPA2A.git
cd MCPA2A
python -m venv .venv
source .venv/bin/activate
pip install -e .
添加您的 GOOGLE_API_KEY 到 .env 文件。
配置
注册代理
编辑 core/a2a/agent_registry.json:
[
"http://localhost:10000"
]
配置MCP服务器
编辑 core/mcp/mcp_config.json:
{
"mcpServers": {
"terminal_server": {
"command": "python",
"args": ["mcp/servers/terminal/server.py"]
}
}
}
用法
# Terminal 1: Start child agent
python -m agents.website_builder --port 10000
# Terminal 2: Start host agent
python -m agents.host_agent --port 10001
# Terminal 3: Send queries
python app/cli/client.py --agent http://localhost:10001
依赖项
- a2a-sdk
- fastmcp
- 谷歌广告
- 优维康
- HTTPX
许可证
MIT许可证
