Skip to main content
The brain is a FastAPI app. Agents use POST /mcp; the web UI uses the /api/… routes below with the same credentials. All project-scoped routes enforce membership; non-members get 404. Auth legend — A: normal gateway auth (Supabase session JWT, rr_sk_ key, or mk_ key + membership; runner child sessions carry a mas_ credential valid only on /mcp) · PUB: no auth · TOK: a one-time or HMAC token in the path is the credential · OP: operator X-Admin-Token.

MCP and discovery

OAuth routes exist only when the brain has an OAuth service configured (hosted and authenticated self-host); a loopback brain has none.

Health and meta

Clients send X-RP-Client-Version; below the floor → HTTP 426, checked before auth.

Projects, members, keys

Research records

Under auth, SSE can’t carry the header — the UI falls back to ETag polling.

Artifacts and storage

Sandboxes and providers

Registered only when sandboxes are enabled.

Feed

Auto-run control plane

Pairing routes exist only on an authenticated brain — a loopback brain has no pairing.

Off by default

MLflow tracking routes (…/experiments/{experiment_id}/results/metrics, /api/projects/{project_id}/mlflow, /internal/auth/mlflow) register only when tracking is enabled. /mcp/tools and /mcp/call are legacy shims; use /mcp.