Skip to main content
Glama

get_ohlcv

Read-only

Get stored end-of-day OHLCV candles for a stock, ETF, or crypto ticker, daily or weekly. Use this for exact-return calculations, charts, and backtests after get_summary identifies a setup. Results are paginated; pass next_cursor back as cursor to continue. Equity and ETF bars are split-and-dividend adjusted; crypto bars are unadjusted. Credit cost is 1 credit per 100 bars returned, rounded up, with a 1 credit minimum.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
endNoInclusive end date (YYYY-MM-DD). Compared against the candle date.
limitNoMaximum candles to return (1-1000). Default: 100.
orderNoSort by candle date. Default: desc.
startNoInclusive start date (YYYY-MM-DD). Compared against the candle date, so for weekly this is the Sunday week end. Lookback is limited by plan.
cursorNoExclusive date cursor from next_cursor for pagination (YYYY-MM-DD).
tickerYesTicker symbol, e.g. AAPL, BTCUSD, SPY
timeframeNoCandle timeframe. Default: daily. Weekly candles cover Monday-Sunday and are dated by the Sunday week end, matching get_summary with timeframe=weekly. The in-progress week is not returned.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNoThe TickerDB API response payload for this tool call.

TDQS

A4.5/5.0
Behavior5/5

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

The description discloses important behavioral traits beyond the readOnlyHint annotation: pagination via next_cursor, split-and-dividend adjustment for equities/ETFs vs unadjusted crypto, and credit cost details. These are valuable and not present in the annotations.

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

Conciseness5/5

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

The description is three sentences, each with distinct value: purpose+use case, pagination, and behavioral caveats. It is front-loaded with the primary function, then adds necessary detail without wordiness.

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 a rich output schema and comprehensive parameter descriptions, the main description covers all key non-obvious aspects: use case, pagination, adjustment policies, and credit cost. It is adequate for an agent to select and invoke the tool correctly.

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

Parameters3/5

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

The input schema has 100% description coverage, so the schema already documents all parameters in detail. The description adds contextual info like pagination and adjustments that relate to parameters but does not repeat or enhance individual parameter semantics beyond the schema.

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?

The description begins with a specific verb ('Get') and resource ('stored end-of-day OHLCV candles') and clearly scopes to stock, ETF, or crypto ticker with daily or weekly timeframes. This distinguishes it from sibling tools like get_summary or get_search.

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

Usage Guidelines4/5

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

The description explicitly states when to use the tool: 'for exact-return calculations, charts, and backtests after get_summary identifies a setup.' It gives clear context and references the workflow with get_summary, though it does not explicitly name alternatives or conditions to avoid using it.

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.

TDQS

A4.4/5.0
Disambiguation5/5

Each tool has a clear, distinct purpose: add/remove watchlist manage saved tickers, get_watchlist analyzes all saved tickers, get_summary analyzes a single ticker, get_search finds assets by filters, get_ohlcv retrieves raw price data, get_schema discovers available fields, and get_account provides account limits. There is no meaningful overlap or ambiguity.

Naming Consistency4/5

Most tools follow a consistent 'get_' + noun pattern (get_account, get_ohlcv, get_schema, get_search, get_summary, get_watchlist). The watchlist mutation tools use 'add_to_watchlist' and 'remove_from_watchlist' instead of a simpler 'add_watchlist'/'remove_watchlist', which is a minor deviation but still predictable and logical.

Tool Count5/5

With 8 tools, this is a well-scoped set that covers market data retrieval, analysis, search, schema discovery, account management, and watchlist lifecycles. Each tool earns its place without unnecessary redundancy or bloat.

Completeness4/5

The tool set covers the core workflows: watchlist CRUD (add/remove/list), single-ticker analysis (get_summary), multi-ticker watchlist analysis (get_watchlist), raw historical data (get_ohlcv), search/discovery (get_search), field introspection (get_schema), and account management (get_account). Minor gaps include no batch historical data endpoint for multiple tickers and no update operation for watchlist entries, but these are not critical for the stated purpose.