Skip to main content
Glama

Eth call, Polygon contract call

polygon_call
Read-only

Read-only contract call on Polygon PoS (eth_call): send ABI-encoded calldata to a contract at the latest block and get the raw return data, without a transaction or gas. Use to read any view function that has no dedicated tool (the example reads USDC totalSupply, selector 0x18160ddd); decode the result with the function's ABI. Calldata up to 8 KB; a call that reverts is 422 with the reason, uncharged. Example: to=0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359, data=0x18160ddd. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.

Input Schema

NameRequiredDescriptionDefault
toYes0x contract address to call
dataYes0x ABI-encoded calldata: 4-byte selector plus arguments
fromNoOptional 0x sender address for calls that check msg.sender

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond the annotations: calldata capped at 8 KB, reverting calls return 422 with the reason and are uncharged, pricing is $0.01/call via x402 USDC or card key with the first 25 free, and repeated calls are billed (matching idempotentHint=false). These are exactly the cost and failure-mode facts an agent needs before calling a paid endpoint.

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 what it does and who it is for, then limits, error behavior, and pricing in a logical order. The pricing/auth sentence is long and could be tightened, but every clause carries information an agent needs (cost is the key differentiator for a paid tool).

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?

For a 3-parameter, no-output-schema tool this covers the full picture: input format, size limit, revert semantics, output being raw undecoded bytes requiring ABI decoding, and billing behavior. Nothing material is missing that would cause a misinvocation.

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 coverage is 100%, so the baseline is 3; the description earns an extra point by adding a real constraint not in the schema (calldata up to 8 KB) plus a concrete to/data pair showing the expected format. It does not explain the optional 'from' parameter's msg.sender use case, which the schema already covers, so it stops short of a 5.

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 eth_call on Polygon PoS that returns raw return data without a transaction or gas — and clearly separates it from the many polygon_* dedicated-tool siblings by framing it as the generic escape hatch. An agent immediately knows this is the low-level contract-read primitive.

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?

Explicit routing rule: 'Use to read any view function that has no dedicated tool', which both selects this tool and excludes cases where polygon_token_balance, polygon_nonce, etc. should be used instead. The worked example (USDC totalSupply, selector 0x18160ddd) and the 'decode the result with the function's ABI' follow-up step make the intended invocation pattern concrete.

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.