본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 05. 21. 01:07

mcp-probe v1.0.0: MCP 서버를 위한 CI 준비성 게이트 (CI readiness gate)

요약

mcp-probe v1.0.0은 MCP 서버가 단순히 실행되는 것을 넘어, 실제 에이전트 워크플로우에서 도구가 정상적으로 작동하는지 검증하는 CI 준비성 게이트 도구입니다. 핸드셰이크, 도구 스키마, 실제 도구 호출 드라이 런(dry-runs) 등을 검사하여 인증이나 권한 문제로 인한 실행 실패를 사전에 방지합니다.

핵심 포인트

  • 단순 서버 실행 확인을 넘어 실제 도구 호출(tool-call)의 성공 여부를 검증하는 드라이 런 기능 제공
  • 사이드카 파일(sidecar files)을 통해 의미 있는 입력값과 기대 결과(expect)를 설정하여 정밀한 테스트 가능
  • stdio, HTTP, SSE 등 다양한 통신 프로토콜 지원 및 GitHub Actions 요약/어노테이션 기능 제공
  • 여러 MCP 서버를 한 번에 검사할 수 있는 배치(Batch) 검사 기능 지원

mcp-probe는 MCP 서버가 시작되고 도구(tools)를 노출하는지 확인하는 작은 CLI로 시작되었습니다. 이는 유용했지만, 에이전트 워크플로우(agent workflows)에서 실제 MCP 서버를 실행하는 개발자들의 피드백을 받은 후, 명확한 간극이 드러났습니다. 서버가 시작되고, tools/list를 통과하더라도 OAuth, 브라우저 인증(browser auth), 또는 다운스트림 권한(downstream permissions) 문제로 인해 모든 실제 도구 호출(tool call)이 실패할 수 있다는 점입니다. 그래서 저는 MCP 서버를 위한 CI 준비 완료 게이트(CI-ready readiness gate)로서 mcp-probe v1.0.0을 출시했습니다.

설치: npx @k08200/mcp-probe@latest <server>
예시: npx @k08200/mcp-probe@latest @modelcontextprotocol/server-memory

검사 항목:

  • MCP 프로토콜 핸드셰이크 (MCP protocol handshake)
  • tools/list (선택 사항)
  • 리소스 및 프롬프트 발견 (resources and prompts discovery)
  • 도구 스키마 형태 (tool schema shape)
  • 실제 도구 호출 드라이 런 (actual tool-call dry-runs)
  • stderr 분류 (stderr classification)
  • 지연 시간 (latency)
  • 배치/플릿 CI 상태 (batch/fleet CI status)

도구 호출 드라이 런 (Tool-call dry-runs)
npx @k08200/mcp-probe@latest <server> --probe-tools

이 기능은 “서버가 도구를 등록했다”는 사실과 “그 도구들이 에이전트 루프(agent loop)에서 실제로 작동한다”는 사실 사이의 간극을 메워줍니다.

사이드카 입력 (Sidecar inputs)
자동 생성된 입력은 폴백(fallback) 용도로만 사용됩니다. 실제 CI를 위해 v1은 사이드카 파일(sidecar files)을 지원합니다:

{
"tools" : {
"logs_query" : {
"input" : {
"query" : "service:web status:error" ,
"timeframe" : "1h"
},
"expect" : {
"not_error_code" : [ 401 , 403 ]
}
}
}
}

실행: npx @k08200/mcp-probe@latest datadog-mcp --probe-tools --tools-file .mcp-probe.json

이를 통해 CI는 단순히 스키마 최소 요건인 빈 문자열을 검증하는 대신, 의미 있는 도구 호출을 검증할 수 있습니다.

배치 검사 (Batch checks)
npx @k08200/mcp-probe@latest --config mcp-probe.config.json
팀에서 여러 개의 MCP 서버를 운영하며 하나의 준비성 게이트를 원할 때 유용합니다.

GitHub Actions 출력
npx @k08200/mcp-probe@latest --config mcp-probe.config.json --github-summary
v1은 GitHub 스텝 요약(step summaries)을 작성하고, 어노테이션(annotations)을 방출하며, shields-compatible 배지 JSON 파일을 생성할 수 있습니다.

HTTP 및 SSE
mcp-probe는 이제 stdio, Streamable HTTP, 그리고 레거시 SSE를 지원합니다:
npx @k08200/mcp-probe@latest https://example.com/mcp --header "Authorization: Bearer TOKEN"

stderr 분류 (Stderr classification)
일부 서버는 해롭지 않은 시작 경고(startup warnings)를 출력하지만, 다른 서버는 치명적인 초기화 오류(fatal init errors)를 출력합니다.

v1에서는 다음과 같은 명시적인 규칙(explicit rules)이 추가되었습니다: npx @k08200/mcp-probe@latest <server> \ --stderr-allow "deprecated" \ --stderr-fatal "missing required api key"

레시피 (Recipes)
이 저장소(repo)에는 Datadog, Supabase, Gmail, 단일 서버 GitHub Actions 체크, 플릿 체크(fleet checks), 그리고 원격 HTTP 체크(remote HTTP checks)를 위한 스타터 레시피가 포함되어 있습니다.

GitHub: https://github.com/k08200/mcp-probe
Release: https://github.com/k08200/mcp-probe/releases/tag/v1.0.0
npm: npm install -g @k08200/mcp-probe

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0