Skip to main content
The CLI supports authentication, API-key management, tool discovery, and direct tool invocation. The older call <tool> form remains an alias for compatibility.

Authentication and API keys

login uses the hosted MCP OAuth service and opens a temporary callback only on 127.0.0.1. api-key create requires that OAuth login, prints the raw key once, and saves it for subsequent CLI and stdio MCP calls.

list

Writes one tool name per line to stdout. Sorted alphabetically. Pipe into other shell tools:
No backend call is made — list works without an API key.

describe <tool>

Prints:
  • The tool’s title (one line)
  • Its full description (the same text MCP clients see)
  • Every input flag (--name, optional flag suffix, and the description attached to each argument)
Use this to discover argument names and types without leaving the terminal. Like list, it makes no backend call. If the tool name is unknown, prints Unknown tool: <name> to stderr and exits with code 2.

<tool> [flags]

Runs the tool. Output is the tool’s text response written to stdout — typically JSON, the same payload an MCP client would receive. Errors are also JSON-shaped ({"error": "…"}) so success and failure parse identically.

Argument forms

You can pass inputs three ways. They behave identically once parsed.
--key value pairs. Values are JSON-parsed when possible, so the right type lands in the schema:
  • --target 25 → number 25
  • --dry_run true → boolean true
  • --quality '["Excellent"]' (on list_interviews) → array
  • --country_code US → string (JSON parse fails, falls back to string)
Flags with no value (e.g. --verbose) are treated as boolean true.

Input validation

Inputs are validated against the tool’s Zod schema before any backend call. Missing required fields, wrong types, and enum mismatches all fail fast:

Exit codes

Output and pipes

Tool responses go to stdout. Diagnostic logs (handler errors, stack traces) go to stderr. This separation means you can safely pipe into jq without log noise:
Backend errors round-trip as JSON on stdout, so a pipeline never silently drops them:

help

All three forms print the same usage summary plus the full tool list. Makes no backend call.

Environment


Tool inventory

The CLI exposes the same 33 tools as the MCP server. For full descriptions grouped by capability, browse the MCP tool reference — names, schemas, validation, and responses are identical. The quickest way to see what’s available locally: