Skip to main content
Glama

Whale flow vs own history

whale_context
Read-onlyIdempotent

Per-coin whale flow vs that coin's OWN logged history: multiple of its daily average, N-day-high flags, buy share now vs 7d. The "is this unusual for THIS coin" call; coin accepts a comma-separated list for portfolio briefs (single coin returns a flat object; a list returns {coins:[...]}). USD magnitudes included; on the free plans a coin other than BTC gets a headline. Descriptive market data only.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
coinNoCoin symbol, for example BTC, or a comma-separated list of up to 15 for a portfolio in one call. A single coin returns a flat object, a list returns {coins:[...]} with an available:false entry for any member with no logged history. Omit for the 15 coins sitting at the highest multiple right now.
pairNoAlias for coin.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
coinNoThe coin this row describes, when one coin was asked for.
noteNoOne line saying what the numbers cover, or why there are none. Read it before reporting any zero as a market reading.
coinsNoOne row per coin when a comma-separated list was asked for. A member with no logged history comes back as available:false.
breadthNoHow wide the buying or selling is across the coins with logged history.
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.
usd_24hNoTotal whale dollars in the last 24h.
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.
since_dayNoThe first day this baseline covers.
valid_daysNoHow many days of the baseline hold usable readings.
days_loggedNoHow many days wide the baseline window is.
net_usd_24hNoBuys minus sells in the last 24h.
buy_share_7dNoShare of the last 7 days dollars that were buys, 0 to 1.
ranking_noteNoHow the list is sorted, and why a thin_baseline row can sit near the top without meaning anything.
buy_share_24hNoShare of the last 24h dollars that were buys, 0 to 1.
thin_baselineNoTrue when about one day of flow sits in the whole window, so the multiple is close to the day count by construction and is not evidence of unusual activity.
highest_in_daysNoHighest flow in this many days, or null.
mult_vs_avg_24hNoHow many times its own logged daily average the last 24h of flow is.
record_high_dayNoTrue when this is the highest recorded day for the coin.
top_by_multipleNoThe coins sitting at the highest multiple right now, when no coin was asked for.

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. Changed2 schema fields changed
    • addedInput schema / properties / coin / description
      Added value: +"Coin symbol, for example BTC, or a comma-separated list of up to 15 for a portfolio in one call. A single coin returns a flat object, a list returns {coins:[...]} with an available:false entry for any member with no logged history. Omit for the 15 coins sitting at the highest multiple right now."
    • 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."
      +    },
      +    "breadth": {
      +      "description": "How wide the buying or selling is across the coins with logged history."
      +    },
      +    "buy_share_24h": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Share of the last 24h dollars that were buys, 0 to 1."
      +    },
      +    "buy_share_7d": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Share of the last 7 days dollars that were buys, 0 to 1."
      +    },
      +    "coin": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "The coin this row describes, when one coin was asked for."
      +    },
      +    "coins": {
      +      "anyOf": [
      +        {
      +          "items": {},
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "One row per coin when a comma-separated list was asked for. A member with no logged history comes back as available:false."
      +    },
      +    "days_logged": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "How many days wide the baseline window is."
      +    },
      +    "highest_in_days": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Highest flow in this many days, or null."
      +    },
      +    "mult_vs_avg_24h": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "How many times its own logged daily average the last 24h of flow is."
      +    },
      +    "net_usd_24h": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Buys minus sells in the last 24h."
      +    },
      +    "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."
      +    },
      +    "ranking_note": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "How the list is sorted, and why a thin_baseline row can sit near the top without meaning anything."
      +    },
      +    "record_high_day": {
      +      "anyOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "True when this is the highest recorded day for the coin."
      +    },
      +    "since_day": {
      +      "anyOf": [
      +        {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "number"
      +            }
      +          ]
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "The first day this baseline covers."
      +    },
      +    "thin_baseline": {
      +      "anyOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "True when about one day of flow sits in the whole window, so the multiple is close to the day count by construction and is not evidence of unusual activity."
      +    },
      +    "top_by_multiple": {
      +      "anyOf": [
      +        {
      +          "items": {},
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "The coins sitting at the highest multiple right now, when no coin was asked for."
      +    },
      +    "usd_24h": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Total whale dollars in the last 24h."
      +    },
      +    "valid_days": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "How many days of the baseline hold usable readings."
      +    }
      +  },
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already mark readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds behavioral details beyond annotations: output shape for single vs multiple coins, the 'available:false' behavior for unlogged coins, and the free-plan headline quirk for non-BTC coins. It also states 'Descriptive market data only', reinforcing the read-only nature. These additions give the agent useful operational context without contradicting annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: two sentences that front-load the core concept, then cover the list behavior, USD magnitudes, and plan quirks. Every sentence carries essential information with no filler. The critical differentiating phrase 'own logged history' is placed early, making the tool's identity instantly clear.

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?

The output schema exists, so return values are documented. The description covers the key behavioral aspects: the historical context, list handling, unavailable-coin behavior, and the free-plan headline nuance. For a read-only tool with an output schema, this is sufficient for an agent to call it correctly. A minor gap is the lack of explicit pagination or rate-limit notes, but those are often omitted for read-only tools and are not critical here.

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% because the coin parameter is described in detail, including the list behavior and return format. The description adds meaning beyond the schema by clarifying that omitting coin returns the top 15 multiples, and that the return shape depends on whether a single coin or list is passed. This enriches the schema documentation with practical usage semantics, earning above the baseline 3.

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 clearly states the tool's specific purpose: per-coin whale flow compared to that coin's own historical averages, with flags and buy-share ratios. It explicitly positions itself as 'the "is this unusual for THIS coin" call', distinguishing it from other whale tools that track absolute flow or global trends. The verb+resource is specific and immediately understood.

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?

The description gives clear context on when to use this tool: when the question is about a coin's own historical context rather than cross-coin comparisons. However, it doesn't explicitly name alternative sibling tools or state when NOT to use it. Since it says 'the "is this unusual for THIS coin" call', it implies the differentiation from siblings like whale_flow or whale_trades, but without explicit exclusions it misses the top tier.

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