Skip to content
noxstock
Guides

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/history only 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=10

Free 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_type and unsupported endpoint reasons that affect the brief.
  • From snapshot: freshness, as_of, market_status, quote, performance, range_52w, fundamentals_quick, sector, and industry when 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_usd sign, and ten_b5_1 flags.

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.

Next