Skip to main content
Glama

Indicator values

get_indicators
Read-onlyIdempotent

Technical indicator values for any public ticker, with no chart: stocks, ETFs, indices, crypto, FX and futures. Use it for indicator numbers or a technical summary, such as the RSI of NVDA. Pass symbol as a Yahoo-style ticker (AAPL, EUR/USD, BTC-USD, GOLD); a common company or coin name also works. Optional: timeframe (5m, 15m, 1h, 4h, 1d, 1w; 1d default), indicators (any of 12; all by default), periods, lengths (SMA and EMA; 20, 50 and 200 by default), series_length, and detail full for recent values of each. Returns latest and previous values, a one-line reading of each, its position against one named reference line, a count of those positions, the source, as-of time and data delay. A currency pair is the ECB daily close-only reference rate, so its range indicators are skipped. To show a chart, use chart. The count is not a buy or sell rating. Not financial advice.

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>"
    },
    "name": "get_indicators"
  }
}

Input Schema

NameRequiredDescriptionDefault
detailNocompact (default) returns the latest and previous values and a reading of each indicator; full also returns the last 5 values of each. series_length sets that count either way.
symbolYesYahoo-style ticker, such as "AAPL". Also accepted: BRK-B, EUR/USD or EURUSD, BTC-USD, BTC/USDT or PEPEUSDT (any coin against USD), GOLD (GC=F), SPX. A common company or coin name also works, such as Apple or Bitcoin (S&P 100 companies and top coins), but a ticker is still best.
lengthsNoSMA and EMA lengths to return, each its own entry, shortest first, such as [50, 200]. Overrides periods.sma and periods.ema. 20, 50, 200 when omitted and periods sets no sma or ema length.
periodsNoLookback per indicator, in bars, such as {"sma": 50}. A period applies only when its indicator is in indicators. MACD stays 12, 26, 9, and VWAP and OBV have no length, so none has an entry.
timeframeNo5m, 15m, 1h, 4h (built from 1h bars), 1d (default) or 1w
indicatorsNoOptional: any of sma, ema, rsi, macd, bollinger, atr, stochastic, vwap, adx, cci, williams_r, obv. All 12 when omitted or empty.
series_lengthNoHow many recent values to return per indicator, oldest first. None by default; 5 when detail is full.

Output Schema

NameRequiredDescriptionDefault
asOfYesISO 8601 UTC time of the last bar, or of the call when status is not ok
barsYesBars the values were calculated from. 0 when status is not ok.
nameNoInstrument name from the source
readYesPlain-language description of the values. Not financial advice. Empty when status is not ok.
delayYesHow current the prices are: the source's delay and this service's cache time. Empty when no prices were read.
errorNoPresent when status is not ok
noticeYesNot-financial-advice notice. Show it with the values.
sourceYesPrice source: Yahoo Finance, Coinbase, or ECB reference rates through Frankfurter. Empty, or the failing source, when status is not ok.
statusYesok, or why there are no values; error.hint then says what to do next
symbolNoSymbol as read, such as AAPL, EUR/USD, BTC-USD or GC=F
skippedYesRequested indicators that could not be calculated
summaryYesHow many readings sit above, below or on their reference line. A count of positions, not a buy or sell rating.
currencyNoPrice currency code from the source, such as USD. Empty when the source gives none.
lastCloseYesLast close in the price currency. null when status is not ok.
timeframeNo
indicatorsYes
changePercentYesPercent change from the previous close to the last close. null when status is not ok.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / symbol / description
      Previous value: -"Yahoo-style ticker, such as \"AAPL\". Also accepted: BRK-B, EUR/USD or EURUSD, BTC-USD, BTC/USDT or PEPEUSDT (any coin against USD), GOLD (GC=F), SPX. Turn a company name into its ticker first: Apple is AAPL."New value: +"Yahoo-style ticker, such as \"AAPL\". Also accepted: BRK-B, EUR/USD or EURUSD, BTC-USD, BTC/USDT or PEPEUSDT (any coin against USD), GOLD (GC=F), SPX. A common company or coin name also works, such as Apple or Bitcoin (S&P 100 companies and top coins), but a ticker is still best."
  2. Changed2 schema fields changed
    • changedInput schema / properties / indicators / description
      Previous value: -"Any of sma, ema, rsi, macd, bollinger, atr, stochastic, vwap, adx, cci, williams_r, obv. All 12 when omitted."New value: +"Optional: any of sma, ema, rsi, macd, bollinger, atr, stochastic, vwap, adx, cci, williams_r, obv. All 12 when omitted or empty."
    • removedInput schema / properties / indicators / minItems
      Removed value: -1
  3. Changed16 schema fields changed
    • changedInput schema / properties / periods / properties / adx / description
      Previous value: -"14 bars by default. Used only when adx is in indicators; ignored otherwise."New value: +"14 bars by default, at most 100. Used only when adx is in indicators; ignored otherwise."
    • changedInput schema / properties / periods / properties / atr / description
      Previous value: -"14 bars by default. Used only when atr is in indicators; ignored otherwise."New value: +"14 bars by default, at most 100. Used only when atr is in indicators; ignored otherwise."
    • changedInput schema / properties / periods / properties / bollinger / description
      Previous value: -"20 bars by default. Used only when bollinger is in indicators; ignored otherwise."New value: +"20 bars by default, at most 100. Used only when bollinger is in indicators; ignored otherwise."
    • changedInput schema / properties / periods / properties / cci / description
      Previous value: -"20 bars by default. Used only when cci is in indicators; ignored otherwise."New value: +"20 bars by default, at most 100. Used only when cci is in indicators; ignored otherwise."
    • changedInput schema / properties / periods / properties / ema / description
      Previous value: -"20 bars by default. Used only when ema is in indicators; ignored otherwise."New value: +"20 bars by default, at most 200. Used only when ema is in indicators; ignored otherwise."
    • changedInput schema / properties / periods / properties / ema / maximum
      Previous value: -100New value: +200
    • changedInput schema / properties / periods / properties / rsi / description
      Previous value: -"14 bars by default. Used only when rsi is in indicators; ignored otherwise."New value: +"14 bars by default, at most 100. Used only when rsi is in indicators; ignored otherwise."
    • changedInput schema / properties / periods / properties / sma / description
      Previous value: -"20 bars by default. Used only when sma is in indicators; ignored otherwise."New value: +"20 bars by default, at most 200. Used only when sma is in indicators; ignored otherwise."
    • changedInput schema / properties / periods / properties / sma / maximum
      Previous value: -100New value: +200
    • changedInput schema / properties / periods / properties / stochastic / description
      Previous value: -"14 bars by default. Used only when stochastic is in indicators; ignored otherwise."New value: +"14 bars by default, at most 100. Used only when stochastic is in indicators; ignored otherwise."
    • changedInput schema / properties / periods / properties / williams_r / description
      Previous value: -"14 bars by default. Used only when williams_r is in indicators; ignored otherwise."New value: +"14 bars by default, at most 100. Used only when williams_r is in indicators; ignored otherwise."
    • changedInput schema / properties / symbol / description
      Previous value: -"Yahoo-style ticker, such as \"AAPL\". Also accepted: BRK-B, EUR/USD or EURUSD, BTC-USD or BTCUSD, GOLD (GC=F), SPX. Turn a company name into its ticker first: Apple is AAPL."New value: +"Yahoo-style ticker, such as \"AAPL\". Also accepted: BRK-B, EUR/USD or EURUSD, BTC-USD, BTC/USDT or PEPEUSDT (any coin against USD), GOLD (GC=F), SPX. Turn a company name into its ticker first: Apple is AAPL."
    • changedInput schema / properties / timeframe / description
      Previous value: -"5m, 15m, 1h, 1d (default) or 1w"New value: +"5m, 15m, 1h, 4h (built from 1h bars), 1d (default) or 1w"
    • changedInput schema / properties / timeframe / enum
      Previous value: -[
      -  "5m",
      -  "15m",
      -  "1h",
      -  "1d",
      -  "1w"
      -]New value: +[
      +  "5m",
      +  "15m",
      +  "1h",
      +  "4h",
      +  "1d",
      +  "1w"
      +]
    • changedOutput schema / properties / indicators / items / properties / anchor / description
      Previous value: -"vwap only: the open time of the first bar summed. The session start on 5m, 15m and 1h; the first loaded bar on 1d and 1w."New value: +"vwap only: the open time of the first bar summed. The session start on 5m, 15m, 1h and 4h; the first loaded bar on 1d and 1w."
    • changedOutput schema / properties / timeframe / enum
      Previous value: -[
      -  "5m",
      -  "15m",
      -  "1h",
      -  "1d",
      -  "1w"
      -]New value: +[
      +  "5m",
      +  "15m",
      +  "1h",
      +  "4h",
      +  "1d",
      +  "1w"
      +]
  4. Changed7 schema fields changed
    • addedInput schema / properties / detail
      Added value: +{
      +  "description": "compact (default) returns the latest and previous values and a reading of each indicator; full also returns the last 5 values of each. series_length sets that count either way.",
      +  "enum": [
      +    "compact",
      +    "full"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / series_length / description
      Previous value: -"How many recent values to return per indicator, oldest first. 5 by default."New value: +"How many recent values to return per indicator, oldest first. None by default; 5 when detail is full."
    • addedOutput schema / properties / indicators / items / properties / anchor
      Added value: +{
      +  "description": "vwap only: the open time of the first bar summed. The session start on 5m, 15m and 1h; the first loaded bar on 1d and 1w.",
      +  "format": "date-time",
      +  "type": "string"
      +}
    • changedOutput schema / properties / indicators / items / properties / position / description
      Previous value: -"The close against sma, ema, vwap and the Bollinger middle; RSI against 50; CCI against 0; Williams %R against -50; MACD against its signal line; %K against %D; +DI against -DI. none for atr and obv."New value: +"Where the indicator sits against its one reference line, named in reference: the close against sma, ema, vwap and the Bollinger middle; RSI and %K against 50; CCI against 0; Williams %R against -50; MACD against its signal line; +DI against -DI. none for atr and obv."
    • addedOutput schema / properties / indicators / items / properties / reference
      Added value: +{
      +  "description": "What position compares, such as \"%K against 50\". Empty for atr and obv.",
      +  "type": "string"
      +}
    • changedOutput schema / properties / indicators / items / properties / series / description
      Previous value: -"Recent values, oldest first. Shorter than series_length when the earlier bars are too few for the study."New value: +"Recent values, oldest first. Empty unless series_length is set or detail is full; shorter than series_length when the earlier bars are too few for the study."
    • changedOutput schema / properties / indicators / items / required
      Previous value: -[
      -  "indicator",
      -  "params",
      -  "latest",
      -  "position",
      -  "previous",
      -  "reading",
      -  "series",
      -  "read"
      -]New value: +[
      +  "indicator",
      +  "params",
      +  "latest",
      +  "position",
      +  "reference",
      +  "previous",
      +  "reading",
      +  "series",
      +  "read"
      +]
  5. Changed7 schema fields changed
    • addedInput schema / properties / lengths
      Added value: +{
      +  "description": "SMA and EMA lengths to return, each its own entry, shortest first, such as [50, 200]. Overrides periods.sma and periods.ema. 20, 50, 200 when omitted and periods sets no sma or ema length.",
      +  "items": {
      +    "maximum": 200,
      +    "minimum": 2,
      +    "type": "integer"
      +  },
      +  "maxItems": 4,
      +  "minItems": 1,
      +  "type": "array"
      +}
    • addedOutput schema / properties / delay
      Added value: +{
      +  "description": "How current the prices are: the source's delay and this service's cache time. Empty when no prices were read.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / indicators / items / properties / previous
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "description": "One past value of the study, with the open time of its bar",
      +      "properties": {
      +        "adx": {
      +          "description": "ADX line",
      +          "type": "number"
      +        },
      +        "d": {
      +          "description": "Stochastic %D",
      +          "type": "number"
      +        },
      +        "histogram": {
      +          "description": "MACD minus signal",
      +          "type": "number"
      +        },
      +        "k": {
      +          "description": "Stochastic %K",
      +          "type": "number"
      +        },
      +        "lower": {
      +          "description": "Lower Bollinger Band",
      +          "type": "number"
      +        },
      +        "macd": {
      +          "description": "MACD line",
      +          "type": "number"
      +        },
      +        "middle": {
      +          "description": "Middle Bollinger Band",
      +          "type": "number"
      +        },
      +        "minusDi": {
      +          "description": "-DI line of ADX",
      +          "type": "number"
      +        },
      +        "plusDi": {
      +          "description": "+DI line of ADX",
      +          "type": "number"
      +        },
      +        "signal": {
      +          "description": "MACD signal line",
      +          "type": "number"
      +        },
      +        "time": {
      +          "format": "date-time",
      +          "type": "string"
      +        },
      +        "upper": {
      +          "description": "Upper Bollinger Band",
      +          "type": "number"
      +        },
      +        "value": {
      +          "description": "sma, ema, rsi, atr, vwap, cci, williams_r and obv value",
      +          "type": "number"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "The value on the bar before the latest, with its time. null when the earlier bars are too few."
      +}
    • addedOutput schema / properties / indicators / items / properties / reading
      Added value: +{
      +  "description": "One plain line: the latest value against its usual reference level or line (RSI against 30 and 70, MACD against its signal line and zero, the close against each average) and the previous value. Positions, not signals.",
      +  "type": "string"
      +}
    • changedOutput schema / properties / indicators / items / required
      Previous value: -[
      -  "indicator",
      -  "params",
      -  "latest",
      -  "position",
      -  "series",
      -  "read"
      -]New value: +[
      +  "indicator",
      +  "params",
      +  "latest",
      +  "position",
      +  "previous",
      +  "reading",
      +  "series",
      +  "read"
      +]
    • addedOutput schema / properties / skipped / items / properties / length
      Added value: +{
      +  "description": "The sma or ema length skipped, when several were asked for",
      +  "type": "integer"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "status",
      -  "bars",
      -  "lastClose",
      -  "changePercent",
      -  "indicators",
      -  "skipped",
      -  "summary",
      -  "read",
      -  "notice",
      -  "source",
      -  "asOf"
      -]New value: +[
      +  "status",
      +  "bars",
      +  "delay",
      +  "lastClose",
      +  "changePercent",
      +  "indicators",
      +  "skipped",
      +  "summary",
      +  "read",
      +  "notice",
      +  "source",
      +  "asOf"
      +]
  6. Changed7 schema fields changed
    • removedInput schema / properties / lengths
      Removed value: -{
      -  "description": "SMA and EMA lengths to return, each its own entry, shortest first, such as [50, 200]. Overrides periods.sma and periods.ema. 20, 50, 200 when omitted and periods sets no sma or ema length.",
      -  "items": {
      -    "maximum": 200,
      -    "minimum": 2,
      -    "type": "integer"
      -  },
      -  "maxItems": 4,
      -  "minItems": 1,
      -  "type": "array"
      -}
    • removedOutput schema / properties / delay
      Removed value: -{
      -  "description": "How current the prices are: the source's delay and this service's cache time. Empty when no prices were read.",
      -  "type": "string"
      -}
    • removedOutput schema / properties / indicators / items / properties / previous
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "additionalProperties": false,
      -      "description": "One past value of the study, with the open time of its bar",
      -      "properties": {
      -        "adx": {
      -          "description": "ADX line",
      -          "type": "number"
      -        },
      -        "d": {
      -          "description": "Stochastic %D",
      -          "type": "number"
      -        },
      -        "histogram": {
      -          "description": "MACD minus signal",
      -          "type": "number"
      -        },
      -        "k": {
      -          "description": "Stochastic %K",
      -          "type": "number"
      -        },
      -        "lower": {
      -          "description": "Lower Bollinger Band",
      -          "type": "number"
      -        },
      -        "macd": {
      -          "description": "MACD line",
      -          "type": "number"
      -        },
      -        "middle": {
      -          "description": "Middle Bollinger Band",
      -          "type": "number"
      -        },
      -        "minusDi": {
      -          "description": "-DI line of ADX",
      -          "type": "number"
      -        },
      -        "plusDi": {
      -          "description": "+DI line of ADX",
      -          "type": "number"
      -        },
      -        "signal": {
      -          "description": "MACD signal line",
      -          "type": "number"
      -        },
      -        "time": {
      -          "format": "date-time",
      -          "type": "string"
      -        },
      -        "upper": {
      -          "description": "Upper Bollinger Band",
      -          "type": "number"
      -        },
      -        "value": {
      -          "description": "sma, ema, rsi, atr, vwap, cci, williams_r and obv value",
      -          "type": "number"
      -        }
      -      },
      -      "type": "object"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "description": "The value on the bar before the latest, with its time. null when the earlier bars are too few."
      -}
    • removedOutput schema / properties / indicators / items / properties / reading
      Removed value: -{
      -  "description": "One plain line: the latest value against its usual reference level or line (RSI against 30 and 70, MACD against its signal line and zero, the close against each average) and the previous value. Positions, not signals.",
      -  "type": "string"
      -}
    • changedOutput schema / properties / indicators / items / required
      Previous value: -[
      -  "indicator",
      -  "params",
      -  "latest",
      -  "position",
      -  "previous",
      -  "reading",
      -  "series",
      -  "read"
      -]New value: +[
      +  "indicator",
      +  "params",
      +  "latest",
      +  "position",
      +  "series",
      +  "read"
      +]
    • removedOutput schema / properties / skipped / items / properties / length
      Removed value: -{
      -  "description": "The sma or ema length skipped, when several were asked for",
      -  "type": "integer"
      -}
    • changedOutput schema / required
      Previous value: -[
      -  "status",
      -  "bars",
      -  "delay",
      -  "lastClose",
      -  "changePercent",
      -  "indicators",
      -  "skipped",
      -  "summary",
      -  "read",
      -  "notice",
      -  "source",
      -  "asOf"
      -]New value: +[
      +  "status",
      +  "bars",
      +  "lastClose",
      +  "changePercent",
      +  "indicators",
      +  "skipped",
      +  "summary",
      +  "read",
      +  "notice",
      +  "source",
      +  "asOf"
      +]
  7. Changed7 schema fields changed
    • addedInput schema / properties / lengths
      Added value: +{
      +  "description": "SMA and EMA lengths to return, each its own entry, shortest first, such as [50, 200]. Overrides periods.sma and periods.ema. 20, 50, 200 when omitted and periods sets no sma or ema length.",
      +  "items": {
      +    "maximum": 200,
      +    "minimum": 2,
      +    "type": "integer"
      +  },
      +  "maxItems": 4,
      +  "minItems": 1,
      +  "type": "array"
      +}
    • addedOutput schema / properties / delay
      Added value: +{
      +  "description": "How current the prices are: the source's delay and this service's cache time. Empty when no prices were read.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / indicators / items / properties / previous
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "description": "One past value of the study, with the open time of its bar",
      +      "properties": {
      +        "adx": {
      +          "description": "ADX line",
      +          "type": "number"
      +        },
      +        "d": {
      +          "description": "Stochastic %D",
      +          "type": "number"
      +        },
      +        "histogram": {
      +          "description": "MACD minus signal",
      +          "type": "number"
      +        },
      +        "k": {
      +          "description": "Stochastic %K",
      +          "type": "number"
      +        },
      +        "lower": {
      +          "description": "Lower Bollinger Band",
      +          "type": "number"
      +        },
      +        "macd": {
      +          "description": "MACD line",
      +          "type": "number"
      +        },
      +        "middle": {
      +          "description": "Middle Bollinger Band",
      +          "type": "number"
      +        },
      +        "minusDi": {
      +          "description": "-DI line of ADX",
      +          "type": "number"
      +        },
      +        "plusDi": {
      +          "description": "+DI line of ADX",
      +          "type": "number"
      +        },
      +        "signal": {
      +          "description": "MACD signal line",
      +          "type": "number"
      +        },
      +        "time": {
      +          "format": "date-time",
      +          "type": "string"
      +        },
      +        "upper": {
      +          "description": "Upper Bollinger Band",
      +          "type": "number"
      +        },
      +        "value": {
      +          "description": "sma, ema, rsi, atr, vwap, cci, williams_r and obv value",
      +          "type": "number"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "The value on the bar before the latest, with its time. null when the earlier bars are too few."
      +}
    • addedOutput schema / properties / indicators / items / properties / reading
      Added value: +{
      +  "description": "One plain line: the latest value against its usual reference level or line (RSI against 30 and 70, MACD against its signal line and zero, the close against each average) and the previous value. Positions, not signals.",
      +  "type": "string"
      +}
    • changedOutput schema / properties / indicators / items / required
      Previous value: -[
      -  "indicator",
      -  "params",
      -  "latest",
      -  "position",
      -  "series",
      -  "read"
      -]New value: +[
      +  "indicator",
      +  "params",
      +  "latest",
      +  "position",
      +  "previous",
      +  "reading",
      +  "series",
      +  "read"
      +]
    • addedOutput schema / properties / skipped / items / properties / length
      Added value: +{
      +  "description": "The sma or ema length skipped, when several were asked for",
      +  "type": "integer"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "status",
      -  "bars",
      -  "lastClose",
      -  "changePercent",
      -  "indicators",
      -  "skipped",
      -  "summary",
      -  "read",
      -  "notice",
      -  "source",
      -  "asOf"
      -]New value: +[
      +  "status",
      +  "bars",
      +  "delay",
      +  "lastClose",
      +  "changePercent",
      +  "indicators",
      +  "skipped",
      +  "summary",
      +  "read",
      +  "notice",
      +  "source",
      +  "asOf"
      +]
  8. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, open-world), yet the description still adds real behavioral context: what is returned, the ECB daily close-only caveat that skips range indicators for currency pairs, an explicit data delay, and the disclaimer that the position count is not a buy/sell rating.

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?

The lead sentence front-loads purpose and scope, and optional parameters are grouped compactly. It is a dense paragraph with a few trailing disclaimers ('Not financial advice') that could be trimmed, but nothing is seriously wasteful.

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 7-parameter tool with a nested periods object and an output schema, the description is complete: it covers scope, input formats, defaults, return shape at a high level, and domain caveats. Return-value detail is correctly left to the output schema.

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 coverage is 100% and every default the description mentions (1d timeframe, all 12 indicators, 20/50/200 lengths, detail full) is already documented in the schema. The description restates defaults usefully in one place but adds little semantic meaning beyond the structured fields, so the baseline 3 applies.

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 ('Technical indicator values for any public ticker') and immediately scopes it ('with no chart'), listing the asset classes covered. The closing 'To show a chart, use chart' makes it unambiguous against the main sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit use case ('indicator numbers or a technical summary, such as the RSI of NVDA') and names the alternative tool with the condition that selects it ('To show a chart, use chart'). The agent does not need to infer when to route elsewhere.

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.