Skip to main content
Glama

A2A ⚡ MCP 에이전트

이 프로젝트는 에이전트 커뮤니케이션에 대한 두 가지 다른 접근 방식을 보여줍니다.

  1. 마스터 제어 프로그램(MCP) - 에이전트가 중앙 서버를 통해 통신하는 중앙 집중식 서버 기반 접근 방식

  2. 에이전트 간(A2A) - 에이전트가 서로 직접 통신하는 분산형 P2P 방식

설치

  1. 가상 환경을 만들고 활성화하세요.

지엑스피1

  1. 종속성 설치:

pip install -r requirements.txt

Related MCP server: Novu MCP Server

용법

MCP 서버 및 에이전트

  1. MCP 서버를 시작합니다.

python cli.py run-mcp-server
  1. 별도의 터미널에서 하나 이상의 MCP 에이전트를 시작합니다.

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

MCP 서버는 연결된 모든 에이전트와 그 상태를 추적합니다. 브라우저에서 http://localhost:5000을 열면 상태를 확인할 수 있습니다.

A2A(에이전트 간) 네트워크

  1. 첫 번째 A2A 에이전트를 시작합니다.

python cli.py run-a2a-agent --agent-id a2a1 --port 5001
  1. 기존 에이전트에 연결하여 추가 A2A 에이전트를 시작합니다.

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 에이전트는 초기 피어를 통해 다른 에이전트를 자동으로 검색합니다. 모든 에이전트의 터미널에 메시지를 입력하여 연결된 모든 에이전트에게 브로드캐스트할 수 있습니다.

건축학

MCP(마스터 컨트롤 프로그램)

  • 모든 에이전트를 추적하는 중앙 서버

  • 에이전트는 서버에 등록하고 하트비트를 통해 연결을 유지합니다.

  • 서버는 에이전트 상태를 모니터링하기 위한 웹 인터페이스를 제공합니다.

  • 간단하고 안정적이지만 단일 실패 지점이 있습니다.

A2A(에이전트 간)

  • 분산형 P2P 네트워크

  • 에이전트는 서로 직접 연결됩니다.

  • 메시지는 네트워크를 통해 범람합니다.

  • 더 탄력적이지만 더 복잡한 조정이 필요합니다.

  • 단일 실패 지점 없음

프로젝트 구조

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

기여하다

데모를 개선하기 위해 자유롭게 문제점을 제출하고 풀 리퀘스트를 제출하세요.

Related MCP Connectors

Related MCP Servers