多智能体通信平台

MCPA2A是一个多智能体通信平台,用于不同AI智能体之间的协作和外部工具访问,适用于需要多智能体协作的AI系统开发。

  • by Rizu0007
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Rizu0007/MCP---A2A

使用说明

MCPA2A-多代理通信平台

它解决了什么问题?

现代人工智能系统需要能够:

  • 相互沟通 -不同的AI代理(使用不同的LLM,如Gemini、GPT-4等)需要协作
  • 访问外部工具 -代理需要使用API、数据库和企业应用程序
  • 无缝协作 -无论它们是用什么框架构建的

MCPA2A解决了这个问题 通过组合两个协议:

  • A2A(代理人对代理人) -用于代理通信
  • MCP(模型上下文协议) -用于工具访问

运作原理

  1. 主机代理 接收用户请求
  2. 发现可用代理 来自注册表(A2A协议)
  3. 加载可用工具 来自MCP服务器
  4. 确定任务路线 使用正确的代理或工具
  5. 返回响应 对于用户

项目结构

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许可证