How the Coordinator and Agents work together to answer complex questions
When a message arrives, the Coordinator classifies intent. Simple factual lookups get an immediate response. Anything requiring analysis, multiple sources, or judgment triggers the full multi-agent pipeline.
The coordinator reads the user model (risk profile, positions, preferences) before deciding how to route the question.
The Coordinator (Claude Opus) runs an orchestration loop. In each phase it spawns agents, waits for their results, reviews them, then decides what to do next. Results flow back to the coordinator between each phase — it's a loop, not a pipeline.
Each agent runs Claude Sonnet in an isolated OpenCode sandbox. The coordinator loops between phases, reviewing results before spawning the next batch.
The coordinator (Claude Opus) uses these tools to manage the workflow. It delegates all research to agents; the one direct-data tool, fetch_page, is reserved for one-off reads where spawning an agent would be overkill.
The coordinator cannot search the web, call an LLM for sub-questions, or read any data source directly beyond fetch_page — everything else goes through agent spawns.
Spawn a new agent by type, or send a follow-up message to a running one
Stop a running agent that is no longer needed
Show or clear interim synthesis (markdown, or named-key perspectives) while agents run
Create or update a visualization in the user's panel — chart, table, forecast, knowledge graph, etc.
Remove duplicate or withdrawn artifacts from the thread's panel
Record, update, or withdraw a falsifiable forecast with probability and resolution criteria
Record 3 follow-up question chips shown under the final synthesis
Scrape a specific URL directly via Firecrawl (bypasses agent spawn for one-off reads)
The Trade Terminal variant swaps the default toolset for a structured trade-card workflow. The coordinator can read market data directly, run web search, and progressively fill in the user's Trade Card (thesis → instrument → sizing → risk → finalize). Agent spawns are restricted to tweet-analyst and any artifacts those agents emit are suppressed so the Trade Card remains the single surface.
Trade Terminal replaces emit_artifact / emit_forecast / suggest_follow_ups with the Stage-1 thesis + Stage-2 structuring tools, and adds direct market / options / filings / web-search access.
Patch Stage-1 thesis fields on the bound Trade Card
Initialize Stage-2 structure with a single trade instrument
Set Stage-2 sizing for the leg, compute tier / base gross / final gross
Set stop, invalidation statement, profit targets, and max hold days
Validate Stage-2 structure and mark trade card status = ready
Current spot and daily OHLC history with ATR computed from OHLC (Massive)
Options chain snapshot for an underlying ticker (Massive)
Recent SEC filing context and references for a ticker (Exa)
Exa web search — titles, URLs, and content excerpts with category/domain/date filters
Firecrawl scrape of a specific URL
Restricted to tweet-analyst; artifacts from spawned agents are suppressed
Cancel the running tweet-analyst agent
Every agent runs inside an OpenCode sandbox. It reaches the outside world through two surfaces, both provisioned at session start — MCP servers called as native tool_use blocks, and sandbox skills (Python SDKs and HTTP proxies) invoked by writing and executing code. Both are scoped to the sandbox, both are proxied through the backend so credentials never touch the container.
Sidecar tools for the sandbox: report_progress, emit_artifact, delete_artifact
search (neural web search with filters) · answer (direct factual lookups with citations)
scrape_page — fetch arbitrary URLs with bot protection, JS-rendered pages, and PDFs
search_news — indexed Reuters + SeekingAlpha articles filterable by date and entity
transcribe_youtube_video — human captions where available, auto-generated otherwise
search_tweets, get_user_tweets, get_tweet, get_tweet_thread, get_user, get_user_profile
search_markets — Polymarket + Kalshi odds, prices, and order book depth
Not enabled yet (toolsEnabled=false). When turned on: wiki_search, wiki_get_page, wiki_get_pages, wiki_list_category, wiki_get_backlinks, wiki_recent_changes, wiki_ask (read-only).
MediaWiki is wired up but currently gated off (mediawiki.toolsEnabled=false) — it does not register as a live MCP server until the flag is flipped.
OHLCV, options chains with greeks & IV, technicals, forex, crypto, short interest, treasury yields, dividends, splits — Python SDK
Mapping, Query, Section Extractor (10-K/10-Q), XBRL-to-JSON, Insider Trading, 13F/13D/G, Form 4, Exec Comp, N-PORT, Form D, S-1/424B4
Options flow alerts, dark pool prints, GEX / gamma exposure, market tide, congressional + insider trades, short selling, crypto whales
800K+ Federal Reserve macro time series (rates, inflation, labor, GDP) + CPI / NFP / FOMC release calendars
Forward EPS & revenue estimates, earnings calendar, analyst consensus, insider sentiment (MSPR), social sentiment, lobbying, gov contracts
Analyst upgrades / downgrades / price target changes + analyst track-record accuracy (via the Massive SDK)
Weekly COT reports — leveraged fund and asset manager positioning in equity indices, rates, FX, VIX, energy, metals
US federal court docket search, PACER filing text, and full case records for litigation / securities fraud exposure
220M+ papers, citation graphs with intent labels, semantic recommendations, author h-index (for peer-reviewed evidence & diligence)
Daily curated ML/AI feed ranked by upvote velocity + semantic search across HF-indexed papers and arXiv IDs
System-prompt source hierarchy: primary regulatory + market data (SEC, Massive, FRED, CFTC) > derived / alt signals (Benzinga, Unusual Whales, Finnhub) > news & web.