Skip to main content
The CLI has four top-level subcommands. Every tool call goes through call; the others help you discover what’s available.

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.

call <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:
  • --n 25 → number 25
  • --dry_run true → boolean true
  • --options '["A","B"]' → array
  • --text "Which tagline wins?" → 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 four forms print the same usage summary plus the full tool list. Makes no backend call.

Environment

OAuth / Clerk variables are not used in CLI mode — they only apply to the streamable-HTTP MCP transport.

Tool inventory

The CLI exposes the same 71 tools as the MCP server. For full descriptions of each tool grouped by capability, browse the MCP tool reference — the schemas are identical, only the invocation differs. The quickest way to see what’s available locally: