Skip to main content
Glama

FabTally Decode

Server Details

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

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
zvmzaretsky/onchain-decode-mcp
GitHub Stars
0
Server Listing
FabTally Decode MCP

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.6/5 across 4 of 4 tools scored.

Server CoherenceA
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.
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 excels: it discloses the $0.002 fee, the x402 payment mechanism, the order of operations (challenge first, then settle), the proxy standards handled (EIP-1967/1822/OZ-legacy/beacon), and the verification sources (Sourcify or Blockscout). This is far more transparent than typical.

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?

Two dense sentences, front-loaded with the critical 'PAID' warning. All information earns its place: payment, inputs, outputs, proxy behavior, and fallback challenge. No fluff 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?

Despite lacking an output schema, the description enumerates return values (ABI JSON, verification status/source, signatures, proxy-implementation ABI) and explains the 402 challenge fallback. It covers the essential aspects of a paid, multi-chain tool well enough for an agent to use it correctly.

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 tying the parameters into the payment flow: 'Give {address, chain}' and 'pass x_payment to settle.' It clarifies the role of x_payment beyond the schema's description, making the interaction model concrete.

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 uses a specific verb ('fetch') and resource ('verified ABI + metadata for a contract'), and lists the exact outputs: ABI JSON, verification status/source, callable signatures, and proxy resolution. It clearly distinguishes from sibling decoding tools by focusing on ABI retrieval rather than data decoding.

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 explicitly explains the payment flow: omit x_payment to get a 402 challenge, then pass x_payment to settle. It implies when to use the tool (whenever a verified ABI is needed) but does not explicitly name alternatives or exclusions. Still, the context is clear and actionable.

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.
Behavior4/5

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

With no annotations, the description carries the burden and discloses the paid nature ($0.002 via x402), the challenge returned without payment, and the resolution sources. It doesn't mention error handling but covers key behaviors.

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?

Two sentences with front-loaded payment info, clear and compact. The shorthand input/output notation is efficient and adds no redundancy.

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?

No output schema, but the description explains the return value (resolved signature plus typed arguments) and the non-payment challenge. It covers the key aspects given the tool's complexity.

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 100%, so the description adds marginal value. It summarizes the input format but does not explain x_payment beyond what the schema already provides. 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?

Description clearly states it decodes a contract function call's calldata, resolving the 4-byte selector to a signature and decoding arguments. This distinguishes it from siblings like decode_log (logs) and selector_lookup (selectors only).

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?

Provides explicit input format 'Give {chain, to?, data, abi?}' and explains the resolution priority. It does not explicitly exclude alternative tools, but the specialization is clear from the description and title.

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.
Behavior5/5

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

With no annotations provided, the description carries full responsibility and does an excellent job. It discloses the paid nature ($0.003, x402, USDC on Base), the 402 challenge flow without payment, the use of x_payment to settle, the handling of complex parameter types (tuple/array/nested, anonymous events, indexed vs non-indexed), and the ABI resolution via Sourcify/Blockscout/4byte. This is far beyond minimal disclosure.

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 every sentence earns its place. It front-loads the payment warning, then covers both usage modes, output details, ABI resolution, and the nondisclosure behavior. No filler, no redundancy, and structure follows a logical flow from payment to usage to behavior.

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 tool with no output schema, the description impressively covers return values (event name, canonical signature, named/typed args), the two invocation patterns, payment settlement, and ABI resolution. It is complete enough for an agent to invoke the tool correctly and interpret results, given the complexity of EVM log decoding.

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

Parameters5/5

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

While the schema covers all 7 parameters at 100%, the description adds critical combinatoric semantics: it explicitly explains that chain is required and then either tx_hash OR address+topics+data must be provided, and that abi is optional. It also clarifies the x_payment flow and backward behavior, giving meaning far beyond the schema's individual field definitions.

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 EVM event logs to human-readable JSON, with a specific verb and resource. It distinguishes itself from sibling tools like decode_calldata (which handles calldata) and selector_lookup (which looks up function selectors) by focusing on logs and even calling itself 'FLAGSHIP' for that purpose.

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?

Provides clear context on when to use: two input modes are explained (tx_hash for all logs in a transaction, or address+topics+data for a single log). It also notes that ABI resolution is automatic, implying abi_fetch is not needed. However, it does not explicitly name sibling tools or provide 'when not to use' guidance, so it stops short of a perfect score.

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.
Behavior5/5

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

With no annotations, the description carries full burden and does an excellent job. It discloses the paid nature ($0.001, x402, USDC on Base), the use of external APIs (4byte.directory + openchain.xyz), the possibility of collisions, the verified flag, and the 402 challenge/settle behavior.

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 a compact paragraph with every sentence contributing essential information. It front-loads the critical 'PAID' warning, then states the core function, return characteristics, and payment flow without redundancy.

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?

Given there is no output schema and no annotations, the description provides sufficient context: input format, output highlights (all matches, verified flag), payment mechanics, and the challenge/settle flow. This is adequate for an agent to use the tool correctly without additional documentation.

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 parameters are already documented. The description adds meaningful context for x_payment (forwarded as X-PAYMENT header, omitted to obtain challenge) and clarifies the selector format. It doesn't add much beyond the schema for selector but the payment parameter behavior is valuable.

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 states a specific action: resolve a 4-byte function selector or 32-byte event topic hash to human-readable signature(s). It clearly distinguishes from sibling tools like decode_calldata and decode_log by focusing on signature resolution rather than data decoding, and mentions the external directories used.

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?

Clear context is provided: when to use (given a selector/topic, to get signatures), and the payment flow is explicitly described (without payment you get a challenge, pass x_payment to settle). However, it does not explicitly mention when not to use or compare against the sibling tools, so it stops short of a 5.

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

Discussions

No comments yet. Be the first to start the discussion!

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.
    Last updated
    2
    MIT
  • F
    license
    -
    quality
    B
    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.
    Last updated
  • A
    license
    A
    quality
    D
    maintenance
    Provides comprehensive access to Ethereum Virtual Machine (EVM) JSON-RPC methods for querying blockchain data, executing smart contract calls, and interacting with any EVM-compatible network including Ethereum, Polygon, Arbitrum, and more. Enables users to check balances, analyze transactions, estimate gas, retrieve logs, and perform blockchain operations through natural language.
    Last updated
    19
    18
    3
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Description: EVM blockchain intelligence toolkit for AI agents. 20 tools for token prices, gas comparison, swap quotes, yield rates, honeypot detection, and transaction simulation across 5 EVM chains. Zero config, no API keys required.
    Last updated
    26
    39
    3
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.