Skip to main content
Glama
Yahoo Finance MCP Server

Yahoo Finance MCP Server

by benethos-hub

Price history

get_history
Read-only

Fetch historical OHLCV data for a ticker symbol using a look-back period or explicit start/end dates.

Instructions

Get historical OHLCV (open/high/low/close/volume) data for a symbol.

Query a look-back period or an explicit start/end range. Results are capped at the most recent 250 rows, with truncated set when cut.

Input Schema

NameRequiredDescriptionDefault
endNoEnd date 'YYYY-MM-DD', exclusive: for one day pass the day after. Used only together with 'start'.
startNoStart date 'YYYY-MM-DD'. Overrides 'period' when set.
periodNoLook-back window: 1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y, ytd, max, or any count of d, wk, mo or y such as 7mo. Ignored when 'start' is given.1mo
symbolYesA Yahoo ticker or an ISIN, e.g. 'AAPL', 'SAP.DE' or 'US0378331005'. For a company name, use 'search' first.
intervalNoBar size. One of: 1m, 2m, 5m, 15m, 30m, 60m, 90m, 1h, 4h, 1d, 5d, 1wk, 1mo, 3mo. Intraday intervals only cover recent dates.1d

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changedv0.8.6
    • removedInput schema / properties / end / title
      Removed value: -"End"
    • removedInput schema / properties / interval / title
      Removed value: -"Interval"
    • removedInput schema / properties / period / title
      Removed value: -"Period"
    • removedInput schema / properties / start / title
      Removed value: -"Start"
    • removedInput schema / properties / symbol / title
      Removed value: -"Symbol"
    • removedInput schema / title
      Removed value: -"get_historyArguments"
    • removedOutput schema / title
      Removed value: -"get_historyDictOutput"
  2. Changed4 schema fields changedv0.7.0
    • changedInput schema / properties / end / description
      Previous value: -"End date 'YYYY-MM-DD'. Used only together with 'start'."New value: +"End date 'YYYY-MM-DD', exclusive: for one day pass the day after. Used only together with 'start'."
    • changedInput schema / properties / interval / description
      Previous value: -"Bar size. One of: 1m, 2m, 5m, 15m, 30m, 60m, 90m, 1h, 1d, 5d, 1wk, 1mo, 3mo. Intraday intervals only cover recent dates."New value: +"Bar size. One of: 1m, 2m, 5m, 15m, 30m, 60m, 90m, 1h, 4h, 1d, 5d, 1wk, 1mo, 3mo. Intraday intervals only cover recent dates."
    • changedInput schema / properties / period / description
      Previous value: -"Look-back window. One of: 1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y, ytd, max. Ignored when 'start' is given."New value: +"Look-back window: 1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y, ytd, max, or any count of d, wk, mo or y such as 7mo. Ignored when 'start' is given."
    • addedInput schema / properties / symbol / maxLength
      Added value: +32
  3. Changed1 schema field changedv0.4.0
    • changedInput schema / properties / symbol / description
      Previous value: -"A native Yahoo Finance ticker symbol, e.g. 'AAPL', 'MSFT', 'SAP.DE', or 'BMW.DE'. This is NOT an ISIN, a WKN, or a company name, and must NOT be built by appending an exchange suffix to an ISIN (e.g. 'US0378331005.DE' is invalid). If you only have a name or ISIN, call the 'search' tool first and pass the 'symbol' value it returns."New value: +"A Yahoo ticker or an ISIN, e.g. 'AAPL', 'SAP.DE' or 'US0378331005'. For a company name, use 'search' first."
  4. First observedv0.2.2

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so safety is covered. The description adds real behavioral context beyond the annotations: the 250-row cap and the fact that a `truncated` flag is set when results are cut.

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?

Three tight sentences with the core purpose front-loaded, then query modes, then the truncation caveat. No filler, though the middle sentence partly duplicates schema content.

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

Completeness4/5

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

With full schema coverage and an output schema present, the description need not explain return values, and it covers the key non-obvious behavior (row cap, truncated flag). Complete enough for an agent to call it 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?

Schema description coverage is 100%, so the baseline is 3. The description's note that period and start/end are alternatives largely restates what the schema already states ('Overrides period when set', 'Ignored when start is given'), adding little new parameter semantics.

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

Purpose4/5

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

The description states a specific verb and resource ('Get historical OHLCV data for a symbol'), which clearly separates it from siblings like get_quote/get_quotes that return current pricing. It stops short of naming the alternative explicitly, so the differentiation is implicit rather than stated.

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

Usage Guidelines3/5

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

The description explains how to query (period vs. start/end range) but does not say when to choose this tool over siblings such as get_quote or screen. Usage is implied by the resource rather than guided.

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