Skip to main content
Glama

True Markets Market Data

get_price_indicators

Read-onlyIdempotent

Get a technical indicator series. Returns one or more technical indicator lines computed from the asset's close prices.

The requested window is widened internally by the indicator's warm-up depth and trimmed back before responding, so the first returned point is already converged rather than carrying seed bias. The window is measured back from the most recent available point, so a feed lagging behind the current time still returns a full window.

lines is keyed by line name. Single-line indicators (sma, ema, rsi, atr) return one entry named after the indicator. macd returns macd, signal and histogram; bollinger returns upper, middle, lower and percent_b.

atr reads OHLC candles rather than closes, so it is only available for assets whose price source stores individual ticks; anything else returns 400. It is Wilder-smoothed and defaults to a period of 14.

The momentum measures cover fixed spans rather than a caller-supplied period, which is rejected for them. surging_1h, surging_4h and surging_24h are the percent price change over that span, so the resolution must be coarse enough for the span to fit in 400 buckets — the same bound a supplied period carries. trending_ratio is average reported 24h volume over the last 6 hours divided by its 30-day average, so it needs a CoinGecko-mapped asset and a resolution of at least 1h.

VWAP is not offered: it needs per-bucket traded volume, which no price series carries.

Input Schema

NameRequiredDescriptionDefault
periodNoLookback in candles. Required for sma, ema and rsi; defaults to 20 for bollinger and 14 for atr, and is not used by macd. Rejected for the momentum measures, which cover a fixed span.
symbolNoAsset symbol (e.g. SOL, BTC)
windowNoTime window for the series (e.g. 1d, 7d, 1M)
std_devNoBollinger band width in standard deviations. Defaults to 2.
asset_idNoBackend asset ID. Mutually exclusive with `symbol`: exactly one of the two is required, and naming both is a 400.
indicatorYes (one of: sma, ema, rsi, macd, bollinger, atr, surging_1h, surging_4h, surging_24h, trending_ratio)
resolutionNoCandle size the period counts in (e.g. 1m, 1h, 1d)
asset_classNo
fast_periodNoMACD fast EMA length. Defaults to 12.
slow_periodNoMACD slow EMA length. Defaults to 26; must exceed fast_period.
signal_periodNoMACD signal EMA length. Defaults to 9.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior5/5

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

Goes well beyond the readOnly/idempotent annotations: explains the internal window widening and trimming so the first point is converged, that the window is measured back from the latest point so lagging feeds still return full windows, and which conditions return 400. Also proactively states VWAP is not offered and why.

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 purpose, then organized by indicator families. It is lengthy, but nearly every sentence carries non-obvious constraints (atr OHLC requirement, resolution bucket bound, VWAP exclusion) rather than restating 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?

With 11 parameters, no output schema and mutation-free annotations, the description compensates fully by explaining the `lines` return structure keyed by line name for each indicator family and the warm-up/trimming behavior. An agent could call this correctly from the description alone.

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 91%, so the baseline is 3; the description adds real meaning by mapping parameters to indicators – which use `period` vs fixed spans, the 400-bucket bound on `resolution`, and the sma/ema/rsi vs bollinger/atr vs macd `period` defaults. The empty `asset_class` schema description is the main gap.

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 sentence gives a specific verb and resource ('Get a technical indicator series') and clarifies it is computed from close prices, distinguishing it from raw-price siblings like get_candles or get_price_history. It could more explicitly name the sibling boundary, but the resource is unmistakably different.

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?

Rich conditional guidance: atr requires tick-storing assets and returns 400 otherwise, momentum measures reject `period` and need coarse enough `resolution` to fit in 400 buckets, trending_ratio needs a CoinGecko-mapped asset and `resolution` of at least 1h. It lacks an explicit 'use X instead' routing sentence against siblings, so it stops short of a 5.

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