Skip to main content
Glama

Ichimoku Signal

Confluence signal: 6 indicators ($0.15 via x402)

confluence_signal
Read-only

Paid ($0.15 via x402 in USDC on Base, Solana, Monad, Polygon, Arbitrum, Avalanche, Algorand or Stellar, in RLUSD on the XRP Ledger, or in USD₮0 on X Layer): six indicators for a crypto pair in one call (Ichimoku, RSI 14, MACD 12/26/9, EMA 50/200, Bollinger Bands 20/2, volume OBV), each with its values and a bullish/bearish/neutral vote, plus the combined signal, confidence (high/medium/low), score and a summary like "4 of 6 indicators bullish". Same as GET /signals/{pair}. A "news" field flags recent news (hack, delisting, unlock, legal action) that can break the signal. One pair you already chose; to find which coins have a setup, use trade_setups. Invalid pairs are rejected before payment.

Input Schema

NameRequiredDescriptionDefault
pairYesCrypto pair, e.g. BTC-USDT, SOL-USDT, TAO-USDT or ETHUSDT (Binance.US, then Kraken, Gate and MEXC: covers the top 200 coins). For the XRP Ledger DEX: xrpl:XRP-RLUSD, xrpl:SOLO-XRP, or with the issuer, xrpl:SOLO.rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz-XRP
intervalNoCandle interval, default 1h

Output Schema

NameRequiredDescriptionDefault
newsNoOnly when the news check is on: news from the last 72 hours that can break a technical signal (TypeSafe Jev). The signal itself never changes; treat high as a reason to wait.
pairNoThe pair, e.g. BTC-USDT
priceNoLast price
signalNoCombined signal of six indicators
acceptsNoOnly on an unpaid call: the x402 payment options
summaryNoe.g. 4 of 6 indicators bearish
intervalNoCandle interval, e.g. 1h, 4h, 1d
timestampNo
confidenceNolow, medium or high
indicatorsNoEach indicator with its vote

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • removedInput schema / additionalProperties
      Removed value: -false
    • changedOutput schema / additionalProperties
      Previous value: -trueNew value: +{}
    • changedOutput schema / properties / accepts / anyOf
      Previous value: -[
      -  {
      -    "items": {
      -      "additionalProperties": {},
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "items": {
      +      "additionalProperties": {},
      +      "propertyNames": {
      +        "type": "string"
      +      },
      +      "type": "object"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / indicators / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": {},
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": {},
      +    "propertyNames": {
      +      "type": "string"
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / news / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": true,
      -    "properties": {
      -      "checked_headlines": {
      -        "type": "number"
      -      },
      -      "headlines": {
      -        "description": "Up to 3 recent headlines naming the coin, with url and published",
      -        "items": {
      -          "additionalProperties": {},
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "probability": {
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "risk": {
      -        "description": "high: a headline reports a hack, delisting, unlock, legal action or similar for this coin; elevated: maybe; none: nothing found",
      -        "enum": [
      -          "high",
      -          "elevated",
      -          "none"
      -        ],
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "risk"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "checked_headlines": {
      +        "type": "number"
      +      },
      +      "headlines": {
      +        "description": "Up to 3 recent headlines naming the coin, with url and published",
      +        "items": {
      +          "additionalProperties": {},
      +          "propertyNames": {
      +            "type": "string"
      +          },
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "probability": {
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "risk": {
      +        "description": "high: a headline reports a hack, delisting, unlock, legal action or similar for this coin; elevated: maybe; none: nothing found",
      +        "enum": [
      +          "high",
      +          "elevated",
      +          "none"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "risk"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. Changed1 schema field changed
    • addedOutput schema / properties / news
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": true,
      +      "properties": {
      +        "checked_headlines": {
      +          "type": "number"
      +        },
      +        "headlines": {
      +          "description": "Up to 3 recent headlines naming the coin, with url and published",
      +          "items": {
      +            "additionalProperties": {},
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "probability": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "risk": {
      +          "description": "high: a headline reports a hack, delisting, unlock, legal action or similar for this coin; elevated: maybe; none: nothing found",
      +          "enum": [
      +            "high",
      +            "elevated",
      +            "none"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "risk"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Only when the news check is on: news from the last 72 hours that can break a technical signal (TypeSafe Jev). The signal itself never changes; treat high as a reason to wait."
      +}
  3. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": true,
      +  "properties": {
      +    "accepts": {
      +      "anyOf": [
      +        {
      +          "items": {
      +            "additionalProperties": {},
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Only on an unpaid call: the x402 payment options"
      +    },
      +    "confidence": {
      +      "description": "low, medium or high",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "indicators": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": {},
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Each indicator with its vote"
      +    },
      +    "interval": {
      +      "description": "Candle interval, e.g. 1h, 4h, 1d",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "pair": {
      +      "description": "The pair, e.g. BTC-USDT",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "price": {
      +      "description": "Last price",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "signal": {
      +      "anyOf": [
      +        {
      +          "enum": [
      +            "bullish",
      +            "bearish",
      +            "neutral"
      +          ],
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Combined signal of six indicators"
      +    },
      +    "summary": {
      +      "description": "e.g. 4 of 6 indicators bearish",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "timestamp": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": "object"
      +}
  4. Changed1 schema field changed
    • changedInput schema / properties / pair / description
      Previous value: -"Crypto pair, e.g. BTC-USDT, SOL-USDT, TAO-USDT or ETHUSDT (Binance.US, then Kraken, Gate and MEXC: covers the top 200 coins)"New value: +"Crypto pair, e.g. BTC-USDT, SOL-USDT, TAO-USDT or ETHUSDT (Binance.US, then Kraken, Gate and MEXC: covers the top 200 coins). For the XRP Ledger DEX: xrpl:XRP-RLUSD, xrpl:SOLO-XRP, or with the issuer, xrpl:SOLO.rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz-XRP"
  5. Changed1 schema field changed
    • changedInput schema / properties / pair / description
      Previous value: -"Crypto pair, e.g. BTC-USDT, SOL-USDT, TAO-USDT or ETHUSDT (Binance.US, then Kraken, then Gate: covers the top 100 coins)"New value: +"Crypto pair, e.g. BTC-USDT, SOL-USDT, TAO-USDT or ETHUSDT (Binance.US, then Kraken, Gate and MEXC: covers the top 200 coins)"
  6. Added

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only cover readOnly and openWorld, so the description carries the weight and does so well: it discloses the $0.15 x402 price, the accepted chains and stablecoins, and that validation happens before payment. It stops short of describing response pagination or latency, but for a single-call read tool that is minor.

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?

One dense paragraph, front-loaded with price and the indicator list so the value proposition lands immediately. The payment-chain enumeration is long but earns its place for a paid tool; the news-field caveat is a useful addendum rather than filler.

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 two-parameter read tool with an output schema, the description covers cost, payment mechanics, prerequisites, failure behavior, and even a caveat about the news field breaking signals. Nothing an agent needs to decide or invoke correctly is missing.

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 both parameters (pair with format examples, interval enum with default) are documented in the schema itself. The description adds only the high-level constraint that the pair must already be chosen; it contributes no format or syntax detail beyond the schema, so 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?

Names a concrete resource ('six indicators for a crypto pair in one call') and enumerates every indicator (Ichimoku, RSI 14, MACD 12/26/9, EMA 50/200, Bollinger 20/2, OBV) plus the aggregation logic, so an agent knows exactly what it gets and how it differs from single-indicator siblings like ichimoku_signal.

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?

Explicitly states the precondition ('One pair you already chose') and routes the agent to the right alternative ('to find which coins have a setup, use trade_setups'), plus a when-not note that invalid pairs are rejected before payment.

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