Skip to main content
Glama

market_totals

Read-only

Category and chain totals for the published asset universe.

Call this for asset counts, pricing coverage, and holder totals. The aggregate market cap is published only when every listed asset has a published on-chain price. Until then market_cap_usd is null, market_cap_withheld is true, every by_category and by_chain row leaves out market_cap_usd, and coverage says how many listed assets are priced. Per-asset market caps from list_assets and get_asset are not affected. When every listed asset is priced, market_cap_usd sums them and each row carries its own market_cap_usd. holders sums only assets with a published holder count. holder_assets is how many assets contributed, so a missing holder count is not treated as zero. Per-chain holder counts include a chain only when that chain published holders.

JSON: {"listed_assets", "priced_assets", "market_cap_usd", "market_cap_withheld", "coverage", "holders", "holder_assets", "by_category": [{category, category_label, assets, priced_assets, market_cap_usd, holders, holder_assets}], "by_chain": [{chain_id, chain, assets, priced_assets, market_cap_usd, holders, holder_assets}], "ethereum_block", "ethereum_block_time", "note"}. An asset on more than one chain is counted in each of those chains. holders is omitted on a row that has no published holder counts. Market cap is US dollars. Each asset keeps its own as_of; chain-native assets can differ from the Ethereum block time.

Input Schema

NameRequiredDescriptionDefault
response_formatNomarkdown (default) is a compact reading form. json is the object described below, with source numbers and omitted fields left out.markdown

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only declare it is a safe, closed-world read; the description goes well beyond that by disclosing conditional output behavior: market_cap_usd is null and withheld until every listed asset is priced, holders only sums assets with a published count (missing is not zero), and multi-chain assets are counted per chain. These are exactly the subtleties an agent must know to interpret the response correctly.

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?

It is long, but the sequence is well front-loaded: purpose, then when to call, then the conditional semantics, then the return shape. Nearly every sentence carries a distinct rule (null propagation, coverage counting, per-chain attribution), though the layout sentence could be trimmed slightly.

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?

With no output schema, the description compensates by inlining the full response shape (field names for top level and both row types), plus formatting, units, and the as_of/block-time caveat. An agent has everything needed to invoke and interpret it.

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?

Only one optional parameter (response_format) with 100% schema description coverage, so the schema already does the work and the baseline is 3. The description never mentions response_format, so it adds nothing on this axis.

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?

States precisely what the tool returns — category and chain totals for the published asset universe — and immediately distinguishes itself from the per-asset siblings (list_assets, get_asset) whose market caps it explicitly says are unaffected. An agent can tell it apart from the other aggregate tool (compute_vaults) without opening a schema.

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?

"Call this for asset counts, pricing coverage, and holder totals" gives a clear trigger, and the note that per-asset caps from list_assets/get_asset are not affected implicitly routes per-asset queries elsewhere. It stops short of an explicit when-not-to-use or prerequisite statement, so it is strong but not exhaustive.

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