orca mcp serve runs an MCP server on stdio that exposes Orca’s control plane to any MCP client. It ships inside the orca CLI, so there is nothing extra to install and it reuses the CLI’s stored credentials.
{"command": "orca", "args": ["mcp", "serve"]} (JSON) or the TOML equivalent.
Auth resolution
Per call, in order: the CLI’s--context selection, then ORCA_API_KEY and ORCA_API_URL environment variables, then the active context in ~/.config/orca/config.json (written by orca login). A missing or rejected credential returns an in-band tool error whose text contains the fix, so agents self-correct.
Tools
One resource:
orca://openapi, the live OpenAPI spec (also public at https://api.orcapods.ai/api/openapi.yaml), which documents everything api_request can reach.
Behavior contract
- Results are compact JSON, capped near 50KB and 100 events per call, with truncation always announced in the payload. Narrow requests (
limit,prefix,maxBytes) to page through the rest. - Failures are in-band MCP error results whose text states the fix (for example
Run: orca login or set ORCA_API_KEY), never silent. - The server writes nothing to stdout except JSON-RPC; diagnostics go to stderr.
Following runs
MCP tools are request and response, so streaming is modeled as a long-poll loop:timeoutSeconds with whatever arrived; afterEvent deduplicates across calls.