Skip to main content
Glama

Server Details

Decode EVM bytes to JSON: event-log decoder, calldata explainer, selector lookup, ABI fetch.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
zvmzaretsky/onchain-decode-mcp
GitHub Stars
0
Server Listing
FabTally Decode MCP

TDQS

A4.5/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: fetching ABIs, decoding function calldata, decoding event logs, and resolving selectors/topics. There is no overlap in what they do, and their scopes are mutually exclusive.

Naming Consistency4/5

All names are lowercase snake_case and concise, but they mix verb-first (decode_calldata, decode_log) with noun-first (abi_fetch, selector_lookup) patterns. This is a minor deviation from a uniform verb_noun convention, but still predictable and readable.

Tool Count5/5

Four tools is a well-scoped size for a specialized decoding server. Each tool covers a necessary step in the decoding workflow without redundancy or bloat.

Completeness5/5

The tool set covers ABI retrieval, calldata decoding, event log decoding, and signature lookup, providing a complete lifecycle for decoding EVM data with no obvious dead ends. Optional ABI inputs allow flexible fallback to public sources.

Available Tools

4 tools
abi_fetchFetch a contract's verified ABI + proxy resolution (paid $0.002)AInspect

PAID $0.002 (x402, USDC on Base). Fetch the verified ABI + metadata for a contract. Give {address, chain}; get the ABI JSON, verification status/source (Sourcify or Blockscout), the callable function/event signatures, and full proxy-implementation resolution (EIP-1967/1822/OZ-legacy/beacon) — returning the implementation's ABI when it's a proxy. Without payment returns the x402 challenge; pass x_payment to settle.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainYesEVM chain: ethereum | base | arbitrum | optimism | polygon | bsc.
addressYesContract address (0x + 40 hex).
x_paymentNox402 payment payload (base64) for this PAID decode. If supplied it is forwarded as the X-PAYMENT header to settle the call and return the real result instead of a 402 challenge. Omit to get the price challenge first.

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 fully discloses the paid nature ($0.002 USDC on Base), the x402 challenge when payment is omitted, the need to pass x_payment to settle, and the proxy-resolution behavior returning implementation ABI. It also lists verification sources (Sourcify/Blockscout). This is comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the critical payment notice, then delivers the purpose and output summary in a compact, well-organized manner. Every sentence contributes meaningful information; no filler.

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?

Even with no output schema, the description enumerates what will be returned (ABI JSON, verification status/source, signatures, proxy implementation) and explains the 402 challenge flow. This gives the agent a full picture of expected behavior and edge cases.

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?

The input schema already has 100% coverage with detailed descriptions for chain, address, and x_payment. The description adds context about proxy resolution and verification metadata but does not introduce new parameter meaning. Baseline 3 applies.

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?

The description clearly states 'Fetch the verified ABI + metadata for a contract' with a specific verb and resource. It also explicitly lists expected outputs (ABI JSON, verification status, function/event signatures, proxy resolution), distinguishing it from sibling decode/selector tools.

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 description provides clear context: provide {address, chain} to get the ABI. It explains the payment flow and challenge behavior. However, it does not explicitly mention when not to use this tool versus the decode or selector siblings, though the purpose is distinct enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

decode_calldataDecode a function call's calldata (paid $0.002)AInspect

PAID $0.002 (x402, USDC on Base). Decode a contract function call. Give {chain, to?, data, abi?}; get the 4-byte selector resolved to a function signature (via provided ABI, the verified contract source, or 4byte.directory) plus fully decoded, typed arguments (tuples/arrays/nested included). Without payment returns the x402 challenge.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoContract address the call targets (optional; enables verified-ABI resolution).
abiNoOptional contract ABI (JSON array or JSON string). If omitted, the ABI is resolved from the verified source (Sourcify/Blockscout) or 4byte.directory.
dataYesCalldata (0x hex, at least the 4-byte selector).
chainYesEVM chain: ethereum | base | arbitrum | optimism | polygon | bsc.
x_paymentNox402 payment payload (base64) for this PAID decode. If supplied it is forwarded as the X-PAYMENT header to settle the call and return the real result instead of a 402 challenge. Omit to get the price challenge first.

TDQS

A4/5.0
Behavior4/5

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

No annotations are provided, so the description carries the burden. It discloses the paid nature ($0.002), the x402 challenge when unpaid, and the resolution order (ABI, verified source, 4byte.directory). It also highlights nested argument support, which is behavioral context beyond a simple decode.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences with no fluff. The payment warning is front-loaded, followed by purpose and behavior.

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 explains the result includes selector signature and typed arguments. It covers payment behavior and resolution order but does not explicitly describe the response JSON shape or error cases, which would make it fully 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?

All 5 parameters have schema descriptions (100% coverage), so the baseline is 3. The description adds a compact input template ('Give {chain, to?, data, abi?}') but does not substantively explain parameter meaning 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?

The description clearly states the tool decodes a contract function call, resolving the 4-byte selector and producing typed arguments. It distinguishes itself from siblings like decode_log (events) and selector_lookup by focusing on calldata decoding.

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?

No explicit guidance on when to use this vs sibling tools is given. The description implies usage by explaining input format and payment behavior, but does not mention alternatives or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

decode_logDecode event logs to typed JSON (paid $0.003)AInspect

PAID $0.003 (x402, USDC on Base). FLAGSHIP: decode EVM event LOGS to human-readable JSON. Give {chain, tx_hash} to decode every log in a transaction, OR {chain, address, topics[], data} for a single log; optional {abi}. Returns each event's name, canonical signature and named/typed args — correctly handling tuple/array/nested params, anonymous events, and indexed vs non-indexed. Resolves the ABI via Sourcify/Blockscout + 4byte event signatures when none is supplied. Without payment returns the x402 challenge; pass x_payment to settle.

ParametersJSON Schema
NameRequiredDescriptionDefault
abiNoOptional contract ABI (JSON array or JSON string). If omitted, the ABI is resolved from the verified source (Sourcify/Blockscout) or 4byte.directory.
dataNoLog data field (0x hex) holding the non-indexed args.
chainYesEVM chain: ethereum | base | arbitrum | optimism | polygon | bsc.
topicsNoLog topics array (topic0 is the event signature hash for non-anonymous events).
addressNoContract address of a single log (used with topics + data).
tx_hashNoTransaction hash (0x + 64 hex) — decodes every event log in the tx.
x_paymentNox402 payment payload (base64) for this PAID decode. If supplied it is forwarded as the X-PAYMENT header to settle the call and return the real result instead of a 402 challenge. Omit to get the price challenge first.

TDQS

A4.7/5.0
Behavior5/5

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

No annotations are present, so the description carries the full burden. It thoroughly discloses payment requirements (x402 challenge, x_payment settlement), ABI resolution behavior (Sourcify/Blockscout + 4byte), and edge-case handling (tuples, arrays, anonymous events, indexed vs non-indexed). This is exceptionally transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but front-loaded with the crucial 'PAID' flag. Each sentence adds necessary information: payment, input modes, return details, ABI resolution, and 402 behavior. No filler or repetition.

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?

There is no output schema and no annotations, so the description must fully explain behavior and return values. It does so: it describes the return fields (name, canonical signature, named/typed args), covers complex ABI cases, explains payment flow, and identifies the ABI resolution path. This is complete for a moderately complex paid tool.

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 baseline is 3. The description adds value by explaining how parameters combine (tx_hash vs address+topics+data), what 'data' means (non-indexed args), and the x_payment flow (omitting returns 402 challenge, supplying settles via X-PAYMENT header). This goes beyond schema descriptions without being redundant.

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?

The description clearly states the tool's purpose: decode EVM event logs into typed JSON. It specifies two input modes (tx_hash or address+topics+data) and what it returns (event name, signature, args), distinguishing it from sibling tools like decode_calldata by explicitly targeting event logs.

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?

Usage guidance is clear: it tells you exactly when to pass tx_hash vs address/topics/data, and when abi is optional. It does not explicitly mention alternatives or exclusion cases, but the 'FLAGSHIP' framing and event-log focus imply when to choose it over decode_calldata.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

selector_lookupResolve a selector or event topic to a signature (paid $0.001)AInspect

PAID $0.001 (x402, USDC on Base). Resolve a 4-byte function selector (0x + 8 hex) OR a 32-byte event topic hash (0x + 64 hex) to its human-readable signature(s) via 4byte.directory + openchain.xyz. Returns all matches (selectors can collide) with a verified flag. Without payment returns the x402 challenge; pass x_payment to settle.

ParametersJSON Schema
NameRequiredDescriptionDefault
selectorYesA 4-byte function selector (0x + 8 hex) or a 32-byte event topic hash (0x + 64 hex).
x_paymentNox402 payment payload (base64) for this PAID decode. If supplied it is forwarded as the X-PAYMENT header to settle the call and return the real result instead of a 402 challenge. Omit to get the price challenge first.

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries full disclosure burden. It transparently covers the paid nature ($0.001, x402, USDC), external data sources (4byte.directory + openchain.xyz), collision behavior ('all matches (selectors can collide)'), and the verified flag. It does not describe failure modes or rate limits, but key behavioral traits are disclosed.

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 description is three sentences, front-loaded with the cost and payment context, followed by operation and output/payment behavior. It is efficient and every sentence earns its place, though it is slightly dense with technical details.

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?

The description covers input formats, external services, collision handling, verified flag, and the two-step payment challenge flow. Since there is no output schema, it gives a sufficient sense of what is returned. It omits the exact response shape and edge-case handling, but is adequate given the tool's scope.

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% with detailed descriptions for both 'selector' and 'x_payment'. The description restates the payment flow but adds no unique parameter semantics beyond what the schema already provides. Baseline 3 is appropriate because the schema handles the parameter documentation fully.

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?

The description clearly names the action ('Resolve') and the exact resource ('4-byte function selector (0x + 8 hex) OR a 32-byte event topic hash (0x + 64 hex)') to 'human-readable signature(s)'. This distinguishes it from sibling decoder tools like decode_calldata or decode_log by focusing on hash-to-signature lookup.

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 description gives clear context on when to use the tool (you have a selector or event topic hash) and explains the payment workflow ('Without payment returns the x402 challenge; pass x_payment to settle'). However, it does not explicitly mention alternatives or when not to use it, so it lacks explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • First observedabi_fetch
    • First observeddecode_calldata
    • First observeddecode_log
    • First observedselector_lookup

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Decodes Ethereum calldata and returns a safety verdict with plain-English explanations of what the transaction does, flagging dangerous actions like unlimited approvals or gasless permits.
    2
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to resolve smart contract ABIs, read, encode, simulate, and prepare transactions across multiple blockchains via a REST API or MCP server, with no signing required.
    -
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to audit Solidity smart contracts for security vulnerabilities, fetch verified source code from block explorers, decode calldata, and estimate gas costs across major EVM networks.
    4
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Explains any Base mainnet transaction hash by returning a structured JSON with action type, assets moved, risk flags, and cost details, using deterministic on-chain decoding without LLM.
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.