Skip to Content
dbmcp

Health probes

Liveness and readiness endpoints of the HTTP transport

The http transport serves two GET endpoints for Kubernetes probes, load balancers, and gateways. The MCP spec defines no health method, so they live outside the protocol:

PathChecksResponse
/healthzThe process serves HTTP requests (liveness)200 ok
/readyzThe default database answers SELECT 1 within 2 seconds (readiness)200 ok, or 503 unavailable

Both skip the bearer token and the Origin/Host allowlists, so probes need no credentials. Bodies never carry error details. Under stdio neither endpoint exists.

/readyz caps its database load: concurrent probes share one check, and its result answers every probe for one second. It returns 503 once shutdown starts. The default database is database.name; on PostgreSQL without a name it is the database named after database.user, so set database.name if that database does not exist. While every pooled connection is busy serving queries, the database counts as ready. Point Kubernetes livenessProbe and readinessProbe httpGet checks at these paths on the HTTP port.