# A2A-MCP 代理通信管理器
## 基本信息
- Slug: `khulnasoft-com-a2a-mcp`
- Source: modelscope
- Publisher: @khulnasoft-com/a2a-mcp
- Categories: agent-orchestration / monitoring / communication
- Hosted: No
- License: Unknown
- Source URL: https://www.modelscope.cn/mcp/servers/@khulnasoft-com/a2a-mcp
## 简介
一个集中式服务器，用于跟踪和管理已连接的代理程序，提供网页界面以监视其状态，同时通过中心点启用代理通信。
## MCP Server 详情

# 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](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 依赖项


## 贡献

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

