Skip to main content
Glama

Smart Money Radar

whale_radar
Read-onlyIdempotent

Which coins have UNUSUAL whale flow right now, each measured against its OWN trailing baseline, across 1h, 4h and 24h windows. Use this to DISCOVER coins worth a look when the user has not named one ("what looks unusual", "what are whales into right now", "anything moving under the radar"). Ranks by how far above a coin's normal, not by dollar size, so a smaller coin can top a larger one. For ONE named coin use whale_profile (or whale_activity); to ask whether a named coin's flow is unusual FOR THAT COIN use whale_context; for a full market brief use market_digest. No arguments. Descriptive market data only.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteNoOne line saying what the numbers cover, or why there are none. Read it before reporting any zero as a market reading.
summaryNoThe answer in one plain sentence, computed from the fields below. Open the reply with this, then let the numbers back it up. Null only when there was nothing to summarise.
windowsNoThe ranked coins per window, keyed 1h, 4h and 24h. Each row names the coin, its dollars in the window and how that compares with the same coin trailing hours.
buildingNoTrue while the ranking has not been published yet.
availableNoFalse when this lane could not answer: a producer is dark, the pair sits outside this plan, or the argument named something we do not carry. Absent or true means the numbers are a real reading, not a guess.
freeCoinsNoKeyless only: the coins whose numbers come through unblurred.
freshnessNoHow often the ranking is rebuilt.
generatedAtNoWhen the ranking was computed.
lockedCountNoKeyless only: how many coins were held back.
blurredMagnitudeNoKeyless only: true because dollar sizes on held-back coins are rounded away.
lockedUnusualCountNoKeyless only: how many of the held-back coins are the unusual ones.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedOutput schema / properties / summary
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "The answer in one plain sentence, computed from the fields below. Open the reply with this, then let the numbers back it up. Null only when there was nothing to summarise."
      +}
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": {},
      +  "properties": {
      +    "available": {
      +      "anyOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "False when this lane could not answer: a producer is dark, the pair sits outside this plan, or the argument named something we do not carry. Absent or true means the numbers are a real reading, not a guess."
      +    },
      +    "blurredMagnitude": {
      +      "anyOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Keyless only: true because dollar sizes on held-back coins are rounded away."
      +    },
      +    "building": {
      +      "anyOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "True while the ranking has not been published yet."
      +    },
      +    "freeCoins": {
      +      "anyOf": [
      +        {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Keyless only: the coins whose numbers come through unblurred."
      +    },
      +    "freshness": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "How often the ranking is rebuilt."
      +    },
      +    "generatedAt": {
      +      "anyOf": [
      +        {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "number"
      +            }
      +          ]
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "When the ranking was computed."
      +    },
      +    "lockedCount": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Keyless only: how many coins were held back."
      +    },
      +    "lockedUnusualCount": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Keyless only: how many of the held-back coins are the unusual ones."
      +    },
      +    "note": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "One line saying what the numbers cover, or why there are none. Read it before reporting any zero as a market reading."
      +    },
      +    "windows": {
      +      "description": "The ranked coins per window, keyed 1h, 4h and 24h. Each row names the coin, its dollars in the window and how that compares with the same coin trailing hours."
      +    }
      +  },
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds valuable behavioral context beyond annotations: it emphasizes 'Descriptive market data only,' explains that ranking is relative to the coin's own baseline rather than dollar size, and explicitly states there are no arguments. This is meaningful but not exhaustive; the output schema covers remaining behavior.

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 description is longer than average but every sentence earns its place: it front-loads the core function, then supplies use-case examples, ranking methodology, and explicit sibling routing. It is dense but not redundant; minor trimming of the quoted user-phrase examples could tighten it slightly.

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?

Given zero parameters, a rich output schema, and strong annotations, the description covers everything an agent needs: what the tool does, when to choose it, what it does not do, and which alternatives to use. No critical context is missing for correct invocation.

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?

There are no parameters and the schema is an empty object, so the baseline is already 4. The description goes further by explicitly stating 'No arguments,' which removes any ambiguity about whether hidden or optional inputs exist. This is sufficient for a zero-parameter tool.

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?

The description uses a specific verb ('discover'/'rank') with a precise resource: coins with unusual whale flow relative to their own trailing baseline across 1h/4h/24h windows. It clearly differentiates from siblings by emphasizing discovery of unnamed coins and relative rather than absolute ranking.

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?

The description explicitly states when to use this tool: when the user has not named a coin and wants unusual movements. It names concrete alternatives (whale_profile, whale_activity, whale_context, market_digest) and the conditions that select each, giving an agent unambiguous routing guidance.

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