A2A MCP Server

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.

Category
Visit Server

README

A2A ⚡ MCP Agents

This project demonstrates two different approaches to agent communication:

  1. Master Control Program (MCP) - A centralized server-based approach where agents communicate through a central server
  2. Agent-to-Agent (A2A) - A decentralized peer-to-peer approach where agents communicate directly with each other

Installation

  1. Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt

Usage

MCP Server and Agents

  1. Start the MCP server:
python cli.py run-mcp-server
  1. 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

  1. Start the first A2A agent:
python cli.py run-a2a-agent --agent-id a2a1 --port 5001
  1. 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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured