Skip to main content
Glama

US spot bitcoin and ether ETF holdings from SEC filings: coins held, AUM, NAV, fee, quarter change

crypto_etf

Use when an agent needs US spot bitcoin or ether ETF holdings from official filings (IBIT, FBTC, GBTC, ETHA...). Input: asset (btc or eth), optional ticker. Output: JSON per fund coins held (reported or estimated), fair value USD, NAV/share, shares outstanding, sponsor fee, period end, change vs previous period, share of coins, filing link; totals. From 10-Q/10-K XBRL, not daily flows. Cached 12 h. Example: ?asset=btc Price: $0.0045 USDC (Base or Solana) via x402.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "crypto_etf"
  }
}

Input Schema

NameRequiredDescriptionDefault
assetNobtc (11 spot bitcoin ETFs) or eth (8 spot ether ETFs)
tickerNoOne fund only (IBIT, FBTC, GBTC, BTC, ARKB, BITB, HODL, BRRR, EZBC, BTCO, BTCW; ETHA, FETH, ETHE, ETH, ETHW, EZET, QETH, TETH). Unknown: 400 before payment

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior4/5

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

No annotations exist, so the description carries the full burden and does a solid job: it discloses data provenance (10-Q/10-K XBRL, quarterly cadence not daily), a caching policy (12 h), and that coin counts may be 'reported or estimated' — an important accuracy caveat. It omits freshness/coverage edge cases (e.g. funds that haven't filed yet) and any rate limits, keeping it short of a 5.

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?

Front-loaded with the trigger, then input, then output fields and caveats — a good information ordering for a dense one-paragraph spec. The trailing price sentence ('$0.0045 USDC (Base or Solana) via x402') is context-relevant for this x402 catalog but is wedged onto a data-semantics description and slightly blurs the focus.

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?

There is no output schema, and the description compensates by enumerating the return payload per fund (coins held, fair value, NAV/share, shares outstanding, fee, period end, period-over-period change, share of coins, filing link) plus totals. Combined with the payment/caching notes, an agent has enough to decide and call correctly.

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

Parameters3/5

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

Schema coverage is 100%, with the enum-like ticker lists already spelled out in the schema descriptions, so the description only restates 'asset (btc or eth), optional ticker'. It adds an illustrative call ('?asset=btc') but no new semantic constraint beyond the schema, so the baseline of 3 applies.

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?

Specific verb+resource+scope: 'US spot bitcoin or ether ETF holdings from official filings', with named tickers (IBIT, FBTC, GBTC, ETHA) as concrete anchors. It also carves out what it is not ('not daily flows'), which separates it from flow/price siblings like crypto_pulse or onchain_prices.

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?

Opens with an explicit trigger ('Use when an agent needs...') and adds a negative constraint ('From 10-Q/10-K XBRL, not daily flows'), which is real routing guidance. It does not, however, name an alternative sibling (e.g. sec_filings) for the case where the agent wants raw filings instead of parsed ETF data.

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