DevTo AI Agent 구현: A2A와 MCP 통합
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
AI 에이전트 개발자, A2A/MCP 프레임워크 사용자, Dev.to 플랫폼 통합 개발자
핵심 요약
- Devto Agent와 Devto 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 Agent와 Devto 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 Inspector와 test_devto_connection.py 스크립트를 활용해 실제 도구 실행 테스트
DevToService
클래스와FastMCP
통합을 통해 Dev.to 플랫폼과의 실시간 데이터 교환 구현 가능- SSE 기반 아키텍처로 확장성과 비동기 처리를 동시에 달성한 예시 프로젝트