Skip to main content
Glama

Top gainers/losers

top_movers
Read-onlyIdempotent

Biggest 24h gainers and losers within a rank segment.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of gainers and losers to return on each side, default 10
segmentNoRank segment, default "top100"

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
losersYesTop 24h losers in the requested segment
gainersYesTop 24h gainers in the requested segment

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed2 schema fields changed
    • addedInput schema / properties / limit / description
      Added value: +"Number of gainers and losers to return on each side, default 10"
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "gainers": {
      +      "description": "Top 24h gainers in the requested segment",
      +      "items": {
      +        "additionalProperties": true,
      +        "properties": {
      +          "id": {
      +            "description": "Canonical coin ID (e.g. `bitcoin`)",
      +            "type": "string"
      +          },
      +          "marketCap": {
      +            "description": "Market cap in USD",
      +            "type": "number"
      +          },
      +          "name": {
      +            "description": "Human-readable name (e.g. `Bitcoin`)",
      +            "type": "string"
      +          },
      +          "price": {
      +            "description": "Current spot price in USD",
      +            "type": "number"
      +          },
      +          "rank": {
      +            "description": "Market cap rank (1 = largest)",
      +            "type": "integer"
      +          },
      +          "symbol": {
      +            "description": "Trading symbol (e.g. `btc`)",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "symbol",
      +          "name"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "losers": {
      +      "description": "Top 24h losers in the requested segment",
      +      "items": {
      +        "additionalProperties": true,
      +        "properties": {
      +          "id": {
      +            "description": "Canonical coin ID (e.g. `bitcoin`)",
      +            "type": "string"
      +          },
      +          "marketCap": {
      +            "description": "Market cap in USD",
      +            "type": "number"
      +          },
      +          "name": {
      +            "description": "Human-readable name (e.g. `Bitcoin`)",
      +            "type": "string"
      +          },
      +          "price": {
      +            "description": "Current spot price in USD",
      +            "type": "number"
      +          },
      +          "rank": {
      +            "description": "Market cap rank (1 = largest)",
      +            "type": "integer"
      +          },
      +          "symbol": {
      +            "description": "Trading symbol (e.g. `btc`)",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "symbol",
      +          "name"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "gainers",
      +    "losers"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive nature, so the description's addition of the 24h time window and rank segment filter is valuable behavioral context. No contradiction with 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 a single clear sentence with no extraneous information. It perfectly front-loads the core purpose.

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 the simplicity of the tool (2 optional params, full schema coverage, rich annotations, and an output schema), the description is complete enough to guide an agent in 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?

The schema covers both parameters, but the description adds the 24h time window and clarifies that the rank segment is 'within' a segment, enhancing the semantic understanding beyond the schema alone.

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 returns the biggest 24h gainers and losers within a rank segment, aligning with the name and title. It distinguishes from siblings like 'top_coins' by focusing on movers rather than static ranking.

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

Usage Guidelines3/5

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

The description implies usage for querying top performers based on 24h price change, but lacks explicit guidance on when to use it versus similar tools like 'get_price' or 'market_summary'. No alternatives or exclusions are mentioned.

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.

TDQS

A3.9/5.0
Disambiguation5/5

Each tool targets a distinct aspect of cryptocurrency data: coin metadata, prices, rates (current, historical, changes), earn products, market summaries, stablecoin analysis, and symbol resolution. The detailed descriptions clearly differentiate even similar tools like get_price and get_price_by_symbol, or get_rates and list_earn_products.

Naming Consistency3/5

All names use snake_case, but conventions vary: some are verb_noun (get_coin, list_coins, resolve_symbol), some are noun_noun (coin_history, fear_greed_index, market_summary), and some include 'by' for parameters. This mix is readable but could be more consistent.

Tool Count5/5

With 21 tools, the server covers a broad domain of cryptocurrency data without being overwhelming. Each tool serves a clear purpose, and the count is appropriate for a comprehensive data API.

Completeness5/5

The tool set covers nearly all expected operations for a crypto data server: coin listing, metadata, prices, historical data, rates, yield products, market stats, top coins, stablecoin analysis, and symbol resolution. No obvious gaps are present for the stated focus on price, rate, and yield data.

Resources