Skip to main content
Glama

Get OHLCV bars

get_bars
Read-onlyIdempotent

Answers 'what did these stocks do between these dates?' Give symbols (a list, or '/ES' for a futures root - plain 'ES' is the stock Eversource), start and end dates. Returns daily OHLCV bars clipped to as_of so no future data leaks; up to 5,000 rows per page, use next_cursor for more. Covers 16,000+ US stocks since 2000 including delisted names, plus 5,100+ ETFs. Free keys get daily bars for the last 12 months; intraday bars and full history with a FinzData plan.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "symbols": "<symbols>",
      "start": "<start>"
    },
    "name": "get_bars"
  }
}

Input Schema

NameRequiredDescriptionDefault
barNoBar size: '1d' (default), or intraday '1m', '5m', '15m', '30m', '1h' (paid bundles).
endNo
as_ofNoPoint-in-time cutoff (YYYY-MM-DD). Nothing dated after this is returned, preventing look-ahead bias. Defaults to today (UTC).
startYes
symbolsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already establish read-only, idempotent, non-destructive behavior, and the description adds substantial context on top: as_of clipping prevents look-ahead bias, results cap at 5,000 rows per page with next_cursor continuation, and free keys are limited to 12 months of daily bars. These are exactly the operational facts an agent needs before calling.

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?

Four tight sentences, front-loaded with the purpose and parameter guidance, then return shape, then coverage and tier limits. Some of the universe/plan detail borders on marketing, but it does inform expectations about delisted names and intraday availability, so almost nothing is pure waste.

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?

There is no output schema, so the description carries the return-shape burden itself — and it does, describing daily OHLCV bars, clipping semantics, and pagination. Combined with the parameter hints and the stated data coverage and tier limits, an agent has enough to call this correctly without further probing.

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 only 40% schema description coverage, the description usefully fills gaps: it explains symbols is a list, that a futures root must be written '/ES', and that start/end are dates. The 'end' parameter remains thin — it is optional in the schema but presented alongside start as if required, and no default is stated, which is the only meaningful gap.

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 opens with a plain-language statement of purpose ("what did these stocks do between these dates?") and then a concrete verb+resource ("Returns daily OHLCV bars"). The '/ES' vs 'ES' disambiguation and the coverage note (16,000+ US stocks since 2000 plus ETFs) make it unmistakably distinct from siblings like get_ticks, get_futures, and get_index.

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?

It gives clear context for when this is the right tool — historical daily bars over a date range with a point-in-time cutoff — and states the practical constraints (paid plans for intraday/full history). It does not explicitly name alternatives or exclusions, e.g. when to prefer get_ticks for intraday granularity or get_futures for contract-level series, leaving that comparison to inference.

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