상태 확인 엔드포인트

상태 확인 엔드포인트 (Health check endpoint)

이 문서에서는 SSE 또는 streamable HTTP 전송을 사용할 때 MCP 서버가 /healthz에 노출하는 상태 확인 엔드포인트를 알아봐요. 로드 밸런서, 모니터링, 오케스트레이션이 이를 사용해 서버가 실행 중이고 연결을 수락하는지 확인할 수 있어요.

출처: 문서

본문

달성할 목표 (What you'll achieve)

서버가 HTTP 전송을 사용할 때 스크립트나 상위 검사(upstream check)에서 준비 상태를 검사할 수 있어요.

시작하기 전에 (Before you begin)

  • -t sse -t streamable-http

상태 확인 요청 보내기 (Send a health check request)

엔드포인트: GET /healthz

응답:

  • 200 OK
  • ok

예시:

# 기본 수신 주소(localhost:8000)를 사용하는 streamable HTTP 또는 SSE 전송용
curl http://localhost:8000/healthz

# 별도의 수신 주소에서 상태 확인 (예: --address가 사이드카 뒤의 127.0.0.1에 바인딩된
# Kubernetes 프로브)
./mcp-grafana -t streamable-http --address 127.0.0.1:8000 --healthz-address :8080
curl http://localhost:8080/healthz

/healthz 핸들러는 HTTP 서버가 살아 있는지만 보고하며 Grafana 연결 상태는 확인하지 않아요. --healthz-address 리스너는 --allowed-hosts/--allowed-origins 검증으로 감싸지지 않으며, --metrics-address와 동일하게 동작해요.

참고: 상태 확인 엔드포인트는 SSE 또는 streamable HTTP 전송을 사용할 때만 제공돼요. stdio 전송(-t stdio)에서는 HTTP 서버를 시작하지 않으므로 사용할 수 없어요.

다음 단계 (Next steps)

  • 전송 방식과 주소
  • 명령줄 플래그

더 알아보기 (Learn more)