A2A-MCP大桥项目
该项目通过在模型上下文协议(MCP)和A2A协议之间进行转换的标准化网桥服务器,实现了Claude Code和Gemini CLI之间的代理到代理(A2A)通信。
建筑
Claude Code (MCP Client) A2A-MCP Bridge Server Gemini CLI (A2A Agent)从参考实现中保留的功能
- ✅ FastMCP集成:FastMCP提供正确的MCP协议支持
- ✅ 永久存储:代理和任务通过定期备份保存到磁盘
- ✅ 流媒体支持:实时通信能力
- ✅ 全面的错误处理:强大的错误处理和日志记录
- ✅ 任务管理:具有状态跟踪的完整任务生命周期管理
- ✅ 代理发现:通过自动发现
.well-known/agent.json - ✅ JSON-RPC 2.0:标准A2A协议通信
- ✅ Docker容器化:隔离和便携式部署
快速开始
1.安装软件包
# One-command installation
npx @a2a-bridge/mcp-server install
# Or install globally
npm install -g @a2a-bridge/mcp-server
a2a-mcp-install install2.验证安装
# Test the MCP server
a2a-bridge-mcp test
# Check status
a2a-bridge-mcp status用法
配置后,Claude Code将可以访问这些MCP工具:
register_agent
在网桥中注册新的A2A代理。
// Available in Claude Code after installation
register_agent("http://new-agent:port")list_agents
列出所有注册的A2A代理商。
// View all registered agents
list_agents()send_message
向A2A代理发送消息。
send_message(
"http://localhost:9222", // agent_url
"Help me write a JavaScript function", // message
"optional-session-id" // session_id
)get_task_result
检索以前发送的任务的结果。
get_task_result("uuid-task-id")环境变量
MCP服务器配置
GEMINI_CLI_URL:本地Gemini CLI的URL(默认值:http://localhost:9222)A2A_MCP_DATA_DIR:持久存储目录(默认:~/.a2a桥)DEBUG:启用调试日志记录(设置为“a2a-bridge:\*”)NODE_ENV:环境模式(开发/生产)
Gemini CLI身份验证
GOOGLE_API_KEY或GEMINI_API_KEY:Google Gemini API密钥- OAuth:使用
gemini auth用于基于浏览器的身份验证
组件
@a2a网桥/mcp服务器
- 目的:连接Claude Code和Gemini CLI的MCP服务器
- 特性:自动安装、跨平台支持、持久存储
- 整合:通过MCP协议直接与Claude Desktop配合使用
Gemini CLI集成
- 目的:使用本地Gemini CLI安装进行AI通信
- 端口:9222(默认本地Gemini CLI端口)
- 认证:同时支持API密钥和OAuth
数据持久层
MCP服务器持续存在:
- 注册代理人:
~/.a2a-bridge/registered_agents.json - 任务映射:
~/.a2a-bridge/task_agent_mapping.json
数据会自动保存:
- 退出时(atexit处理程序)
- 每5分钟(定期保存)
- 每次代理人注册后
- 每次任务提交后
测试
测试npm包功能:
# Test installation and configuration
a2a-bridge-mcp test
# Run package tests
cd packages/npm
npm test
# Test CLI commands
a2a-bridge-mcp status
a2a-mcp-install --help测试包括:
- 软件包安装
- Claude桌面配置
- Gemini CLI连接
- MCP服务器功能
故障排除
检查安装状态
a2a-bridge-mcp status查看调试日志
# Enable debug mode
export DEBUG=a2a-bridge:*
export NODE_ENV=development
a2a-bridge-mcp start测试组件
# Test Gemini CLI connectivity
gemini --version
gemini auth status
# Test MCP server
a2a-bridge-mcp test
# Test installation process
a2a-mcp-install install重置配置
# Remove configuration data
rm -rf ~/.a2a-bridge
# Reconfigure
a2a-mcp-install install发展
地方发展
cd packages/npm
npm install
npm run build
npm link # For local testing添加新的A2A代理
使用Claude Code中的MCP工具:
// Register a new agent
register_agent("http://your-agent:port")
// List all agents
list_agents()扩展MCP工具
在中添加新工具 packages/npm/src/index.js:
// Add new MCP tool handler
server.setRequestHandler(CallToolRequestSchema, async (request) => {
const { name, arguments: args } = request.params;
if (name === 'your_new_tool') {
// Implementation here
return { result: 'success' };
}
});安全说明
- 这是一个开发设置-为生产添加身份验证
- 应妥善保管Gemini API密钥
- Docker网络提供网络隔离
- 考虑在生产部署中终止TLS
