🚀 A2AMCP - 代理到代理模型上下文協議
A2AMCP 將谷歌的代理到代理(A2A)通信概念引入到模型上下文協議(MCP)生態系統中,使人工智能代理能夠在並行開發任務中實時進行通信、協調和協作。該協議最初是為 SplitMind 創建的,解決了多個 AI 代理在同一代碼庫上工作時,彼此不知道對方更改的關鍵問題。

🚀 快速開始
使用 Docker(推薦)
git clone https://github.com/webdevtodayjason/A2AMCP
cd A2AMCP
docker-compose up -d
docker ps | grep splitmind
python verify_mcp.py
配置你的代理
Claude Code(命令行界面)
claude mcp add splitmind-a2amcp \
-e REDIS_URL=redis://localhost:6379 \
-- docker exec -i splitmind-mcp-server python /app/mcp-server-redis.py
Claude 桌面版
將以下內容添加到你的配置文件中(在 macOS 上為 ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"splitmind-a2amcp": {
"command": "docker",
"args": ["exec", "-i", "splitmind-mcp-server", "python", "/app/mcp-server-redis.py"],
"env": {
"REDIS_URL": "redis://redis:6379"
}
}
}
}
✨ 主要特性
1. 實時代理通信
2. 文件衝突預防
3. 共享上下文管理
4. 任務透明度
- 待辦事項列表管理
- 進度可見性
- 完成跟蹤
- 任務完成信號
5. 多項目支持
- 隔離的項目命名空間
- 基於 Redis 的持久化
- 自動清理
6. 現代 MCP 集成
- 使用帶有適當裝飾器的 MCP SDK 1.9.3
@server.list_tools() 和 @server.call_tool() 模式
- 基於 STDIO 的通信協議
- 完全符合 A2AMCP API,實現並測試了 17 個工具
📦 安裝指南
Docker Compose(生產環境)
services:
mcp-server:
build: .
container_name: splitmind-mcp-server
ports:
- "5050:5000"
environment:
- REDIS_URL=redis://redis:6379
- LOG_LEVEL=INFO
depends_on:
redis:
condition: service_healthy
restart: unless-stopped
redis:
image: redis:7-alpine
container_name: splitmind-redis
ports:
- "6379:6379"
volumes:
- redis-data:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
volumes:
redis-data:
driver: local
Python SDK
pip install a2amcp-sdk
JavaScript/TypeScript SDK(即將推出)
npm install @a2amcp/sdk
💻 使用示例
Python SDK
from a2amcp import A2AMCPClient, Project, Agent
async def run_agent():
client = A2AMCPClient("localhost:5000")
project = Project(client, "my-app")
async with Agent(project, "001", "feature/auth", "Build authentication") as agent:
async with agent.files.coordinate("src/models/user.ts") as file:
pass
await project.interfaces.register(
agent.session_name,
"User",
"interface User { id: string; email: string; }"
)
直接使用 MCP 工具
register_agent("my-project", "task-001", "001", "feature/auth", "Building authentication")
query_agent("my-project", "task-001", "task-002", "interface", "What's the User schema?")
register_interface("my-project", "task-001", "User", "interface User {...}")
📚 詳細文檔
🛠️ SDK 和工具
現有工具
- Python SDK:具有異步支持的全功能 SDK
- Docker 部署:生產就緒的容器
開發中的工具
- JavaScript/TypeScript SDK:適用於 Node.js 和瀏覽器
- CLI 工具:用於監控的命令行界面
- Go SDK:高性能編排
- 測試框架:模擬服務器和測試實用工具
詳情請參閱 SDK 開發進度。
🤝 與 AI 框架的集成
A2AMCP 旨在與以下框架配合使用:
- SplitMind - 原始用例
- Claude Code(通過 MCP)
- 任何與 MCP 兼容的 AI 代理
- 未來:LangChain、CrewAI、AutoGen
🔧 技術細節
A2AMCP 解決了什麼問題?
當多個 AI 代理在同一代碼庫上工作時:
- 沒有 A2AMCP:代理會創建衝突的代碼、重複工作並導致合併衝突
- 有 A2AMCP:代理可以進行協調、共享接口、防止衝突並團隊協作
SplitMind 之外的通用用例
A2AMCP 可以協調任何多代理場景:
- 微服務:不同的代理構建不同的服務
- 全棧應用:前端和後端代理協作
- 文檔:多個代理創建相互關聯的文檔
- 測試:測試編寫人員與功能開發人員協調
- 重構:代理同時處理不同的模塊
架構
┌─────────────────┐
│ A2AMCP Server │ ← 基於 Redis 的持久化 MCP 服務器
│ (Port 5050) │ 處理所有代理通信
└────────┬────────┘
│ STDIO 協議 (MCP)
┌────┴────┬─────────┬─────────┐
▼ ▼ ▼ ▼
┌────────┐┌────────┐┌────────┐┌────────┐
│Agent 1 ││Agent 2 ││Agent 3 ││Agent N │
│Auth ││Profile ││API ││Frontend│
└────────┘└────────┘└────────┘└────────┘
與 A2A 的區別
雖然 A2AMCP 受到谷歌 A2A 協議的啟發,但它針對人工智能代碼開發做出了特定的設計選擇:
| 特性 |
谷歌 A2A |
A2AMCP |
| 協議 |
基於 HTTP |
MCP 工具 |
| 狀態 |
無狀態 |
Redis 持久化 |
| 重點 |
通用任務 |
代碼開發 |
| 部署 |
每個代理一個服務器 |
單個共享服務器 |
🚀 路線圖
- [x] 帶有 Redis 的核心 MCP 服務器
- [x] 集成現代 MCP SDK 1.9.3
- [x] 修復裝飾器模式 (
@server.list_tools(), @server.call_tool())
- [x] Python SDK
- [x] Docker 部署
- [x] 實現並測試所有 17 個 A2AMCP API 工具
- [x] 用於監控的健康檢查端點
- [x] 用於測試連接性的驗證腳本
- [ ] JavaScript/TypeScript SDK
- [ ] CLI 監控工具
- [ ] SplitMind 原生集成
- [ ] 框架適配器(LangChain、CrewAI)
- [ ] 企業級功能
🛠️ 故障排除
代理看不到 mcp__splitmind-a2amcp__ 工具
- 重啟 Claude 桌面版 - MCP 連接在啟動時建立
- 驗證服務器是否正在運行:
docker ps | grep splitmind
- 檢查健康端點:
curl http://localhost:5050/health
- 運行驗證腳本:
python verify_mcp.py
- 檢查配置:確保
~/Library/Application Support/Claude/claude_desktop_config.json 包含 A2AMCP 服務器配置
常見問題
- “工具 'X' 尚未實現” - 最新版本已修復,請拉取最新更改
- 連接失敗 - 確保 Docker 正在運行,並且端口 5050/6379 可用
- Redis 連接錯誤 - 等待 Redis 準備好(啟動時大約需要 5 - 10 秒)
🤝 貢獻
我們歡迎貢獻!請參閱 CONTRIBUTING.md 瞭解指南。
開發設置
git clone https://github.com/webdevtodayjason/A2AMCP
cd A2AMCP
pip install -r requirements.txt
pytest
docker-compose -f docker-compose.dev.yml up
📊 性能
- 處理 100 多個併發代理
- 亞秒級消息傳遞
- 自動清理死亡代理
- 支持水平擴展
🔒 安全
- 項目隔離
- 可選身份驗證(即將推出)
- 加密通信(路線圖)
- 審計日誌
📄 許可證
本項目採用 MIT 許可證 - 詳見 LICENSE 文件。
🙏 致謝
📞 支持