Files
dap-was-dapms/docs/contracts/tool-service-mcp
janghw 60788525d6
All checks were successful
Deploy Gateway / deploy (push) Successful in 2m35s
Use manifest-defined endpoints for tool routing
2026-08-19 11:43:24 +09:00
..
2026-08-05 15:54:25 +09:00

Tool Service-MCP 계약 문서

이 디렉터리는 Tool Service와 MCP Server 사이의 metadata 조회·실행 계약을 관리한다.

Agent Builder ──[agent-builder-mcp 계약]──▶ MCP Server ──[tool-service-mcp 계약]──▶ Tool Service
문서 상태 용도
protocol-v0.2-bundle-discovery.md Implemented Tool Service Bundle의 매니페스트 조회·실행 계약. 구현은 N개 Bundle을 지원하지만 운영 배포는 1개로 고정
TEMP-tool-list-loading-guide.md Temporary Tool 개발 파트가 현재 최초 적재·memory snapshot·tools/list 변환 흐름을 이해하기 위한 안내

push 등록 방식(v0.1)은 채택하지 않았다. 그 이유는 v0.2 §2에 있다.

현재 원칙

  • 운영 Tool metadata의 유일한 원천은 각 Tool Service의 매니페스트다.
  • local profile은 Tool Service 매니페스트를 먼저 조회하고, 최초 실패 시 config/local-core-tools-manifest-sample-v1.json fallback을 사용한다.
  • 표준 MCP nametools/listtools/call의 실행 식별자다. Agent Builder UID는 이 계약에 포함하지 않는다.
  • Tool Service는 표준 MCP name을 선언한다. MCP는 자기 Bundle 안에서 형식·접두사·중복을 검증하며, 서로 다른 MCP 배포 간 전역 유일성은 Tool Service·플랫폼의 변경 절차로 보장한다.
  • MCP는 요청 경로에서 in-memory snapshot만 읽는다. Redis는 선택적인 공유 last-good cache다.
  • 조회 실패는 Tool 삭제가 아니다. 성공한 매니페스트가 Tool을 제외했을 때만 삭제를 반영한다.
  • 불완전한 aggregate, 중복 name, 총량 상한 초과는 현재 snapshot을 교체하지 않는다.

예제와 검증

examples/bundle-v0.2의 매니페스트, MCP 설정, Actuator 상태 응답을 계약 테스트가 직접 읽는다. 예제와 구현은 같은 변경에서 함께 수정한다.

운영 적용 전에 Tool 개발 파트와 다음 항목을 확정한다.

  1. MCP → Tool 방향 NetworkPolicy와 매니페스트 인증 방식
  2. Tool name 변경·폐기 시 rolling 호환 기간
  3. namePrefix, Tool 수, 매니페스트 크기 상한
  4. Tool Service별 timeout과 권한 scope

상세 필드와 장애 처리는 v0.2 계약을 따른다.