Skip to main content
Glama

whale_daily_summary

Read-onlyIdempotent

Get daily whale movement counts from the DB — per-chain inflow/outflow totals over N days (use for trend analysis, not individual transfers) — Returns daily aggregated whale movement counts over the last N days (default 30, max 180). Each row covers one UTC day and includes: total_moves (total whale signals recorded), total_usd_value (estimated USD volume from on-chain whale transactions), inflow_count (accumulation / buy-side moves), outflow_count (distribution / sell-side moves), and chains_breakdown (object mapping each chain to its move count for that day). Data is written once per 5-minute cron cycle via an upsert, so today's row is always current. Rows older than 365 days are automatically purged. Use ?days=30 to control the look-back window (1–180). Cached 5min. Answers questions like: 'How many whale moves happened in June?' or 'Which network was most active this week?' — Use this for stored daily whale totals; use whale_activity for the current snapshot or whale_movements for individual transfers.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of recent days to return (1–180, default 30).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
daysNo
totalNo
historyNo
updatedAtNo
attributionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "attribution": {
      +      "$ref": "#/components/schemas/Attribution"
      +    },
      +    "days": {
      +      "type": "number"
      +    },
      +    "history": {
      +      "items": {
      +        "properties": {
      +          "chainsBreakdown": {
      +            "additionalProperties": {
      +              "type": "integer"
      +            },
      +            "description": "Object mapping chain name to move count for this day, e.g. { 'ETH': 12, 'BTC': 5, 'SOL': 8 }.",
      +            "type": "object"
      +          },
      +          "date": {
      +            "description": "Snapshot date (YYYY-MM-DD, UTC).",
      +            "format": "date",
      +            "type": "string"
      +          },
      +          "inflowCount": {
      +            "description": "Number of inflow (accumulation/buy-side) whale moves.",
      +            "type": "integer"
      +          },
      +          "outflowCount": {
      +            "description": "Number of outflow (distribution/sell-side) whale moves.",
      +            "type": "integer"
      +          },
      +          "totalMoves": {
      +            "description": "Total whale move signals recorded on this day.",
      +            "type": "integer"
      +          },
      +          "totalUsdValue": {
      +            "description": "Estimated total USD value of whale transactions on this day.",
      +            "type": "number"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "total": {
      +      "type": "number"
      +    },
      +    "updatedAt": {
      +      "format": "date-time",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Added

TDQS

A4.4/5.0
Behavior5/5

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

Even though annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, the description adds valuable behavioral context: data freshness via a 5-minute cron/upsert, automatic purge after 365 days, and 5-minute caching. This goes well beyond the annotations without contradicting them.

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 long but information-dense and front-loaded with the core purpose. It uses several dash-separated asides and duplicative phrasings, but each sentence adds useful behavior, output shape, freshness, or routing context. It slightly overstays conciseness yet remains structured and scannable.

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?

Given the output schema exists, the description does not need to spell out return values, but it still does—listing fields such as total_moves, total_usd_value, inflow_count, outflow_count, and chains_breakdown. It also covers retention, caching, and usage alternatives. The only completeness gap is the contradictory max-days value, which prevents it from being fully trustworthy.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single 'days' parameter is described in the schema with default, min, and max, so schema coverage is complete. However, the description prose and the schema constraint conflict: the description repeatedly says 'max 180' and '1–180', while the input schema sets maximum to 90. This is a reliability issue because an agent cannot know the actual accepted upper bound.

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 opens with a specific verb and resource: 'Get daily whale movement counts from the DB' and clarifies it returns daily aggregated totals. It also explicitly contrasts with sibling tools by distinguishing stored daily totals from current snapshots and individual transfers, so an agent can tell where it fits.

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 clearly states when to use it: 'use for trend analysis, not individual transfers' and gives a direct routing rule: 'use whale_activity for the current snapshot or whale_movements for individual transfers.' It even provides example questions, making selection unambiguous.

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