Skip to main content
Glama

Crypto Data & Market Analysis Agent

get_derivatives_aggregate

Read-onlyIdempotent

Watchlist sweep over up to 10 coins in one call: the headline funding and open interest figures per coin — average funding, total open interest in USD, funding spread — with no per-venue rows, which keeps the response compact enough to compare positioning across a basket. Costs a single upstream call no matter how many coins you request, so prefer it over repeated single-coin calls. Figures come from the major liquid venues — Binance, Bybit, OKX and Hyperliquid; thin venues are excluded, since their outlier rates would otherwise distort the average by an order of magnitude. Coins with no major-venue data are listed in "unavailable" instead of failing the whole request. Reach for get_derivatives instead when you need the per-venue detail on one coin. Funding is returned in PERCENT per 8 hours (0.0061 means 0.0061%, not 0.61%) and also ANNUALIZED as a percent per year — 0.0067% per 8h is 7.3% a year, which says immediately whether a long is paying more than a bond yields. Open interest is in USD. Current snapshot.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
coinsNoBase coins, e.g. ["BTC","ETH","SOL"]. Maximum 10. Defaults to BTC and ETH.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
coinsYes
unavailableYesRequested coins with no major-venue perpetual. Never silently dropped.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "coins": {
      +      "items": {
      +        "properties": {
      +          "avgFundingAnnualizedPct": {
      +            "description": "The same funding as a yearly percentage, comparable to any other yield.",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "avgFundingRate": {
      +            "description": "Percent per 8 hours. 0.0067 means 0.0067%, not 0.67%.",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "coin": {
      +            "type": "string"
      +          },
      +          "exchangeCount": {
      +            "description": "How many major venues backed the numbers.",
      +            "type": "number"
      +          },
      +          "fundingSpread": {
      +            "description": "Highest minus lowest venue funding. A wide spread marks localised positioning.",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "totalOpenInterestUsd": {
      +            "description": "Summed across the major venues.",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "coin",
      +          "exchangeCount"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "unavailable": {
      +      "description": "Requested coins with no major-venue perpetual. Never silently dropped.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "coins",
      +    "unavailable"
      +  ],
      +  "type": "object"
      +}
  2. Changed2 schema fields changed
    • removedInput schema / properties / coin
      Removed value: -{
      -  "description": "Base coin, e.g. BTC, ETH (quote defaults to USDT)",
      -  "type": "string"
      -}
    • addedInput schema / properties / coins
      Added value: +{
      +  "description": "Base coins, e.g. [\"BTC\",\"ETH\",\"SOL\"]. Maximum 10. Defaults to BTC and ETH.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  3. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, establishing safety. The description adds substantial behavioral context: costs a single upstream call, excludes thin venues to avoid outlier distortion, handles unavailable coins gracefully, and details the units (percent per 8h, annualized, OI in USD). This goes well beyond what annotations provide, and there is no contradiction.

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 well-structured, starting with a clear action statement, then explaining benefits, data sources, handling of missing data, units, and the alternative tool. Every sentence adds value. However, it is slightly verbose (multiple sentences on units could be condensed), preventing a perfect score.

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 tool's complexity (aggregate derivatives across multiple venues), the description covers all critical aspects: what data is returned (funding, OI, spread), how it is aggregated (no per-venue rows), data sources (Binance, Bybit, OKX, Hyperliquid), handling of unavailable coins, and units. The presence of an output schema means return value details are not needed, making this description complete.

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

Parameters5/5

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

Schema coverage is 100% (the one parameter 'coins' is fully described). The description adds value beyond the schema by explaining the maximum of 10 coins, the default (BTC and ETH), and the purpose of the parameter in the context of a basket sweep. Baseline 3 is exceeded due to this added context.

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 it performs a 'watchlist sweep' of up to 10 coins, returning headline funding and open interest figures aggregated across major venues. It explicitly distinguishes itself from the sibling `get_derivatives` by noting that tool provides per-venue detail, while this tool gives compact totals for comparison.

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 advises preferring this tool over repeated single-coin calls because it costs a single upstream call regardless of coin count. It also provides a clear alternative: 'Reach for get_derivatives instead when you need the per-venue detail on one coin.' Additionally, it explains that coins with missing data are listed as 'unavailable' rather than failing, guiding the agent on expected behavior.

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