Skip to main content
Glama

Aggregates

aggregates
Read-onlyIdempotent

Massive (formerly Polygon.io) OHLC price bars for a US stock ticker — 1 minute through quarterly granularity. Returns timestamped open/high/low/close + volume + VWAP. Use for charting equities, intraday analysis, backtesting historical prices.

Input Schema

NameRequiredDescriptionDefault
toYes
fromYes
sortNo
limitNo
tickerYes
adjustedNo
timespanYes
multiplierYes

Output Schema

NameRequiredDescriptionDefault
countNoNumber of results
statusNoAPI response status
tickerNoTicker symbol
resultsNoOHLC bar data
adjustedNoWhether data is adjusted
next_urlNoNext page URL if available
field_legendNoLegend for the single-letter OHLC bar keys (o/h/l/c/v/vw/n/t).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / examples
      Previous value: -[
      -  {
      -    "from": "2024-01-01",
      -    "multiplier": 1,
      -    "ticker": "AAPL",
      -    "timespan": "day",
      -    "to": "2024-01-31"
      -  },
      -  {
      -    "from": "2024-01-15",
      -    "limit": 100,
      -    "multiplier": 15,
      -    "ticker": "TSLA",
      -    "timespan": "minute",
      -    "to": "2024-01-16"
      -  }
      -]New value: +[
      +  {
      +    "from": "2026-09-01",
      +    "multiplier": 1,
      +    "ticker": "AAPL",
      +    "timespan": "day",
      +    "to": "2026-09-10"
      +  },
      +  {
      +    "from": "2026-09-25",
      +    "limit": 100,
      +    "multiplier": 15,
      +    "ticker": "TSLA",
      +    "timespan": "minute",
      +    "to": "2026-09-25"
      +  }
      +]
  2. Changed2 schema fields changed
    • addedOutput schema / properties / field_legend
      Added value: +{
      +  "description": "Legend for the single-letter OHLC bar keys (o/h/l/c/v/vw/n/t).",
      +  "type": "object"
      +}
    • addedOutput schema / properties / results / items / properties / date
      Added value: +{
      +  "description": "Bar start as an ISO 8601 timestamp (derived from `t`).",
      +  "type": "string"
      +}
  3. Changed2 schema fields changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "from": "2024-01-01",
      +    "multiplier": 1,
      +    "ticker": "AAPL",
      +    "timespan": "day",
      +    "to": "2024-01-31"
      +  },
      +  {
      +    "from": "2024-01-15",
      +    "limit": 100,
      +    "multiplier": 15,
      +    "ticker": "TSLA",
      +    "timespan": "minute",
      +    "to": "2024-01-16"
      +  }
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "adjusted": {
      +      "description": "Whether data is adjusted",
      +      "type": "boolean"
      +    },
      +    "count": {
      +      "description": "Number of results",
      +      "type": "number"
      +    },
      +    "next_url": {
      +      "description": "Next page URL if available",
      +      "type": "string"
      +    },
      +    "results": {
      +      "description": "OHLC bar data",
      +      "items": {
      +        "properties": {
      +          "c": {
      +            "description": "Close price",
      +            "type": "number"
      +          },
      +          "h": {
      +            "description": "High price",
      +            "type": "number"
      +          },
      +          "l": {
      +            "description": "Low price",
      +            "type": "number"
      +          },
      +          "n": {
      +            "description": "Number of transactions",
      +            "type": "number"
      +          },
      +          "o": {
      +            "description": "Open price",
      +            "type": "number"
      +          },
      +          "t": {
      +            "description": "Timestamp",
      +            "type": "number"
      +          },
      +          "v": {
      +            "description": "Volume",
      +            "type": "number"
      +          },
      +          "vw": {
      +            "description": "Volume weighted average",
      +            "type": "number"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "status": {
      +      "description": "API response status",
      +      "type": "string"
      +    },
      +    "ticker": {
      +      "description": "Ticker symbol",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  4. First observed

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is covered. The description adds the useful fact that this is a Massive/Polygon.io-backed feed and defines the returned bar fields, but says nothing about rate limits, entitlement requirements, historical depth limits, or pagination behavior beyond the existence of a limit param.

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 short sentences with the covered resource stated first, then the payload, then use cases. No filler, though the final sentence is the weakest link given the absence of any parameter guidance.

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

Completeness2/5

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

An output schema exists, so return values need not be described. However, for an 8-parameter financial-data tool with 5 required params and 0% schema documentation, the description leaves critical inputs (adjusted, sort, limit, date format, multiplier/timespan validity) undocumented, which is not enough for an agent to call it correctly without trial and error.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 8 parameters, so the description carries the full burden and mostly fails. "1 minute through quarterly granularity" loosely gestures at the multiplier/timespan pairing, but adjusted (corporate-action adjustment), sort, limit, and the accepted date format for from/to are never explained, and the multiplier/timespan combination rules — the likeliest source of misuse — remain ambiguous.

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?

Names both a provider lineage (Massive/Polygon.io) and a specific resource: OHLC bars for a US stock ticker, with an explicit granularity span (1 minute through quarterly) and an enumerated return payload (OHLC, volume, VWAP). It is clear what the tool fetches, but never differentiates itself from overlapping siblings like daily_open_close, grouped_daily, or previous_close.

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?

"Use for charting equities, intraday analysis, backtesting historical prices" gives three concrete use cases, so usage is clearly implied. There is no when-not guidance and no routing to the near-duplicate siblings that return similar price data, so an agent must guess between them.

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.