Skip to main content
Glama

Get Market Indicators

get_market_indicators
Read-only

Technical indicators on the klines of 1 to 10 pairs (OBV, MFI, AD, ADOSC: aggregated spot volume; stablecoin pair: its keys null, unavailable not_applicable). Up to 50, several of a type (rsi_7, rsi_21). data: one series per '@' ('/@' with several pairs), newest first; indicators.: its type and parameters; limit 1 = the latest CLOSED candle. One quota request per pair. limit + warmup <= 1000 (warmup: period; ema 3x, rsi/atr/keltner 5x, adx 14x, macd 3x slow + signal, sar 200; the 422 gives the largest period). obv, ad: cumulative, read the slope only. OUTPUTS: stoch {k, d}; macd {macd, signal, histogram}; bb, keltner, donchian {upper, middle, lower}; ichimoku {tenkan_sen, kijun_sen, senkou_a, senkou_b}; others one value. EXAMPLE: indicators=[{"id": "rsi_7", "type": "rsi", "period": 7}, {"id": "macd", "type": "macd"}]

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "symbol": "<symbol>",
      "timeframe": "<timeframe>",
      "indicators": "<indicators>"
    },
    "name": "get_market_indicators"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoN latest values (default 1).
symbolYes1 to 10 pairs, e.g. ["BTCUSDT"].
dry_runNoPlans the call without making it: its quota cost, your remaining rate and quota, the checks. No data, no quota.
timeframeYesCandle step.
indicatorsYes{id (your unique name), type, ...its own optional parameters, flat}. Defaults: rsi(period=14), ema(period=20), sma(period=20), bb(period=20, std=2.0), atr(period=14), stoch(k=14, d=3, smooth=3), macd(fast=12, slow=26, signal=9), obv(), ad(), adx(period=14), cci(period=20), willr(period=14), mfi(period=14), roc(period=10), donchian(period=20), adosc(fast=3, slow=10), sar(acceleration=0.02, maximum=0.2), keltner(period=20, multiplier=2.0), ichimoku(tenkan=9, kijun=26, senkou=52).
max_tokensNoResponse budget, estimated tokens (default 6000).
max_quota_costNoRefuses the call, before any request, if it would use more quota requests than this.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior5/5

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

With annotations already declaring readOnlyHint and destructiveHint, the description adds substantial behavioral context: quota accounting (one request per pair), the warmup budget with per-type multipliers (ema 3x, adx 14x, sar 200), the 422 fallback that reports the largest period, and that obv/ad are cumulative and only the slope is meaningful. It also flags stablecoin pairs returning null keys and that data are ordered newest-first, none of which appears in the 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?

Content is front-loaded and dense with no filler sentences; purpose, constraints, outputs, and an example are ordered sensibly. The telegraphic phrasing ("adx 14x", "macd 3x slow + signal") is efficient but occasionally hard to parse on first read.

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

Completeness4/5

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

For a 7-parameter tool with no output schema, the definition supplies output shapes for the multi-value indicators (stoch {k,d}, macd {macd, signal, histogram}, bb/keltner/donchian, ichimoku) and error semantics for the warmup limit, which is exactly what the missing output schema would otherwise leave ambiguous. Minor gaps remain around dry_run and the response budget interactions.

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 100%, so the baseline is 3, but the description adds meaning the schema does not carry: the interaction between limit and warmup period, the per-pair quota cost, the '<pair>/<id>@<timeframe>' key format when multiple pairs are requested, and a worked indicators example. It stops short of explaining dry_run or max_quota_cost, which rely solely on their schema text.

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 description opens with a specific verb-resource pairing, "technical indicators on the klines of 1 to 10 pairs", naming the computation type (OBV, MFI, AD, ADOSC, RSI, MACD) and the scope bound. It is clearly distinct from data-retrieval siblings like get_pair_data, though it never explicitly names an alternative it is not.

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?

Operational guidance is present but constraint-oriented (limit + warmup <= 1000, one quota request per pair, limit 1 returns the latest CLOSED candle) rather than selection-oriented. There is no explicit when-to-use or when-not-to-use versus the sibling tools, so the agent must infer the choice of this tool over get_pair_data.

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