A

A2A-MCP 代理通信管理器

一个集中式服务器,用于跟踪和管理已连接的代理程序,提供网页界面以监视其状态,同时通过中心点启用代理通信。

agent-orchestrationmonitoringcommunication

401 查看 · 2026-07-07 更新

简介

一个集中式服务器,用于跟踪和管理已连接的代理程序,提供网页界面以监视其状态,同时通过中心点启用代理通信。

简介

一个集中式服务器,用于跟踪和管理已连接的代理程序,提供网页界面以监视其状态,同时通过中心点启用代理通信。

A2A ⚡ MCP 代理

该项目展示了两种不同的代理通信方法:

  1. 主控程序 (MCP) - 一种基于中心服务器的方法,其中代理通过中央服务器进行通信
  2. 代理到代理 (A2A) - 一种去中心化的点对点方法,其中代理直接相互通信

安装

  1. 创建并激活虚拟环境: bash python -m venv venv source venv/bin/activate # 在 Windows 上: venvScriptsactivate

  2. 安装依赖项: bash pip install -r requirements.txt

使用

MCP 服务器和代理

  1. 启动 MCP 服务器: bash python cli.py run-mcp-server

  2. 在单独的终端中,启动一个或多个 MCP 代理: bash python cli.py run-mcp-agent --agent-id agent1 python cli.py run-mcp-agent --agent-id agent2

MCP 服务器将跟踪所有连接的代理及其状态。您可以通过在浏览器中打开 http://localhost:5000 来查看状态。

A2A(代理到代理)网络

  1. 启动第一个 A2A 代理: bash python cli.py run-a2a-agent --agent-id a2a1 --port 5001

  2. 启动其他 A2A 代理,并将其连接到现有的代理: bash python cli.py run-a2a-agent --agent-id a2a2 --port 5002 --peer localhost:5001 python cli.py run-a2a-agent --agent-id a2a3 --port 5003 --peer localhost:5001 --peer localhost:5002

A2A 代理将通过其初始对等体自动发现其他代理。您可以在任何代理的终端中键入消息以广播给所有连接的代理。

架构

MCP(主控程序)

  • 跟踪所有代理的集中式服务器
  • 代理向服务器注册并通过心跳保持连接
  • 服务器提供 Web 界面来监控代理状态
  • 简单可靠但存在单点故障

A2A(代理到代理)

  • 去中心化的点对点网络
  • 代理直接相互连接
  • 消息在网络中泛洪传播
  • 更具弹性但需要更复杂的协调
  • 无单点故障

项目结构

a2a_mcp/ ├── agents/ # 代理实现 │ ├── mcp_agent.py # 基于 MCP 的代理 │ └── a2a_agent.py # 点对点代理 ├── mcp/ # MCP 服务器实现 │ └── server.py # 基于 Flask 的 MCP 服务器 ├── cli.py # 命令行接口 └── requirements.txt # Python 依赖项

贡献

欢迎提交问题和拉取请求以改进演示。

来源