A2A-MCP代理通信系统

A2A-MCP代理通信系统展示了两种不同的代理通信方式:集中式的Master Control Program (MCP) 和去中心化的Agent-to-Agent (A2A)。MCP通过中央服务器进行代理通信,而A2A则采用点对点的方式直接通信。该系统适用于需要高效、可靠代理通信的场景,如分布式系统监控、多代理协作等。

  • by khulnasoft-com
  • 更新于
在 GitHub 查看 khulnasoft-com/a2a-mcp

使用说明

基本能力

产品定位

A2A-MCP代理通信系统是一个用于展示和实现代理通信技术的平台,支持集中式和去中心化两种通信模式。

核心功能

  1. Master Control Program (MCP):

    • 集中式服务器,跟踪所有代理状态。
    • 代理通过心跳与服务器保持连接。
    • 提供Web界面监控代理状态。
    • 简单可靠,但存在单点故障风险。
  2. Agent-to-Agent (A2A):

    • 去中心化的点对点网络。
    • 代理直接相互连接。
    • 消息通过网络广播。
    • 更健壮,但需要更复杂的协调机制。
    • 无单点故障。

适用场景

  • 分布式系统监控
  • 多代理协作
  • 需要高可靠性和弹性的通信系统

使用教程

使用依赖

  1. 创建并激活虚拟环境:
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
  1. 安装依赖:
pip install -r requirements.txt

安装教程

  1. 启动MCP服务器:
python cli.py run-mcp-server
  1. 在单独的终端中启动MCP代理:
python cli.py run-mcp-agent --agent-id agent1
python cli.py run-mcp-agent --agent-id agent2
  1. 启动A2A代理:
python cli.py run-a2a-agent --agent-id a2a1 --port 5001
python cli.py run-a2a-agent --agent-id a2a2 --port 5002 --peer localhost:5001

调试方式

  • 访问 http://localhost:5000 查看MCP服务器状态。
  • 在代理终端中输入消息,观察广播效果。