Skip to main content
Glama

chain_events

Contract event logs via eth_getLogs filtered by contract and topics (topic0 = event signature hash). Raw logs, newest first; default last 100 blocks, max 5000 (auto-chunked for public RPC limits). Example: {address:"0x8335…2913", topic0:"0xddf2…b3ef", chain:"base", blocks:"50"}. $0.003 USDC.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "address": "<address>"
    },
    "name": "chain_events"
  }
}

Input Schema

NameRequiredDescriptionDefault
chainNo
limitNo
blocksNo
topic0No
topic1No
topic2No
topic3No
walletNo
addressYes
to_blockNo
from_blockNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / wallet
      Added value: +{
      +  "type": "string"
      +}
  2. Added

TDQS

A3.6/5.0
Behavior4/5

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

No annotations exist, so the description carries the full burden, and it does substantial work: raw (undecoded) logs, newest-first ordering, a 100-block default, a 5000-block cap, automatic chunking to stay under public RPC limits, and an explicit price of $0.003 USDC. It stops short of stating authentication expectations, per-call rate limits, or what an empty result looks like.

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 mechanism, then defaults and limits, then a compact concrete example, then price. Dense but every clause carries information; only the abbreviated example notation and terse phrasing cost it a perfect score.

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

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter, unannotated, no-output-schema tool, the description covers the essential contract of the call and the operational envelope well, but it leaves over half the parameters unexplained and doesn't clarify return record shape beyond 'raw logs, newest first'. Adequate rather than complete.

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 description coverage is 0% across 11 parameters, so the description must compensate alone. It explains address, topic0, chain and blocks (via the example) and implicitly the from_block/to_block idea through the default/max block semantics, but limit, wallet, topic1, topic2 and topic3 get no explanation at all, leaving a sizeable gap for a heavily parameterized tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: contract event logs via eth_getLogs, filtered by contract address and topics, with topic0 defined as the event signature hash. That is far more precise than 'get events', though it never names a sibling (e.g. chain_receipt or chain_erc20_transfers) to clarify which log-fetching tool to pick.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied through the filtering model (contract + topics) and the worked example, plus operational guidance (default last 100 blocks, max 5000, auto-chunked). There is no explicit 'use this when / use X instead' routing against the several sibling tools that also read chain data, so the agent must infer the boundary itself.

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