Skip to main content
Glama

crypto-web-data-api

Read any smart contract function (eth_call) on Base, Ethereum and 5 more chains

evm_call
Read-only

Read any smart contract function (eth_call) on Base, Ethereum and 5 more chains. Calls a view function by its signature, e.g. sig=balanceOf(address)&args=0x...&returns=uint256, on Base, Ethereum, Arbitrum, BSC, Polygon, Optimism or Avalanche. Arguments: address, bool, bytes32, uintN, intN. Return types: those plus string and bytes (comma-separated for several static values). Returns raw hex and decoded values. Not cached. Price $0.001 per call (x402: USDC on Base or Solana).

Input Schema

NameRequiredDescriptionDefault
toYesContract address
txNoAlternative to the X-Payment-Tx header
sigYes
argsNoComma-separated argument values
blockNolatest
chainNoOne of ethereum, base, arbitrum, bsc, polygon, optimism, avalanchebase
returnsNoComma-separated return types, e.g. uint256 or string

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Beyond readOnlyHint/openWorldHint, the description discloses that results are not cached, that each call costs $0.001, and that payment runs through x402 in USDC on Base or Solana. It also states the return shape (raw hex plus decoded values) and the supported argument and return type sets, which materially affects how an agent prepares a call.

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 lead sentence front-loads the action and the example invocation follows immediately, so an agent gets the essentials first. There is mild redundancy in listing the chain roster ('Base, Ethereum and 5 more chains' then enumerating all seven), but no wasted content.

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 correctly explains returns (raw hex and decoded values) and supplies type constraints for arguments and return values, plus cost and caching behavior. The remaining gap is the semantics of the block parameter and the tx payment field, which are not explained anywhere an agent would look.

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?

With 71% schema coverage, the description adds real meaning to sig, args and returns by giving a concrete sig/args/returns example and stating which Solidity types are accepted. It leaves the block and tx parameters (tx is described only as an alternative to the X-Payment-Tx header) unaddressed, so it does not fully compensate for the uncovered fields.

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: it calls a view function via eth_call by signature, and enumerates the supported chains (Base, Ethereum, Arbitrum, BSC, Polygon, Optimism, Avalanche). This clearly separates it from siblings like evm_balance, evm_token_balance and evm_tx, which target fixed data rather than arbitrary contract functions.

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?

The phrase 'calls a view function by its signature' implicitly scopes usage to read-only/pure functions and the worked example (sig=balanceOf(address)&args=0x...&returns=uint256) shows exactly how to invoke it. It stops short of naming alternatives or stating when NOT to use it (e.g. 'use evm_balance for native balances'), so routing is left partly to inference.

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