
이 프로젝트는 AG2 프레임워크(이전 AutoGen)를 사용하여 MCP(Model Context Protocol)를 지원하는 지능형 에이전트를 구축하고, 표준화된 통신을 위해 A2A(Agent to Agent) 프로토콜을 통해 통신하는 방법을 보여줍니다.
이 프로젝트의 핵심 기능은 다음과 같습니다:
git clone https://github.com/sing1ee/a2a-mcp-ag2-sample.git
cd a2a-mcp-ag2-sample
uv 패키지 관리자를 사용하여 가상 환경을 생성하고 종속성을 설치합니다:
# 가상 환경 생성
uv venv
# 가상 환경 활성화 및 종속성 동기화
uv sync
.env 파일을 생성하고 OpenAI API 키를 추가합니다:
echo "OPENAI_API_KEY=your_api_key_here" > .env
uv tool install git+https://github.com/sparfenyuk/mcp-youtube
# 기본 구성으로 실행
uv run .
# 사용자 정의 호스트 및 포트
uv run . --host 0.0.0.0 --port 8080
디버깅을 위해 A2A Inspector를 참조하세요. A2A Inspector는 A2A 애플리케이션 디버깅을 위해 특별히 설계된 강력한 도구로, 다음과 같은 도움을 제공합니다:
에이전트를 시작한 후, YouTube 자막 기능을 테스트하기 위해 다음 요청을 보낼 수 있습니다:
Summarize this video: https://www.youtube.com/watch?v=kQmXtrmQ5Zg
sequenceDiagram
participant Client as A2A Client
participant Server as A2A Server
participant Agent as AG2 Agent
participant MCP as MCP Server
participant YouTube as YouTube MCP Tool
Client->>Server: Send task request
Server->>Agent: Forward query to AG2 agent
Note over Server,Agent: Real-time status updates (streaming)
Agent->>MCP: Request available tool list
MCP->>Agent: Return tool definitions
Agent->>Agent: LLM decides to use YouTube tool
Agent->>MCP: Send tool execution request
MCP->>YouTube: Call YouTube subtitle download tool
YouTube->>YouTube: Download video subtitles
YouTube->>MCP: Return subtitle data
MCP->>Agent: Return tool execution result
Agent->>Agent: LLM processes subtitle data and generates response
Agent->>Server: Return complete response
Server->>Client: Respond with task result
AI 에이전트 제품의 급속한 발전과 확산으로 LangGraph, CrewAI, AG2 등과 같은 더 많은 에이전트 프레임워크와 솔루션이 시장에 등장했습니다. 각 프레임워크는 고유한 장점과 적용 시나리오를 가지고 있지만, 이는 상호 운용성에 대한 도전을 가져오기도 합니다.
A2A 프로토콜의 중요한 의미:
이 프로젝트는 A2A 프로토콜이 AI 에이전트 생태계를 연결하는 중요한 다리가 되어 전체 산업을 더욱 개방적이고 상호 연결된 방향으로 이끌 것임을 보여줍니다.