Skip to main content
Glama

Price History

GetStockPrices
Read-only

Get daily, weekly or monthly OHLCV (Open, High, Low, Close, Volume) price history for a stock. Useful for technical analysis, charting, and price trend analysis. Weekly (ISO week) and monthly bars roll up the daily rows: first open, highest high, lowest low, last close, summed volume, dated by their last session; a week or month the date range cuts is marked partial. A US listing is quoted in USD; a listing on another exchange (MIC:TICKER) is quoted in its own trading currency, which the output names. An Adj Close column shows the provider's split- and cash-dividend-adjusted close when it differs from Close. Captured corporate-action changes trigger a full-history refresh of the exact listed series, but the stored rows do not certify which split basis the provider returned. Do not treat reconciliation status alone as proof that a window is a consistent total-return series. Zero-volume carry-forward candles are excluded because they do not establish a traded market price.

Input Schema

NameRequiredDescriptionDefault
tickerYesStock ticker symbol (e.g., AAPL, MSFT, TSLA). Class shares use a dash (BRK-B); the dot form (BRK.B) is also accepted. A listing on another exchange is MIC:TICKER (XPAR:AIR, XLON:BP, XHKG:00005).
endDateNoEnd date in YYYY-MM-DD format (defaults to latest available)
intervalNoBar interval: daily (default), weekly or monthly. Use weekly or monthly with a wider startDate for long histories in one call.daily
startDateNoStart date in YYYY-MM-DD format (defaults to 1 year ago)
maxResultsNoMaximum number of records to return (default: 260, max: 500). When the range holds more rows the newest are kept; rows are always listed oldest to newest.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / interval
      Added value: +{
      +  "default": "daily",
      +  "description": "Bar interval: daily (default), weekly or monthly. Use weekly or monthly with a wider startDate for long histories in one call.",
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / ticker / description
      Previous value: -"Stock ticker symbol (e.g., AAPL, MSFT, TSLA). Class shares use a dash (BRK-B); the dot form (BRK.B) is also accepted."New value: +"Stock ticker symbol (e.g., AAPL, MSFT, TSLA). Class shares use a dash (BRK-B); the dot form (BRK.B) is also accepted. A listing on another exchange is MIC:TICKER (XPAR:AIR, XLON:BP, XHKG:00005)."
  3. Changed2 schema fields changed
    • changedInput schema / properties / maxResults / default
      Previous value: -250New value: +260
    • changedInput schema / properties / maxResults / description
      Previous value: -"Maximum number of records to return (default: 250, max: 500). When the range holds more rows the newest are kept; rows are always listed oldest to newest."New value: +"Maximum number of records to return (default: 260, max: 500). When the range holds more rows the newest are kept; rows are always listed oldest to newest."
  4. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already establish readOnly/no-destructive, and the description goes well beyond them: aggregation rules (first open, highest high, last close, summed volume, dated by last session), partial-bar marking, currency of foreign listings, Adj Close semantics, and exclusion of zero-volume carry-forward candles. It loses a point for a confusing caveat about 'reconciliation status' that is neither explained nor tied to any visible field.

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?

The core purpose is front-loaded in the first sentence and every following sentence is substantive, but the paragraph is dense and unstructured, and the sentence about corporate-action refreshes and reconciliation status is opaque enough that an agent cannot act on it.

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, and the description compensates by describing the returned columns (OHLCV, Adj Close), currency behavior, partial-bar flagging and exclusion rules — everything an agent needs to interpret the result 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 coverage is 100%, so the schema already documents ticker formats, date formats, interval enum and maxResults cap. The description adds rollup semantics for the interval parameter but nothing else beyond the schema, so the baseline of 3 applies.

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 ('Get ... OHLCV price history for a stock') plus the granularity options, which cleanly separates it from siblings like GetLiveQuote, GetLatestClosingPrices and GetVixHistory.

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?

It gives use cases ('technical analysis, charting, price trend analysis') but never says when to pick it over GetLatestClosingPrices or GetLiveQuote, and the guidance about using weekly/monthly for long histories lives in the schema rather than the description.

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.

Directories

Listed in ChatGPT · Equibles

Last observed