Skip to main content
FrontMCP provides Kubernetes-style /healthz (liveness) and /readyz (readiness) endpoints out of the box, with automatic dependency probing, catalog introspection, and runtime-aware behavior.

Quick Start

Health endpoints are enabled by default with zero configuration:

Endpoints

/healthz --- Liveness Probe

Returns server info, runtime context, and uptime. No I/O, no dependency checks.
  • HTTP 200 --- server process is alive
  • HTTP 503 --- server is degraded

/readyz --- Readiness Probe

Runs all registered probes in parallel, returns aggregate status with catalog introspection.
  • HTTP 200 --- all probes pass ("status": "ready")
  • HTTP 503 --- at least one probe unhealthy ("status": "not_ready")
The probes field is included by default in development but omitted in production to avoid leaking infrastructure topology. Control this with includeDetails.

Runtime Availability

The fetch handler (Cloudflare Workers, Vercel Edge, Deno) reads the same health settings: healthzPath, readyzPath, readyz.enabled and enabled: false (which answers 404). /readyz is off on those runtimes unless you set readyz.enabled: true.

Auto-Discovered Probes

FrontMCP automatically registers probes for infrastructure it knows about:
  • Session store --- pings Redis or Vercel KV when transport persistence is configured
  • Remote MCP apps --- reads health status from the built-in HealthCheckManager. Until the first check completes the probe reports degraded (state: unknown), which keeps /readyz at 200. A remote that fails its checks is unhealthy and turns /readyz into 503.
No configuration needed --- if you configure redis + transport.persistence, the session-store probe appears automatically.

Custom Probes

Add your own dependency checks:
Each probe must return a HealthProbeResult:

Configuration

Kubernetes

Set readyz.timeoutMs lower than your Kubernetes timeoutSeconds to ensure probes complete before the orchestrator times out.

Docker

Catalog Hash

The toolsHash in the /readyz response is a SHA-256 hash of sorted tool names. Use it to detect config drift across instances:
If hashes differ, one instance has a different tool configuration.

Disabling Health Endpoints

This disables /healthz, /readyz, and the legacy /health alias entirely.

Server Configuration

HTTP server options

Production Build

Production deployment guide

Redis Setup

Redis configuration

Observability

Tracing and monitoring