Skip to main content
Glama

base-web3-m2m-hub

Contract Read

contract-read
Read-only

Generic read-only call to any contract on Base: provide an address and hex calldata (4-byte selector, e.g. 0x18160ddd = totalSupply, optionally followed by ABI-encoded args) and get the raw return data plus best-effort uint/address/bool/string decoding. Read-only (never sends a transaction). Use this for arbitrary view functions not covered by a dedicated tool. Price: 0.0030 USDC per call (first call free).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYesHex calldata starting with a 4-byte function selector (e.g. "0x18160ddd")
addressYesContract address (0x...) on Base

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnlyHint, openWorldHint), so the bar is lower. The description still adds real value beyond them: it restates that no transaction is ever sent, discloses best-effort return-value decoding, and reveals cost (0.0030 USDC per call, first call free) — a behavioral trait no annotation captures.

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 core purpose and input/output in the first sentence, with routing, safety and pricing following. Information-dense with almost no waste, though the parenthetical calldata example and stacked clauses make the first sentence fairly heavy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/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 carries the return-value burden and does so ('raw return data plus best-effort uint/address/bool/string decoding'). It covers inputs, cost, safety and return shape, leaving only failure behavior on a reverted call unaddressed — a minor gap for arbitrary contract reads.

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?

Schema covers both parameters at 100%, so the baseline is 3. The description nonetheless enriches the semantics: it explains the calldata structure (4-byte selector optionally followed by ABI-encoded args) and gives a concrete worked example ('0x18160ddd = totalSupply'), which helps an agent construct a valid call.

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 a specific verb and resource ('read-only call to any contract on Base'), names the required inputs (address + hex calldata) and the result (raw return data plus best-effort decoding). It also explicitly distinguishes itself from the many dedicated siblings by scoping to 'arbitrary view functions not covered by a dedicated tool.'

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?

Gives an explicit routing rule: use this for arbitrary view functions that have no dedicated tool. Among 17 siblings that mostly wrap specific protocols (aave-yield, pool-slippage, etc.), this tells the agent exactly when this generic fallback is the right pick versus a specialized tool.

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