Skip to main content
Glama

Agentes A2A ⚡ MCP

Este proyecto demuestra dos enfoques diferentes para la comunicación entre agentes:

  1. Programa de control maestro (MCP) : un enfoque basado en servidor centralizado donde los agentes se comunican a través de un servidor central

  2. Agente a agente (A2A) : un enfoque descentralizado peer-to-peer donde los agentes se comunican directamente entre sí.

Instalación

  1. Crear y activar un entorno virtual:

python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Instalar dependencias:

pip install -r requirements.txt

Related MCP server: Novu MCP Server

Uso

Servidor y agentes MCP

  1. Inicie el servidor MCP:

python cli.py run-mcp-server
  1. En terminales separadas, inicie uno o más agentes MCP:

python cli.py run-mcp-agent --agent-id agent1
python cli.py run-mcp-agent --agent-id agent2

El servidor MCP rastreará todos los agentes conectados y su estado. Puede consultar el estado abriendo http://localhost:5000 en su navegador.

Red A2A (Agente a Agente)

  1. Inicie el primer agente A2A:

python cli.py run-a2a-agent --agent-id a2a1 --port 5001
  1. Inicie agentes A2A adicionales y conéctelos a los agentes existentes:

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

Los agentes A2A descubrirán automáticamente a otros agentes a través de sus pares iniciales. Puede escribir mensajes en la terminal de cualquier agente para difundirlos a todos los agentes conectados.

Arquitectura

MCP (Programa de Control Maestro)

  • Servidor centralizado que rastrea a todos los agentes

  • Los agentes se registran en el servidor y mantienen la conexión mediante latidos.

  • El servidor proporciona una interfaz web para supervisar el estado del agente

  • Simple y confiable pero tiene un único punto de falla

A2A (Agente a Agente)

  • Red peer-to-peer descentralizada

  • Los agentes se conectan directamente entre sí

  • Los mensajes se inundan a través de la red.

  • Más resistente pero requiere una coordinación más compleja

  • No hay un único punto de fallo

Estructura del proyecto

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

Contribuyendo

No dudes en enviar problemas y solicitudes de extracción para mejorar la demostración.

Related MCP Connectors

Related MCP Servers