CrossAgentMCP
An A2A pool MCP server that enables multiple AI agents to register, collaborate in sessions, critique each other, and self-improve towards shared goals with no human intervention.
README
CrossAgentMCP — an A2A pool MCP
A minimal implementation of the A2A.md vision: an A2A pool MCP where
- any agent can register into the shared pool,
- any agent can bind into a multi-agent session,
- agents watch each other's activity, critique peers after they finish, self-improve, and keep working with no human intervention until a shared goal is satisfied by every agent in the session.
Architecture
Three process types:
┌────────────────── POOL (:9100, FastAPI HTTP JSON-RPC) ──────────────────┐
│ registry / sessions / activity / critique / goal (in-memory control │
│ plane — does NOT route work messages) │
└──────────────────────────────────────────────────────────────────────────┘
▲ pool JSON-RPC (PoolClient) ▲ pool JSON-RPC (per-agent bridge)
│ │
┌─────┴──────┐ peer A2A (SendMessage/GetTask) ┌─────┴──────┐
│ orchestrator│◄──────────────────────────────────►│ agent-N │ … :9101..9103
└────────────┘ each agent runs its own └────────────┘
headless v1.0 A2A HTTP server
- Pool (
crossagent/pool.py) — central control plane: registry, sessions, an append-only per-session activity log, critique threads, and per-agent satisfaction. - Agents — each is a directory (
agents/<role>/) with:server.py— a v1.0 A2A HTTP server (peer data plane);.mcp.json— registers thea2astdio MCP bridge (crossagent/a2a_bridge.py);CLAUDE.md— the role + per-turn contract.
- Orchestrator (
crossagent/orchestrator.py) — the only component that advances time: registers agents, creates the session, then round-robin runs each agent headlessly (claude -p), feeding it the activity/critique delta since its last turn, until all members are satisfied (or a turn budget / no-progress guard trips).
Protocol
Faithful to A2A v1.0 (PascalCase JSON-RPC methods, camelCase JSON,
SCREAMING_SNAKE_CASE enums). See crossagent/a2a.py.
Setup
uv sync # Python 3.11+ venv + deps
Usage
make test # unit tests (protocol / pool / orchestrator with fake agents)
make smoke # pool + 2 A2A servers up; scripted round-trip (no real Claude)
make demo # full headless 3-agent demo (writer / critic / lead) — needs `claude`
Demo goal
demo/goal.json asks three agents — writer, critic, lead — to co-author
demo/output/design.md (a URL-shortener design) until all three declare satisfied.
Notes
.mcp.jsonfiles hardcode the repo pathD:/GitRepo-AI/CrossAgentMCP(matching the claude-a2a reference); update it if you relocate the repo.- The pool and agent servers keep state in memory; they reset on restart.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.