Skip to main content
Glama

arc_contract_read

Contract read on Arc: one view call on any contract, decoded, with block and time (owner, paused, allowance, balance...). Only view/pure functions; a revert or non-contract is refused before payment. $0.001 per call over x402 (USDC on Arc, Base or Solana, or XNT on X1). Call once without payment for the terms, sign them with your own wallet, call again with payment.

Input Schema

NameRequiredDescriptionDefault
fnYesfunction signature, e.g. function balanceOf(address) view returns (uint256)
argsNooptional: JSON array of arguments
blockNooptional: a past block number
addressYescontract address (0x...)
paymentNoa signed x402 payment (the base64 payload you would put in PAYMENT-SIGNATURE). Pass it and the purchase completes inside this tool call.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and delivers: it states that reverts/non-contracts are refused before payment, discloses the exact price ($0.001 per call), the payment rail (x402 with USDC on Arc/Base/Solana or XNT on X1), and the two-phase call-once-then-sign flow.

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, then pricing, then usage flow. The parenthetical example list is slightly dense, but each sentence adds a distinct fact and none are filler.

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 and no annotations, the description covers the critical behaviors an agent needs (scope, refusal rules, cost, payment flow) and hints at return content (decoded values plus block and time). It could say more about the decoded return shape, but nothing essential for correct invocation is missing.

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, but the description adds genuine meaning for the `payment` parameter by explaining its two-step lifecycle (call without it to get terms, sign, then call again with it). The remaining params (fn, args, block, address) add nothing 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?

States a specific verb+resource: a single decoded view call on any contract, returning block and time, with example outputs (owner, paused, allowance, balance). The 'view/pure only, decoded' framing meaningfully separates it from raw sibling call tools like evm_call.

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?

Gives clear when-to-use (view/pure functions) and an implicit when-not (non-view functions and reverts are refused), plus explicit multi-step invocation guidance for the payment handshake. It does not name a specific alternative tool for write calls, which keeps it just under a 5.

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.