Skip to main content
Glama
maxscheijen

MCP Yahoo Finance

by maxscheijen

get_historical_stock_prices

Retrieve historical stock prices for a Yahoo Finance symbol, with configurable period, interval, and adjusted data, to analyze past performance.

Instructions

Get historical stock prices for a given stock symbol.

Input Schema

NameRequiredDescriptionDefault
periodNoThe period for historical data.1mo
symbolYesStock symbol in Yahoo Finance format.
adjustedNoReturn split- and dividend-adjusted prices. Defaults to True.
intervalNoThe interval between data points.1d

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changedv0.2.0
    • addedInput schema / properties / adjusted
      Added value: +{
      +  "default": true,
      +  "description": "Return split- and dividend-adjusted prices. Defaults to True.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / interval / default
      Added value: +"1d"
    • changedInput schema / properties / interval / description
      Previous value: -"The interval beween data points. Defaults to \"1d\". Valid intervals: \"1d\", \"5d\", \"1wk\", \"1mo\", \"3mo\""New value: +"The interval between data points."
    • addedInput schema / properties / interval / enum
      Added value: +[
      +  "1d",
      +  "5d",
      +  "1wk",
      +  "1mo",
      +  "3mo"
      +]
    • addedInput schema / properties / period / default
      Added value: +"1mo"
    • changedInput schema / properties / period / description
      Previous value: -"The period for historical data. Defaults to \"1mo\". Valid periods: \"1d\", \"5d\", \"1mo\", \"3mo\", \"6mo\", \"1y\", \"2y\", \"5y\", \"10y\", \"ytd\", \"max\""New value: +"The period for historical data."
    • addedInput schema / properties / period / enum
      Added value: +[
      +  "1d",
      +  "5d",
      +  "1mo",
      +  "3mo",
      +  "6mo",
      +  "1y",
      +  "2y",
      +  "5y",
      +  "10y",
      +  "ytd",
      +  "max"
      +]
  2. First observedv1.0.0

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about the data source, rate limits, whether the response is paginated, or what the returned series looks like. For a read-only data fetch the risk is low, but the disclosure is essentially absent.

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?

A single front-loaded sentence with no filler or repetition. It is efficient, though arguably under-specified rather than optimally concise.

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

Completeness3/5

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

All four parameters are documented by the schema with defaults, and no output schema exists so return values need not be explained. Still, a data-retrieval tool with no annotations would benefit from a note on the data source and the shape/frequency of returned prices.

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% and both enums (period, interval) plus the adjusted flag are self-documenting in the schema, so the baseline of 3 applies. The description adds no syntax, format, or default-value information beyond the schema.

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?

States a specific verb (Get) and resource (historical stock prices), scoped to a stock symbol. It does not, however, distinguish itself from close siblings like get_stock_price_date_range, get_stock_price_by_date, or get_current_stock_price, which an agent must disambiguate by name alone.

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

Usage Guidelines2/5

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

No guidance on when to use this versus get_current_stock_price, get_stock_price_by_date, or get_stock_price_date_range, and no mention of prerequisites or data source constraints. The agent is left to infer selection from tool names.

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