MCP server

Routebook ships an MCP server so any compliant LLM client — Claude Desktop, Goose, custom agents — can call its tools directly.

Transport

WebStandard Streamable HTTP transport with SSE fallback for clients (e.g. Goose) that prefer streaming over chunked HTTP. Single endpoint at /api/mcp.

Auth

  • OAuth flow for human users (browser-driven consent).
  • Personal Access Tokens (PATs) for headless / CLI / agent use.
  • Each token carries scopes — only tools matching held scopes are exposed in tools/list.

Tools (scope-gated)

  • search_rides, get_riderides:read
  • update_ride, trigger_strava_syncrides:write
  • get_fitness_stateinsights:read
  • read_profile, update_profileprofile:read / profile:write
  • generate_workoutworkouts:generate
  • generate_ride_narrativeinsights:generate
  • ask_coachchat:send

Telemetry

Every tool call is wrapped in a Langfuse span — input, output, model, tokens, latency, error class. PII is redacted at the boundary.

Read the full write-up on Orbital