
A2A MCP Server
A centralized server that tracks and manages connected agents, providing a web interface to monitor their status while enabling agent communication through a central point.
README
A2A ⚡ MCP Agents
This project demonstrates two different approaches to agent communication:
- Master Control Program (MCP) - A centralized server-based approach where agents communicate through a central server
- Agent-to-Agent (A2A) - A decentralized peer-to-peer approach where agents communicate directly with each other
Installation
- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
Usage
MCP Server and Agents
- Start the MCP server:
python cli.py run-mcp-server
- In separate terminals, start one or more MCP agents:
python cli.py run-mcp-agent --agent-id agent1
python cli.py run-mcp-agent --agent-id agent2
The MCP server will track all connected agents and their status. You can view the status by opening http://localhost:5000 in your browser.
A2A (Agent-to-Agent) Network
- Start the first A2A agent:
python cli.py run-a2a-agent --agent-id a2a1 --port 5001
- Start additional A2A agents, connecting them to existing agents:
python cli.py run-a2a-agent --agent-id a2a2 --port 5002 --peer localhost:5001
python cli.py run-a2a-agent --agent-id a2a3 --port 5003 --peer localhost:5001 --peer localhost:5002
A2A agents will automatically discover other agents through their initial peers. You can type messages in any agent's terminal to broadcast them to all connected agents.
Architecture
MCP (Master Control Program)
- Centralized server that tracks all agents
- Agents register with the server and maintain connection through heartbeats
- Server provides a web interface to monitor agent status
- Simple and reliable but has a single point of failure
A2A (Agent-to-Agent)
- Decentralized peer-to-peer network
- Agents connect directly to each other
- Messages are flooded through the network
- More resilient but requires more complex coordination
- No single point of failure
Project Structure
a2a_mcp/
├── agents/ # Agent implementations
│ ├── mcp_agent.py # MCP-based agent
│ └── a2a_agent.py # Peer-to-peer agent
├── mcp/ # MCP server implementation
│ └── server.py # Flask-based MCP server
├── cli.py # Command-line interface
└── requirements.txt # Python dependencies
Contributing
Feel free to submit issues and pull requests to improve the demonstration.
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.