Address portfolio (Base)
data_portfolioETH + canonical token balances (USDC/WETH/cbBTC/EURC) for an address. $0.004 per call.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Base address to read balances for (0x-prefixed, 42 chars) |
data_portfolioETH + canonical token balances (USDC/WETH/cbBTC/EURC) for an address. $0.004 per call.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Base address to read balances for (0x-prefixed, 42 chars) |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive behavior, so the description's main behavioral contribution is the explicit per-call cost of $0.004 and the canonical token scope. This adds useful transparency beyond the annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short, information-dense segments: one describing exactly what balances are returned and one disclosing cost. There is no redundancy, filler, or repetition of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only balance tool, the description together with the schema and annotations provides enough for an agent to invoke it correctly. The absence of an output schema means return formatting is not fully specified, but the high-level return content is clearly communicated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single address parameter is already fully described in the input schema, including format and character length, so schema coverage is 100%. The description adds context about return content but does not meaningfully extend the parameter semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as returning ETH and canonical token balances for a specific address, which is specific enough to distinguish it from token_activity and token_supply siblings. However, it does not clearly distinguish itself from wallet_dossier, which could plausibly also include portfolio-style balance information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for balance lookups on Base and lists exactly which tokens are covered, so an agent can infer when to call it. It does not provide explicit 'use this when' guidance or mention alternatives, leaving selection partially to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Most tools are cleanly separated by domain prefix (data_, security_, validate_, verify_) and describe distinct outputs. A couple of pairs like token_verdict vs verify_token or data_portfolio vs wallet_dossier could be confused until descriptions are read, but the descriptions resolve the ambiguity.
The majority of tools follow a predictable prefix_subject pattern, e.g. data_block, security_tls, validate_iban, verify_payment. A few outliers like html_to_markdown, text_diff, wallet_dossier, and token_verdict use different conventions, but the overall system remains readable.
20 tools is on the heavy side for the typical MCP server and sits in the 16–25 'feels heavy' zone. Most tools have a legitimate purpose, but the five validate_* identifier tools plus two generic utilities could feel like surface area bloat.
The server covers a broad and coherent read/validation domain: chain data, token safety, payments, security checks, and identifier validators. Minor gaps exist, such as lack of detailed historical transaction/activity data and no general network/domain security scan beyond email, TLS, and typosquat.