Decision brief
Build a concise one-symbol brief from snapshot, valuation, and optional paid depth.
Short answer: search if needed, check coverage, call /v2/snapshot, call /v2/valuation, then add fundamentals, filings, or insider only when the user asks for that depth.
Use this when
Use this for prompts like:
- “Give me a quick brief on AAPL.”
- “Is this stock expensive?”
- “What is the current setup and key caveat?”
- “Summarize the stock without doing a full model.”
This guide is for context, not investment advice. Do not tell the user to buy, sell, hold, enter, exit, or size a trade.
Do not use this for
- SEC-only summaries. Use the SEC risk review path.
- Basket comparisons. Use
/v2/compare. - Raw chart data. Use
/v2/historyonly when the user needs an actual time series. - News, consensus, price targets, transcripts, ownership/13F, ETF holdings, or trade instructions.
Route plan
REST sequence:
# If the user gave a company/fund name instead of a ticker:
GET /v2/search?query=<company-or-fund-name>
# For a ticker or selected search match:
GET /v2/coverage?symbol=<symbol>
GET /v2/snapshot?symbol=<symbol>
GET /v2/valuation?symbol=<symbol>
# Optional Starter+ depth only when asked:
GET /v2/fundamentals?symbol=<symbol>&period=quarter
GET /v2/filings?symbol=<symbol>&form=10-K,10-Q&limit=3
GET /v2/filings/{accession}
GET /v2/filings/{accession}/section/risk_factors
GET /v2/insider?symbol=<symbol>&limit=10Free keys can produce a useful decision brief with search, coverage, snapshot, and valuation. Use paid routes only for the specific extra context requested.
MCP sequence
# Name only:
noxstock_search({ "query": "<company-or-fund-name>" })
# Base brief:
noxstock_coverage({ "symbol": "<symbol>" })
noxstock_snapshot({ "symbol": "<symbol>" })
noxstock_valuation({ "symbol": "<symbol>" })
# Optional depth:
noxstock_fundamentals({ "symbol": "<symbol>", "period": "quarter" })
noxstock_filings_list({ "symbol": "<symbol>", "forms": ["10-K", "10-Q"], "limit": 3 })
noxstock_filings_get({ "accession": "<accession>" })
noxstock_filings_section({ "accession": "<accession>", "name": "risk_factors" })
noxstock_insider({ "symbol": "<symbol>", "limit": 10 })What to preserve in the answer
Keep these facts attached to the brief:
- From coverage:
asset_typeand unsupported endpoint reasons that affect the brief. - From snapshot:
freshness,as_of,market_status,quote,performance,range_52w,fundamentals_quick,sector, andindustrywhen available. - From valuation:
multiples,valuation_context,yields,returns_on_capital,_usd,_pct, and any unavailable context states. - From fundamentals:
period, fiscal dates, margins, returns, growth, and cash-flow signs. - From filings:
accession,form,filing_date,period_of_report,section,available,reason, and text source boundaries. - From insider:
summary_90d,recent_transactions,notices,net_value_usdsign, andten_b5_1flags.
Answer template:
Current setup
- <1-3 bullets from snapshot: price/performance/range/sector/freshness>
Valuation
- <1-3 bullets from valuation: anchor, multiples, own 5y context, yields/returns when available>
Risk/caveats
- <unsupported/degraded/stale states, missing fields, filing or insider caveats if called>
Freshness
- Snapshot: <freshness>, as_of <timestamp>, market_status <open|closed>
- Valuation: <freshness>, as_of <timestamp>
- Optional routes: <route/tool freshness and dates>
Calls used
- <route or tool names>Start with the answer. Keep it factual: “looks expensive versus its own 5-year P/E context” is fine when the data supports it; “you should buy/sell” is not.
Common mistakes
- Calling fundamentals by default. For “is it expensive?”, snapshot + valuation is enough.
- Calling filings and insider for every brief. Use them only for risk or primary-source context.
- Hiding
freshness: "degraded"because the answer sounds cleaner without it. - Blending SEC text with news or memory.
- Turning compare or valuation facts into investment advice.