AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

ATDF와 MCP 간의 상호 운용성

카테고리

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

서브카테고리

개발 툴

대상자

AI 에이전트 및 외부 도구 통합을 처리하는 개발자, 엔지니어

핵심 요약

  • ATDF는 JSON/YAML 기반의 정적 도구 설명 형식으로, tool_id, description, when_to_use 등의 필드를 사용합니다.
  • MCP는 JSON-RPC 2.0 기반의 동적 프로토콜로, name, inputSchema, annotations 등의 필드를 사용하며, tools/listtools/call 엔드포인트를 통해 실시간으로 도구를 탐색하고 호출합니다.
  • 상호 운용성을 위해 MCP의 nametool_id, inputSchemahow_to_use.inputs 등의 필드 매핑을 수동 또는 스크립트로 처리해야 합니다.
  • ATDF SDKMCP SDK를 활용하여 형식 검증 및 데이터 직렬화를 수행할 수 있습니다.

섹션별 세부 요약

  1. ATDF와 MCP의 정의 및 목적
  • ATDF는 도구의 기능, 사용 시기, 사용 방법을 정적으로 설명하는 표준입니다.
  • MCP는 AI 에이전트가 외부 도구와 데이터 소스를 런타임에 탐색 및 호출하는 프로토콜입니다.
  • MCP는 "Multimodal Callable Procedures"가 아닌 Model Context Protocol이라는 공식 명칭을 사용합니다.
  1. 구조적 차이 및 필드 매핑
  • ATDF의 how_to_use.inputs는 이름, 타입, 설명을 포함한 파라미터 목록입니다.
  • MCP의 inputSchema는 JSON Schema 기반의 객체 정의를 사용합니다.
  • ATDF는 success/failure 메시지, MCP는 표준화된 출력 스키마가 없으며, 결과는 자유 형식으로 반환됩니다.
  1. 현재 상태 및 통합 방법
  • 공식적인 ATDF-MCP 통합은 없으나, AutoGenMcpToolAdapter를 통해 MCP 도구를 BaseTool 객체로 변환할 수 있습니다.
  • Python 스크립트를 사용하여 MCP 필드를 ATDF 형식으로 매핑하고, ATDF의 공식 SDK(pip install agent-tool-description-format)로 검증할 수 있습니다.
  • 공동체 노력으로 MCP와 AutoGen 에이전트 간 통합 사례(fetch 서버 등)가 존재합니다.
  1. 구현 예시 및 권장 사항
  • 예시: fetch 도구의 MCP 정의(url, raw 파라미터)를 ATDF의 tool_id, how_to_use.inputs로 매핑합니다.
  • 필수 검증: ATDF v0.2.0의 다국어 메타데이터, 버전 정보를 포함하여 JSON 스키마로 검증합니다.
  • 자동화: MCP SDK를 통해 tools/list 요청으로 도구를 동적으로 가져올 수 있으며, ATDF SDK로 직렬화합니다.

결론

ATDF와 MCP는 각각 정적 도구 설명런타임 통신을 위한 서로 다른 목적을 가집니다. 하지만 tool_idinputSchema 등의 필드 매핑을 통해 상호 운용 가능한 시스템을 구축할 수 있습니다. 현재는 수동 스크립트 또는 AutoGen의 McpToolAdapter를 사용해야 하지만, 공식 SDK와 JSON 스키마 검증을 통해 안정적인 통합이 가능합니다. 개발자는 ATDF의 다국어 지원 및 MCP의 동적 프로토콜 특성을 고려하여 도구 간 통합 전략을 설계해야 합니다.