| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
A2AMCP brings Google's Agent-to-Agent (A2A) communication concepts to the Model Context Protocol (MCP) ecosystem, enabling AI agents to communicate, coordinate, and collaborate in real-time while working on parallel development tasks.
Originally created for SplitMind, A2AMCP solves the critical problem of isolated AI agents working on the same codebase without awareness of each other's changes.
✅ Server Status: WORKING! All 17 tools implemented and tested. Uses modern MCP SDK 1.9.3.
# 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# 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.pyAdd to your configuration file (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"splitmind-a2amcp": {
"command": "docker",
"args": ["exec", "-i", "splitmind-mcp-server", "python", "/app/mcp-server-redis.py"],
"env": {
"REDIS_URL": "redis://redis:6379"
}
}
}
}When multiple AI agents work on the same codebase:
A2AMCP can coordinate any multi-agent scenario:
┌─────────────────┐
│ 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│
└────────┘└────────┘└────────┘└────────┘
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: localpip install a2amcp-sdknpm install @a2amcp/sdkfrom 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; }"
)# 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 {...}")See SDK Development Progress for details.
A2AMCP is designed to work with:
While inspired by Google's A2A protocol, A2AMCP makes specific design choices for AI code development:
| Feature | Google A2A | A2AMCP |
|---|---|---|
| Protocol | HTTP-based | MCP tools |
| State | Stateless | Redis persistence |
| Focus | Generic tasks | Code development |
| Deployment | Per-agent servers | Single shared server |
We welcome contributions! See CONTRIBUTING.md for guidelines.
# 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 upMIT License - see LICENSE file.
A2AMCP - Turning isolated AI agents into coordinated development teams
| Back | FazBrowse Home | New Git URL |