Skip to main content
Glama

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

On-chain Portfolio (USD-valued)

onchain_portfolio
Read-onlyIdempotent

USD-valued portfolio for a wallet on Base, priced from Chainlink on-chain oracles.

Reads the wallet's native ETH plus major ERC-20 balances, reads each asset's Chainlink USD aggregator directly on-chain, and returns holdings with per-asset prices and dollar values, sorted largest first, stamped with the block height.

Prices come from Chainlink contracts rather than a price API, so there is no vendor key, no rate limit, and no third-party terms attached to the result.

Covered assets: ETH (native), WETH, USDC, cbBTC. Zero-balance assets are listed in "emptyAssets" rather than cluttering holdings.

When to use: valuing a wallet, treasury reporting, checking what an address actually holds in dollar terms.

When NOT to use: you need an exhaustive scan of every token a wallet has ever received (this checks a curated major-asset set, not an indexer), LP or staked positions, NFTs, or chains other than Base.

Args:

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

Returns structuredContent: { "address": "0x...", "chain": "base", "chainId": 8453, "blockNumber": 49976942, "holdings": [ { "symbol": "ETH", "kind": "native", "address": null, "raw": "1500000000000000000", "balance": "1.5", "priceUsd": 3120.44, "valueUsd": 4680.66 } ], "totalValueUsd": 4680.66, "emptyAssets": ["cbBTC"], "priceSource": "Chainlink on-chain price feeds (Base)" }

If every balance read fails the call errors and is not billed; a genuinely empty wallet returns an empty holdings list with totalValueUsd 0.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
addressYesWallet address to value (0x + 40 hex), on Base.

Schema Changelog

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

  1. First observed

TDQS

A4.6/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 the on-chain price source (Chainlink, no API key/rate limits), asset coverage, sorting order, block-height stamping, zero-balance handling via emptyAssets, and the billing guarantee on total failure. This is rich added context with 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 structured logically with clear sections (overview, asset coverage, price source, when-to, args, output example) and front-loaded with the core purpose. While longer than minimal, every section contributes meaningful detail; the output example is especially valuable since there is no output schema.

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 fully by providing a structuredContent example, explaining the meaning of emptyAssets, specifying error behavior when all reads fail, and documenting the exact asset list and price source. It gives an agent everything needed to correctly invoke and interpret the tool.

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?

The input schema already fully describes the single address parameter, including format ('0x + 40 hex') and chain ('on Base'). The description's Args section simply restates 'the wallet address to value' with no additional semantic detail, so it adds no value beyond the schema.

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 clear statement of purpose: 'USD-valued portfolio for a wallet on Base, priced from Chainlink on-chain oracles.' It specifies the exact resources (wallet, ETH, major ERC-20 balances, Chainlink USD aggregators) and distinguishes itself from sibling tools by limiting scope to curated assets and the Base chain.

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 includes explicit 'When to use' and 'When NOT to use' sections, listing use cases like wallet valuation and treasury reporting, and excluding exhaustive token scans, LP positions, NFTs, and other chains. It provides clear criteria for selecting this tool over alternatives.

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.