Skip to main content
Glama

US Economic, SEC EDGAR & On-Chain Data (x402)

Cross-chain Token Balance

onchain_cross_chain_balances
Read-onlyIdempotent

The same token's balance for one address across multiple EVM chains, in a single call.

USDC (and similar assets) has a DIFFERENT contract address on every chain; checking a wallet's total position means resolving each chain's canonical address and querying it separately. This does that and sums the total, so a multi-chain treasury view does not require N separate calls.

Supported chains: base, ethereum, optimism, arbitrum, polygon. Supported tokens: USDC (more may be added over time).

When to use: totaling a stablecoin position spread across chains, treasury reporting for a multi-chain operation, checking where a wallet's funds actually sit.

When NOT to use: you only care about one chain (use onchain_token_balances, which is cheaper), or a token not in the supported set.

Args:

  • address (string, required): the wallet address to check.

  • token (string, optional, default "USDC"): which token to check across chains.

  • chains (string[], optional): which chains to include. Defaults to all five supported chains.

Returns structuredContent: { "address": "0x...", "token": { "symbol": "USDC", "decimals": 6 }, "totalBalance": "1234.56", "chains": [ { "chain": "base", "chainId": 8453, "raw": "1000000000", "balance": "1000", "failed": false }, { "chain": "ethereum", "chainId": 1, "raw": "234560000", "balance": "234.56", "failed": false } ] }

A chain that could not be read reports failed: true with null balances rather than a misleading 0; if every chain fails the call errors and is not billed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tokenNoWhich token to check. Defaults to "USDC".USDC
chainsNoWhich chains to include. Defaults to all five supported chains.
addressYesWallet address to check (0x + 40 hex).

Schema Changelog

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

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint, idempotentHint, destructiveHint), the description discloses important failure semantics: 'A chain that could not be read reports failed: true with null balances rather than a misleading 0; if every chain fails the call errors and is not billed.' It also explains the underlying complexity of different contract addresses and the summation behavior, giving the agent a clear mental model of execution.

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 well-structured with clear sections: overview, supported chains/tokens, use/non-use cases, arguments, and an explicit return example. Every sentence contributes functional information, and the return example is concise and illustrative. It is appropriately sized for a tool with this complexity.

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?

Despite lacking an output schema, the description fully compensates by showing a concrete return structure with example data, explaining the meaning of 'failed' chains, and specifying defaults. It also addresses billing behavior, making the tool's side effects and edge cases clear. This is complete for an agent to invoke correctly.

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 input schema already covers all parameters with 100% description coverage, so the baseline is 3. The description adds contextual meaning by explaining why the token parameter matters (different contract addresses per chain) and that chains defaults to all five supported chains, which aids selection. However, the per-parameter details in the description closely mirror the schema, so it doesn't go beyond a 4.

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 and complete statement of purpose: 'The same token's balance for one address across multiple EVM chains, in a single call.' This clearly identifies the verb (check balance), resource (token across chains), and scope (multi-chain), and distinguishes it from the sibling onchain_token_balances by explaining that it aggregates multiple chains and sums balances.

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 provides an explicit 'When to use' and 'When NOT to use' section, naming the alternative tool (onchain_token_balances) and clarifying the trade-off (cheaper for single-chain queries). It also lists supported chains and tokens, giving concrete usage criteria.

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

A4.5/5.0
Disambiguation5/5

Every tool targets a distinct resource and action. The macro_* tools each cover one economic indicator, the edgar_* tools cover different SEC filing types, and the onchain_* tools are split by chain scope (single vs multi), asset type, and operation. Even the two data-cleaning tools are clearly distinct (JSON repair vs table parsing). No two tools appear to do the same thing.

Naming Consistency4/5

Names follow a mostly consistent snake_case pattern with domain prefixes: macro_*, edgar_*, onchain_*. The exceptions are bls_cpi (could be macro_cpi) and the utility tools structured_json_repair and tabular_to_json, which break the prefix pattern but are still descriptive and predictable. Overall, the convention is clear with minor deviations.

Tool Count3/5

21 tools is in the 'heavy' range (16-25). However, the server spans three distinct domains (US economic data, SEC EDGAR, on-chain data), and each tool serves a unique purpose within its domain. While it feels dense, the breadth is justified by the server's stated multi-domain scope.

Completeness4/5

The tool surface covers the major needs in each domain: key macro indicators, common EDGAR filings and searches, and core on-chain reads. Minor gaps exist (e.g., no PPI, no historical on-chain balances, no company CIK lookup), but agents can work around these with existing tools or by combining them.