Skip to main content
Glama

get_crypto_historical

Read-onlyIdempotent

Daily OHLC price history for a cryptocurrency, covering the whole date range you ask for.

Chart-ready: while the range fits in one response, each row is the price feed's
own daily row — {symbol, date, open, high, low, close, volume, change,
changePercent, vwap} — newest first, ordered for direct plotting as a price history.

A range too long to return day by day is aggregated into coarser OHLC bars
rather than cut short. `interval` names which (weekly/monthly/quarterly/yearly),
each bar spans `date` to `endDate`, and a bar's high/low are that period's real
extremes. Aggregated bars carry the same fields except `vwap`, which the feed
defines per session only. Re-request a narrower from_date/to_date for daily rows.

`summary` always describes the FULL requested window, computed from the daily
data: its first and last close with dates, its high and low with dates, and the
trailing changes the window reaches back far enough to support. Base any
"starting price", "a year ago" or "period high/low" claim on `summary`, or on a
bar that is actually present.

`summary.windowHigh`/`windowLow` describe THIS window. A quote tool's
yearHigh/yearLow are the feed's trailing range, roughly the past 12-13
months — a different period — so label those as trailing-year figures. For the current level alone, call get_crypto_quote.

Args:
    symbol: Cryptocurrency symbol (e.g. 'BTCUSD' for Bitcoin)
    from_date: Start date YYYY-MM-DD (optional)
    to_date: End date YYYY-MM-DD (optional)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
symbolYesCrypto symbol, e.g. 'BTCUSD' (Bitcoin).
to_dateNo
from_dateNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -{
      -  "properties": {
      -    "result": {
      -      "title": "Result",
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "result"
      -  ],
      -  "title": "get_crypto_historicalOutput",
      -  "type": "object"
      -}New value: +null
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare read-only/idempotent safety, yet the description adds substantial non-obvious behavior: long ranges are aggregated into coarser bars rather than truncated, aggregated bars omit `vwap` because the feed defines it per session, rows are newest-first, and `summary` is computed over the FULL requested window. These are real behavioral traits an agent cannot infer from the schema or annotations.

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?

Front-loaded with the core purpose, and the long-form paragraphs are all output-semantics detail with no filler. Dense but every sentence maps to how the result should be interpreted; slightly long, with the summary/quote caveats restated more than once.

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 full burden and does so thoroughly: it enumerates the returned fields, explains ordering, bar aggregation, the absent vwap case, and how to interpret summary stats and the yearHigh/yearLow distinction. An agent has everything needed to call and interpret it.

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?

Schema coverage is only 33% (symbol documented only), so the description must compensate: it specifies YYYY-MM-DD format, optionality, and start/end semantics for from_date/to_date, plus how the range drives daily-vs-aggregated output. It does not state what happens when dates are omitted (default range), leaving one 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?

States a specific verb and resource ('Daily OHLC price history for a cryptocurrency') with explicit scope ('covering the whole date range you ask for'). It also distinguishes itself from get_crypto_quote by reserving that sibling for 'the current level alone', so an agent can choose correctly without opening schemas.

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?

Gives a clear routing rule to an alternative ('For the current level alone, call get_crypto_quote') and tells the agent to 'Re-request a narrower from_date/to_date for daily rows' when aggregation occurs. It does not address when-not to use this tool versus other historical siblings (commodity/forex/index), so it stops short of full when/when-not coverage.

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