DevTo AI Agent 구현: A2A와 MCP 통합
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

DevTo AI Agent 구현: A2A와 MCP 통합

카테고리

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

서브카테고리

웹 개발

대상자

AI 에이전트 개발자, A2A/MCP 프레임워크 사용자, Dev.to 플랫폼 통합 개발자

핵심 요약

  • Devto AgentDevto MCP Server를 통해 Dev.to 플랫폼의 블로그, 사용자 정보, 댓글 데이터를 접근하고 게시물 생성이 가능
  • DevToService 클래스를 통해 Dev.to API 인터페이스 구현 (GET/POST 요청 처리, 페이징 기능)
  • FastMCP 프레임워크와 Starlette를 활용한 실시간 SSE 통신 구현 (비동기, 확장성 강화)
  • MCP Inspector를 통해 서버 기능 검증get_articles/get_articles_by_tag 도구 실행 테스트

섹션별 세부 요약

1. A2A와 MCP 아키텍처 설계

  • Host AgentDevto Agent 구조로 설계 (사용자 요청 대리 처리)
  • Devto MCP Server가 Dev.to API와의 상호작용을 중개
  • CLI(A2A 클라이언트) → Host Agent → Devto Agent → Devto MCP Server → Dev.to 플랫폼 데이터 흐름

2. DevToService 클래스 구현

  • DevToService 클래스 정의 (Dev.to API 키 및 기초 URL 환경 변수로 초기화)
  • send_request() 메서드를 통해 GET/POST 요청 처리 (200 상태 코드 시 JSON 응답 반환)
  • get_articles()get_articles_by_tag() 메서드로 페이징 및 태그 기반 데이터 검색 구현

3. MCP 프레임워크 통합

  • FastMCP 서버 인스턴스 생성 및 @mcp.tool() 데코레이터로 도구 등록
  • get_articles()/get_articles_by_tag() 도구 정의 (DevToService 메서드 외부 노출)

4. 실시간 통신 구현 (SSE)

  • Starlette 프레임워크로 Server-Sent Events (SSE) 라우트 (/sse) 구현
  • /messages/ 경로를 통해 클라이언트 데이터 수신 처리
  • 비동기 통신 및 확장성 강화를 위한 아키텍처 설계

5. MCP 서버 테스트 및 검증

  • mcp dev mcp_servers/sse/devto_server.py 명령으로 서버 실행
  • MCP Inspector를 통해 도구 목록 확인get_articles 도구 실행 테스트
  • 성공 시 응답 데이터로 MCP 서버 기능 검증 완료

6. Agent-Connector 및 테스트 스크립트

  • get_devto_tools() 함수로 MCP 서버 연결 및 도구 획득
  • test_devto_connection.py 스크립트로 도구 목록 확인 및 에이전트 생성 테스트
  • LlmAgent 생성 시 gemini-2.0-flash 모델 사용 (사용자 지정 가능)

결론

  • MCP 서버 기능 검증을 위해 MCP Inspectortest_devto_connection.py 스크립트를 활용해 실제 도구 실행 테스트
  • DevToService 클래스와 FastMCP 통합을 통해 Dev.to 플랫폼과의 실시간 데이터 교환 구현 가능
  • SSE 기반 아키텍처로 확장성과 비동기 처리를 동시에 달성한 예시 프로젝트