FabTally Decode

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

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
98%
Calidad de los nombres
80%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,301Tokens (definiciones de herramientas)
~2.5 KBTamaño de respuesta típico
Impacto moderado en la atención (1.02% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "onchain-decode": {
      "url": "https://decode.fabtally.com/mcp"
    }
  }
}

Puntos de conexión remotos

https://decode.fabtally.com/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (4)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
⚪decode_log(chain, tx_hash, address, topics, data, ...)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "chain": {
      "type": "string",
      "enum": [
        "ethereum",
        "base",
        "arbitrum",
        "optimism",
        "polygon",
        "bsc"
      ],
      "description": "EVM chain: ethereum | base | arbitrum | optimism | polygon | bsc."
    },
    "tx_hash": {
      "type": "string",
      "description": "Transaction hash (0x + 64 hex) — decodes every event log in the tx."
    },
    "address": {
      "type": "string",
      "description": "Contract address of a single log (used with topics + data)."
    },
    "topics": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Log topics array (topic0 is the event signature hash for non-anonymous events)."
    },
    "data": {
      "type": "string",
      "description": "Log data field (0x hex) holding the non-indexed args."
    },
    "abi": {
      "anyOf": [
        {
          "type": "array"
        },
        {
          "type": "string"
        }
      ],
      "description": "Optional contract ABI (JSON array or JSON string). If omitted, the ABI is resolved from the verified source (Sourcify/Blockscout) or 4byte.directory."
    },
    "x_payment": {
      "type": "string",
      "description": "x402 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."
    }
  },
  "required": [
    "chain"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢decode_calldata(chain, to, data, abi, x_payment)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "chain": {
      "type": "string",
      "enum": [
        "ethereum",
        "base",
        "arbitrum",
        "optimism",
        "polygon",
        "bsc"
      ],
      "description": "EVM chain: ethereum | base | arbitrum | optimism | polygon | bsc."
    },
    "to": {
      "type": "string",
      "description": "Contract address the call targets (optional; enables verified-ABI resolution)."
    },
    "data": {
      "type": "string",
      "description": "Calldata (0x hex, at least the 4-byte selector)."
    },
    "abi": {
      "anyOf": [
        {
          "type": "array"
        },
        {
          "type": "string"
        }
      ],
      "description": "Optional contract ABI (JSON array or JSON string). If omitted, the ABI is resolved from the verified source (Sourcify/Blockscout) or 4byte.directory."
    },
    "x_payment": {
      "type": "string",
      "description": "x402 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."
    }
  },
  "required": [
    "chain",
    "data"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪selector_lookup(selector, x_payment)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "selector": {
      "type": "string",
      "description": "A 4-byte function selector (0x + 8 hex) or a 32-byte event topic hash (0x + 64 hex)."
    },
    "x_payment": {
      "type": "string",
      "description": "x402 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."
    }
  },
  "required": [
    "selector"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢abi_fetch(chain, address, x_payment)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "chain": {
      "type": "string",
      "enum": [
        "ethereum",
        "base",
        "arbitrum",
        "optimism",
        "polygon",
        "bsc"
      ],
      "description": "EVM chain: ethereum | base | arbitrum | optimism | polygon | bsc."
    },
    "address": {
      "type": "string",
      "description": "Contract address (0x + 40 hex)."
    },
    "x_payment": {
      "type": "string",
      "description": "x402 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."
    }
  },
  "required": [
    "chain",
    "address"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada4 herramientas
verificadoversión no registrada4 herramientas