Skip to main content
Glama

KeyVex

get_intraday_quote

Read-only

Returns the latest intraday price for ONE US-listed ticker — a live passthrough to Tiingo's IEX feed, nothing cached. 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

TableJSON 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.8/5.0
Behavior5/5

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

Annotations only cover the read-only safety profile; the description adds far more: IEX-only venue coverage with a thin-name staleness caveat and a concrete example, the fact that out-of-hours quotes are the prior session's final print, delisting row synthesis upstream, and the semantics of null (flat_session null = 'could not test', not false). This is exactly the behavioral 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.

Conciseness4/5

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

Purpose, paid-plan constraint and the sibling alternative are front-loaded in the first three sentences, which is the right ordering. It is long, but the length is largely earned by genuinely non-obvious caveats (stale as_of, flat_session null semantics, IEX-only volume); a few passages restate the same point in different words.

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?

With no output schema, the description carries the full return-value burden and does so thoroughly: price, as_of, price_field, iex_session_volume, prev_close, flat_session, and the two not_found_reason values with their meaning. Nothing an agent needs to interpret the response is missing.

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?

Schema coverage is 100% for the single ticker param, so the baseline is 3. The description adds value beyond the schema by stating there is no multi-ticker parameter by licence, which prevents an agent from attempting batching.

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') and pins the scope with 'a live passthrough to Tiingo's IEX feed, nothing cached.' It explicitly contrasts itself with the sibling get_daily_prices for historical data, so an agent can route correctly without opening either 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?

Names the exact question this answers ('what is X trading at now') and routes the alternative case ('For price HISTORY ... use get_daily_prices'). It also states a hard eligibility constraint (PAID PLANS ONLY) and the licence constraint of one ticker per call.

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