A2AMCP-代理到代理模型上下文协议
 ](https://www.docker.com/)  
为AI驱动的开发实现无缝的多代理协作
A2AMCP将谷歌的代理到代理(A2A)通信概念引入模型上下文协议(MCP)生态系统,使人工智能代理在处理并行开发任务时能够实时通信、协调和协作。
最初是为 SplitMindA2AMCP解决了孤立的AI代理在同一代码库上工作而不知道彼此变化的关键问题。
✅ 服务器状态:工作中!所有17个工具都已实施和测试。使用现代MCP SDK 1.9.3。
🚀 快速开始
使用Docker(推荐)
# Clone the repository
git clone https://github.com/webdevtodayjason/A2AMCP
cd A2AMCP
# Start the server
docker-compose up -d
# Verify it's running
docker ps | grep splitmind
# Test the connection
python verify_mcp.py配置您的代理
克劳德代码(CLI)
# Add the MCP server using Claude Code CLI
claude mcp add splitmind-a2amcp \
-e REDIS_URL=redis://localhost:6379 \
-- docker exec -i splitmind-mcp-server python /app/mcp-server-redis.py克劳德桌面
添加到配置文件(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):
{
"mcpServers": {
"splitmind-a2amcp": {
"command": "docker",
"args": ["exec", "-i", "splitmind-mcp-server", "python", "/app/mcp-server-redis.py"],
"env": {
"REDIS_URL": "redis://redis:6379"
}
}
}
}🎯 A2AMCP解决了什么问题?
当多个AI代理在同一代码库上工作时:
- 无A2AMCP:代理创建冲突的代码、重复工作并导致合并冲突
- 使用A2AMCP:代理协调、共享接口、防止冲突,并作为一个团队工作
SplitMind之外的通用用例
A2AMCP可以协调任何多代理场景:
- 微服务:不同的代理商建立单独的服务
- 全栈应用程序:前端和后端代理协作
- 文档:多个代理创建相互关联的文档
- 测试:测试编写人员与功能开发人员协调
- 重构:同时处理不同模块的代理
🏗️ 建筑
┌─────────────────┐
│ A2AMCP Server │ ← Persistent Redis-backed MCP server
│ (Port 5050) │ handling all agent communication
└────────┬────────┘
│ STDIO Protocol (MCP)
┌────┴────┬─────────┬─────────┐
▼ ▼ ▼ ▼
┌────────┐┌────────┐┌────────┐┌────────┐
│Agent 1 ││Agent 2 ││Agent 3 ││Agent N │
│Auth ││Profile ││API ││Frontend│
└────────┘└────────┘└────────┘└────────┘🔧 核心功能
1. 实时代理通信
- 代理之间的直接查询
- 广播消息
- 异步消息队列
2. 文件冲突预防
- 自动文件锁定
- 冲突检测
- 谈判策略
3. 共享上下文管理
- 接口/类型注册表
- API合同共享
- 依赖追踪
4. 任务透明度
- 待办事项列表管理
- 进度可见性
- 完工跟踪
- 任务完成信号
5. 多项目支持
- 独立的项目命名空间
- Redis支持的持久性
- 自动清理
6. 现代MCP集成
- 使用带有适当装饰器的MCP SDK 1.9.3
@server.list_tools()和@server.call_tool()模式- 基于STDIO的通信协议
- 完全符合A2AMCP API标准,实施了17种工具
📦 安装选项
Docker作曲(制作)
services:
mcp-server:
build: .
container_name: splitmind-mcp-server
ports:
- "5050:5000" # Changed from 5000 to avoid conflicts
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开发包
pip install a2amcp-sdkJavaScript/TypeScript SDK(即将推出)
npm install @a2amcp/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:
# Agent automatically registers and maintains heartbeat
# Coordinate file access
async with agent.files.coordinate("src/models/user.ts") as file:
# File is locked, safe to modify
pass
# File automatically released
# Share interfaces
await project.interfaces.register(
agent.session_name,
"User",
"interface User { id: string; email: string; }"
)直接使用MCP工具
# Register agent
register_agent("my-project", "task-001", "001", "feature/auth", "Building authentication")
# Query another agent
query_agent("my-project", "task-001", "task-002", "interface", "What's the User schema?")
# Share interface
register_interface("my-project", "task-001", "User", "interface User {...}")📚 文档
🛠️ SDK和工具
现已上市
- 开发包:功能齐全的SDK,支持异步
- Docker部署:生产就绪容器
在开发中
- JavaScript/TypeScript SDK:适用于Node.js和浏览器
- CLI工具:用于监控的命令行界面
- Go SDK:高性能编排
- 测试框架:模拟服务器和测试工具
看 SDK开发进展 了解详情。
🤝 与AI框架集成
A2AMCP旨在与以下设备配合使用:
- SplitMind -原始用例
- 克劳德代码(通过MCP)
- 任何与MCP兼容的AI代理
- 未来:朗链、CrewAI、AutoGen
🔍 与A2A有何不同
受谷歌A2A协议的启发,A2AMCP为AI代码开发做出了具体的设计选择:
| 功能 | 谷歌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__ 工具
- 重新启动克劳德桌面 -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秒)
🤝 贡献
我们欢迎捐款!看 贡献.md 作为指导方针。
开发设置
# Clone repository
git clone https://github.com/webdevtodayjason/A2AMCP
cd A2AMCP
# Install dependencies
pip install -r requirements.txt
# Run tests
pytest
# Start development server
docker-compose -f docker-compose.dev.yml up📊 演出
- 处理100多个并发代理
- 亚秒级消息传递
- 自动清除死药剂
- 水平缩放就绪
🔒 安全
- 项目隔离
- 可选身份验证(即将推出)
- 加密通信(路线图)
- 审核日志记录
📄 许可证
MIT许可证-请参阅 许可证 文件。
🙏 致谢
📞 支持
- 问题:
- 讨论:
- Discord 的中文翻译是“不和谐”或“纷争”。:即将推出
______________________________________________________________________
*A2AMCP-将孤立的AI代理转化为协调的开发团队*
