A2A & MCP 통합으로 AI 에이전트 협업 구현
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

A2A와 MCP 통합 구현

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

개발 툴

대상자

AI 개발자, 시스템 엔지니어, 프로토콜 구현자

  • 난이도: 중간 (API 키 설정, 서버 구성, 프레임워크 이해 필요)

핵심 요약

  • A2A와 MCP 통합을 통해 다양한 서드파티 서비스와의 협업이 가능
  • MCP 서버를 통해 FinnHub APISerper.dev API 연동
  • 플래닝 에이전트가 사용자 쿼리를 분해 후 서브태스크로 전달
  • 예: stock_report_agentgoogle_search_agent에 분배
  • A2A Registry를 통해 에이전트 발견협업 구현
  • /.well-known/agent.json 엔드포인트 사용

섹션별 세부 요약

1. A2A와 MCP 개요

  • A2A 프로토콜
  • 다양한 에코시스템 간 에이전트 협업 지원
  • /.well-known/agent.json을 통해 에이전트 발견
  • MCP 프로토콜
  • 서드파티 서비스와의 통신을 표준화
  • get_symbol_from_query, get_price_of_stockMCP 서버 툴 제공

2. 시스템 아키텍처

  • 호스트 에이전트
  • 내부 인프라에 배포
  • MCP 서버와 연동하여 외부 서비스 접근
  • 리모트 에이전트
  • 외부 인프라에 배포
  • A2A 프로토콜을 통해 호스트 에이전트와 통신

3. MCP 서버 구성

  • 두 개의 MCP 서버 정의
  • search_server.py: Serper.dev API 연동 (웹 검색)
  • stocks_server.py: FinnHub API 연동 (주식 가격)
  • 에이전트와 MCP 서버 간 통신
  • return_sse_mcp_tools_stocks 함수를 통해 MCP 서버 연결

4. 개발 환경 설정

  • 필수 사전 조건
  • UV 설치, Google API Key, Finnhub API Key
  • Gemini API 무료 계층 사용 시 모델 이름 변경 필요
  • 환경 변수 설정
  • .env 파일에 FINNHUB_API_KEY, GOOGLE_API_KEY, SERPER_DEV_API_KEY 입력

5. 실행 및 테스트

  • 서버 실행 명령어
  • uv run mcp_server/sse/stocks_server.py
  • uv run a2a_servers/agent_servers/stock_report_agent_server.py
  • 사용자 쿼리 예시
  • "Apple의 주식 가격과 회사 동향을 알려줘"
  • 플래닝 에이전트서브태스크 분배 후 결과 합성

결론

  • A2A와 MCP 통합 구현을 위해 MCP 서버 구성, 에이전트 특화, API 키 설정이 필수
  • A2A Registry를 통해 에이전트 발견협업 가능
  • 실제 구현 시 /.well-known/agent.json 엔드포인트와 MCP 서버 연동을 체크
  • 환경 변수 설정서버 실행 순서를 준수해 시스템 안정성 확보