Connect the hosted MCP
The hosted policy is: first call free, then pay per call in USDC (x402) — your agent brings its wallet. One successful intelligence-tool invocation is free per observed network origin. Changing session IDs or client metadata does not create another grant; callers sharing one outbound address also share the courtesy call.otto_catalog is always free, does not consume it, and returns the full live x402 menu.
Claude Code
Claude Desktop
Customize → Connectors → + → Add custom connector → pastehttps://mcp.ottoai.services.
Cursor
Add it to~/.cursor/mcp.json (or .cursor/mcp.json for a single project):
Codex CLI
ChatGPT
Settings → Security and login → toggle Developer mode. Then Settings → Plugins → + → pastehttps://mcp.ottoai.services.
After the free call, an unpaid intelligence-tool invocation returns a machine-actionable payment_required result with the route’s live Base-USDC x402 requirement. The hosted wrapper preserves that requirement and adds:
command: an exactcurlcommand for this tool path and input.why_paid: the tool and the response this payment buys.pricing_model: the shared hosted pricing policy.free_call: whether the observed network origin’s grant is spent or currently in progress.catalog: the always-freeotto_catalogpointer for comparing the full menu.
x_payment. The wallet and signing key stay in the client; the hosted MCP holds neither.
If no free result is available for an input, the server responds promptly and leaves the grant available. A paid invocation sends its signed authorization once. If the public route cannot complete that read, the tool returns x402_read_retriable with reuse_x_payment: false; obtain a new requirement before another attempt.
Hosted or local
Local x402 package
The local package is for operators who want on-demand coverage and per-call USDC settlement. Create a fresh wallet, fund it only with the Base USDC you intend to spend, and expose its key only to the local MCP process.The payer key signs bounded Base-USDC payment authorizations locally. It is never sent to Otto. Use a disposable, low-balance wallet rather than a primary wallet. Env-var syntax differs by client — Cursor expects
${env:X402_PRIVATE_KEY} where the block above uses ${X402_PRIVATE_KEY}.Tools
Both transports consume the same ten intelligence-tool definitions. The hosted transport also exposesotto_catalog, the always-free storefront tool.
otto_catalog has no input and no price. It derives the current endpoint count, paths, descriptions, and prices from the live x402 discovery surfaces rather than storing a fixed count.
For SEC field semantics and amendment handling, see SEC filings methodology.
Example prompts
Tokenized-equity thesis screen
Tokenized-equity thesis screen
Use otto_tokenized_equities with thesis "AI infrastructure chips." Show why each row matched, separate reference price from executable pricing, and do not recommend a trade.Insider and fundamentals cross-check
Insider and fundamentals cross-check
For NVDA, compare otto_insider_trades with otto_equity_intel. Separate observed SEC data from your interpretation and call out freshness.Institutional ownership
Institutional ownership
Use otto_institutional_holdings for Berkshire Hathaway (CIK 1067983). Summarize the latest top positions and amendment status without treating the filing as a current portfolio recommendation.Smart-money filing brief
Smart-money filing brief
Run otto_equity_smart_money_brief for AAPL. Extract the Form 4 and 13D/13G evidence behind the brief and describe uncertainty.Market regime context
Market regime context
Read otto_rh_season, otto_base_season, and otto_pm_crypto. Summarize where the signals agree or conflict; do not generate an order.