Skip to main content
Glama

get_intraday_quote

Read-only

Returns the latest intraday price for ONE US-listed ticker, live from Tiingo's IEX feed; a stock's quote is reused for up to 10 seconds, so two calls in the same 10 s can return the same print. PAID PLANS ONLY. Use this when the question is 'what is X trading at now'. For price HISTORY (daily closes, splits, dividends) use get_daily_prices. Returns: price, and as_of — the exact timestamp of that quote, verbatim from the source. ALWAYS read as_of rather than assuming the quote is current: outside US market hours the feed returns the most recent session's final print, so a quote at 21:00 ET is a 16:00 ET price and as_of is how you can tell. price_field names the source field the price came from (tngoLast / last / mid) so a decision made on it can be re-derived later. A symbol the feed does not cover returns result: null with not_found_reason — never a substituted or stale price. Two reasons are possible: 'no_quote_for_ticker' (unknown symbol, or no quote available) and 'delisted_no_longer_trading' (the security stopped trading; the response carries delisted_since, the day after its last real trade). The second exists because the upstream feed keeps synthesising a current-session row for some delisted names — a flat zero-volume bar at the last real price, stamped with today's close — and a dead security has no current price to report. ⚠ VENUE COVERAGE IS IEX ONLY, and price is Tiingo's tngoLast derived from that feed — not a consolidated-tape print. This matters most on THINLY TRADED names: IEX is one venue carrying a few percent of US volume, so a symbol can go 20+ minutes mid-session without IEX seeing a trade. When that happens as_of legitimately reads stale DURING market hours. It means 'IEX has not seen an update', NOT 'the stock is not trading' — measured 2026-09-09, BWFG sat at a 22-minute-old as_of while trading normally. Do not treat a stale as_of on a thin name as a fault. Three fields let you judge that for yourself rather than trusting a verdict this tool does not make. iex_session_volume is the session volume ON IEX ONLY — it is NOT consolidated volume and is typically a small fraction of it, so never compare it against share counts from other endpoints. prev_close is the prior session's close. And flat_session is true when all four OHLC legs equal the price AND volume is zero AND the price equals prev_close — the shape the feed manufactures for a security that no longer trades. It is a SHAPE, not a delisting verdict: stable-NAV money market funds hold a constant price by design and look identical. It is NULL when the test was impossible — a missing OHLC leg or an unreported volume — and null means 'could not test', never 'false'. One call = one ticker, by licence — there is no multi-ticker parameter. Close Prices from Tiingo.com.

Input Schema

NameRequiredDescriptionDefault
tickerYesTicker symbol, e.g. 'AAPL', 'SPY', 'BRK-B' (hyphen for share classes).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover the safety profile (readOnly/openWorld/non-destructive); the description adds substantial behavior beyond that: a 10-second quote cache, IEX-only venue coverage and why stale as_of is legitimate during market hours, delisted-symbol handling with not_found_reason values, and null-vs-false semantics for flat_session. This is exactly the kind of operational context annotations cannot carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The critical line (what it is, one ticker, IEX-only, paid) is front-loaded and the sectioning with ⚠ markers aids scanning, so nothing is buried. However, it runs roughly 450 words for a one-parameter tool and repeats the as_of/staleness point across several paragraphs, which is more bulk than the remaining decisions require.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description carries the return-shape burden and does: it names price, as_of, price_field, iex_session_volume, prev_close, flat_session, and the not_found_reason branches. Edge cases (thin names, after-hours prints, delisted synthesised rows) are all covered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With one parameter and 100% schema coverage, the schema already carries the ticker format, so the baseline is 3. The description adds a real constraint the schema cannot express: the per-ticker licence limit means there is no multi-ticker parameter, which prevents a caller from trying to batch symbols.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('returns the latest intraday price for ONE US-listed ticker') plus the data source (Tiingo IEX feed), and explicitly distinguishes itself from the sibling get_daily_prices for history. An agent can route on this without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit use condition ('what is X trading at now'), names the alternative and the condition that selects it (get_daily_prices for daily closes, splits, dividends), and states eligibility (PAID PLANS ONLY) and cardinality (one call = one ticker, no multi-ticker parameter).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources