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.
Login requests read,write by default. To authorize paid hosted tools, run login --scopes read,write,panel:launch,rewards:send and approve the requested access in the browser. You can grant only the paid scope you need.
The CLI creates a read-only key by default. For a research agent that also writes, use --scopes read,write. Paid scopes require write and a positive lifetime cap, for example --scopes read,write,panel:launch --spend-cap-usd 100.
list
list works without an API key.
describe <tool> [--json]
- The tool’s title (one line)
- Its full description (the same text MCP clients see)
- Every input flag (
--name, optional flag suffix, type, enum choices, default, and description)
list, it makes no backend call.
Use --json before or after the tool name for a stable machine-readable object:
name, title, description, inputSchema, outputSchema, and annotations. Schemas are JSON Schema, so agents and scripts can inspect types, enum values, defaults, and required fields without parsing terminal prose.
If the tool name is unknown, prints Unknown tool: <name> to stderr and exits with code 2.
<tool> [flags]
Argument forms
You can pass inputs three ways. They behave identically once parsed.- Inline flags
- Inline JSON
- JSON file
--key value pairs. Values are JSON-parsed when possible, so the right type lands in the schema:--target 25→ number25--dry_run true→ booleantrue--quality '["Excellent"]'(onlist_interviews) → array--country_code US→ string (JSON parse fails, falls back to string)
--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 intojq without log noise:
error string:
help
Environment
Tool inventory
The CLI exposes 49 direct tool commands. The MCP-onlyreview_study app is available in supported hosts. For full descriptions grouped by capability, browse the MCP tool reference — shared names, schemas, validation, and responses are identical.
The quickest way to see what’s available locally:

