Skip to main content
Glama

Stocklake — AI Stock Intelligence

Get Stock Price History

get_stock_history
Read-onlyIdempotent

Daily OHLCV price history for a stock.

  • days: number of trading days to return (default 90). Guest/free: max 365. Pro: full history, up to 20,000 trading days (most established names go back decades; a full pull can be ~10,000+ bars, so request only what you need).

  • Returns: { symbol, days_requested, days_returned, count, history[], history_available: { bars, earliest_date } } - days_returned/count can be less than days_requested if less history exists. When a guest/free caller asks for more than 365 days the response is capped at 365 and carries a pro_unlocks note saying what Pro adds.

  • Per bar: date, open, high, low, close, volume

Input Schema

NameRequiredDescriptionDefault
daysNoNumber of trading days of daily OHLCV history to return (default 90). Max 365 for guest and free; Pro can request the full history (up to 20,000 trading days). A full-history call can be ~10,000+ bars - prefer a narrower window unless you need it all. days_returned/count in the response can be less than this if less history exists.
symbolYesStock ticker symbol. Also accepts a company name as a fallback when it uniquely resolves to one symbol.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / days / description
      Previous value: -"Number of trading days of daily OHLCV history to return (default 90, max 365). days_returned/count in the response can be less than this if less history exists."New value: +"Number of trading days of daily OHLCV history to return (default 90). Max 365 for guest and free; Pro can request the full history (up to 20,000 trading days). A full-history call can be ~10,000+ bars - prefer a narrower window unless you need it all. days_returned/count in the response can be less than this if less history exists."
  2. Changed2 schema fields changed
    • addedInput schema / properties / days / description
      Added value: +"Number of trading days of daily OHLCV history to return (default 90, max 365). days_returned/count in the response can be less than this if less history exists."
    • addedInput schema / properties / symbol / description
      Added value: +"Stock ticker symbol. Also accepts a company name as a fallback when it uniquely resolves to one symbol."
  3. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description goes further and discloses non-obvious behavior: guest/free callers are capped at 365 days with a `pro_unlocks` note, and days_returned/count may be less than requested when history is short. That is meaningful edge-case context an agent could not infer from annotations alone.

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?

Bulleted, front-loaded, and every bullet maps to a distinct concern (parameter, response shape, per-bar fields). It loses a point because the 'days' bullet and the return-shape bullet substantially duplicate the schema parameter description and the existing output schema.

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?

For a two-parameter read tool with full schema coverage and an output schema, the description covers everything needed to invoke it correctly: the data granularity, tier-based caps, short-history behavior, and bar fields. No gap remains that would cause a wrong call.

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 the schema's `days` description already carries the default, the 365/20,000 tier limits, and the days_returned caveat. The description largely restates that same tier and default information, adding little semantic meaning beyond the structured fields. Baseline 3 applies when the schema does the heavy lifting.

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 opening line gives a specific verb+resource: 'Daily OHLCV price history for a stock,' which clearly separates it from get_stock, get_stock_financials, and get_indicator_history by naming the exact data product (daily OHLCV bars). It stops short of explicitly naming a sibling to prefer or avoid, so it is clear but not sibling-differentiated to the top standard.

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 gives real guidance on the 'days' parameter ('request only what you need,' 'a full pull can be ~10,000+ bars'), which is genuinely useful scoping advice. However, it never states when to use this tool instead of the adjacent get_indicator_history or get_stock, so tool-selection guidance is only implied.

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