mcpField
S
SplitMind MCP Agent Communication Server (Redis Edition)

SplitMind MCP Agent Communication Server (Redis Edition)

本地服务
github.com/webdevtodayjasonAI 与智能体2172 周前更新

关于 SplitMind MCP Agent Communication Server (Redis Edition)

A2AMCP 是基于 MCP 的多 Agent 通信服务,借鉴 Google 的 Agent2Agent 协议理念,面向并行开发同一代码库的 AI Agent。它使用 Redis 持久化状态,让多个 Agent 之间可以交换信息、协调工作。

主要功能

  1. 01Agent 之间的直接查询与广播消息
  2. 02异步消息队列
  3. 03文件锁定与冲突检测
  4. 04接口与类型注册表,用于共享 API 契约
  5. 05待办列表与任务完成信号
  6. 06按项目划分的隔离命名空间

适用场景

  1. 01多个 Agent 同时开发微服务或不同模块
  2. 02前端与后端 Agent 共享接口定义
  3. 03测试编写者与功能开发者协同工作

MCP 相关

A2AMCP 本身是 MCP 服务,向 Claude Code 等 MCP 客户端暴露 17 个工具,用于注册 Agent、发送查询和登记接口。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"A2AMCP": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"exec"
]
}
}
}
启动命令docker run -i --rm exec

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ociexec

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

A2AMCP - Agent 对 Agent 模型上下文协议

License: MIT Docker Redis Status

为 AI 驱动的开发实现无缝的多 Agent 协作

A2AMCP 将 Google 的 Agent-to-Agent(A2A)通信概念引入模型上下文协议(MCP)生态系统,使 AI Agent 在并行开发任务期间能够实时通信、协调和协作。

A2AMCP 最初为 SplitMind 创建,解决了一个关键问题:彼此不了解对方更改的 AI Agent 在同一代码库上独立工作。

✅ 服务状态:正常运行!已实现并测试全部 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
配置你的 Agent
Claude Code(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
Claude Desktop

添加到你的配置文件(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"
      }
    }
  }
}

🎯 A2AMCP 解决什么问题?

当多个 AI Agent 在同一代码库上工作时:

  • 不使用 A2AMCP:Agent 会创建冲突代码、重复劳动并导致合并冲突
  • 使用 A2AMCP:Agent 能够协调、共享接口、防止冲突并像团队一样协作
SplitMind 之外的通用用例

A2AMCP 可以协调任何多 Agent 场景:

  • 微服务:不同的 Agent 构建独立服务
  • 全栈应用:前端和后端 Agent 协作
  • 文档:多个 Agent 创建相互关联的文档
  • 测试:测试编写者与功能开发者协调合作
  • 重构:Agent 同时处理不同模块

🏗️ 架构

┌─────────────────┐
│   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. 实时 Agent 通信
  • Agent 之间直接查询
  • 广播消息
  • 异步消息队列
2. 防止文件冲突
  • 自动文件锁定
  • 冲突检测
  • 协商策略
3. 共享上下文管理
  • 接口/类型注册表
  • 共享 API 契约
  • 依赖跟踪
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"  # 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
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:
        # 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 和工具

现已提供
  • Python SDK:功能齐全并支持异步操作的 SDK
  • Docker 部署:适用于生产环境的容器
开发中
  • JavaScript/TypeScript SDK:适用于 Node.js 和浏览器
  • CLI 工具:用于监控的命令行界面
  • Go SDK:高性能编排
  • 测试框架:模拟服务和测试工具

详情请参阅 SDK 开发进度。

🤝 与 AI 框架集成

A2AMCP 旨在与以下对象协同工作:

  • SplitMind - 最初的使用场景
  • Claude Code(通过 MCP)
  • 任何兼容 MCP 的 AI Agent
  • 未来支持:LangChain、CrewAI、AutoGen

🔍 与 A2A 的区别

A2AMCP 虽然受到 Google A2A 协议的启发,但针对 AI 代码开发做出了特定的设计选择:

特性Google A2AA2AMCP
协议基于 HTTPMCP 工具
状态无状态Redis 持久化
重点通用任务代码开发
部署每个 Agent 各自部署服务单一共享服务

🚀 路线图

  • 基于 Redis 的核心 MCP 服务
  • 集成现代 MCP SDK 1.9.3
  • 修正装饰器模式(@server.list_tools()、@server.call_tool())
  • Python SDK
  • Docker 部署
  • 已实现并测试全部 17 个 A2AMCP API 工具
  • 用于监控的运行状况检查端点
  • 用于测试连接性的验证脚本
  • JavaScript/TypeScript SDK
  • CLI 监控工具
  • SplitMind 原生集成
  • 框架适配器(LangChain、CrewAI)
  • 企业级功能

🛠️ 故障排除

Agent 无法看到 mcp__splitmind-a2amcp__ 工具
  1. 重启 Claude Desktop - MCP 连接会在启动时建立
  2. 确认服务正在运行:docker ps | grep splitmind
  3. 检查运行状况端点:curl http://localhost:5050/health
  4. 运行验证脚本:python verify_mcp.py
  5. 检查配置:确保 ~/Library/Application Support/Claude/claude_desktop_config.json 包含 A2AMCP 服务配置
常见问题
  • “Tool 'X' not yet implemented” - 已在最新版本中修复,请拉取最新更改
  • 连接失败 - 确保 Docker 正在运行,且端口 5050/6379 未被占用
  • Redis 连接错误 - 等待 Redis 就绪(启动时约需 5-10 秒)

🤝 参与贡献

欢迎贡献!请参阅 CONTRIBUTING.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+ 个并发 Agent
  • 消息传递耗时不到 1 秒
  • 自动清理失效的 Agent
  • 支持水平扩展

🔒 安全

  • 项目隔离
  • 可选身份验证(即将推出)
  • 加密通信(路线图)
  • 审计日志

📄 许可证

MIT 许可证 - 请参阅 LICENSE 文件。

🙏 致谢

📞 支持


A2AMCP - 将孤立的 AI Agent 转变为协同工作的开发团队

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。