Skip to main content
Glama

Arbitrum One recent event logs

arb_logs
Read-only

Recent contract event logs on Arbitrum One (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use arb_receipt. Example: address=0xaf88d065e77c8cC2239327C5EDb3A432268e5831. 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
blocksNoHow many recent blocks to scan (1-1000, default 50)
topic0NoOptional 0x event signature hash to filter by
addressYes0x contract address

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added
  2. Removed
  3. Added

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover safety and world-openness, and the description adds genuinely new context: per-call pricing ($0.01 via x402/card key), first 25 free, failed calls free, and that repeats are charged — which explains the non-intuitive idempotentHint=false. It also summarizes the return payload (up to 100 logs with block, tx hash, topics) despite there being no output schema. It does restate "reads only, changes nothing," which duplicates readOnlyHint.

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 verb, chain, and RPC method, then contract, then the sibling exclusion, then pricing. Dense and mostly waste-free; the inline example address and the repeated read-only assurance are the only expendable bits.

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?

For a 3-param read tool with no output schema and full annotation coverage, the description supplies purpose, routing, return shape, cost model, and defaults. Only edge behavior (invalid address, zero-log results, whether the 100-log cap truncates silently) is unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the description largely restates it: the 1–1,000 / default 50 range for blocks is already in the schema, as is the topic0 filter. It does add value in two spots — that topic0 is specifically a 32-byte hash and that returns cap at 100 logs, which effectively bounds how much of the scanned block range is observable — but the example address is decorative. Baseline 3 is appropriate.

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+chain: "Recent contract event logs on Arbitrum One (eth_getLogs)" with the exact scope (last N blocks) and filters. It also names the sibling it is not, arb_receipt, so an agent can discriminate without opening a schema.

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 when-to-use ("watch transfers or contract events") and an explicit alternative with its selecting condition ("for one transaction's outcome use arb_receipt"). Nothing is left to inference about routing.

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.