Skip to content

About

A vibe-coded MCP (that works) to help AI to trace and debug EVM transaction through Tenderly and Etherscan API

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

tenderly-mcp

MCP server for fetching and analyzing EVM transactions via the Tenderly Node RPC API and Etherscan's API.

Supports all 41 Tenderly mainnet networks that have Node RPC (gateway) access — Ethereum, Arbitrum One, Optimism, Base, Polygon, Avalanche C-Chain, Celo, Gnosis Chain, ZKsync, Linea, Scroll, Mantle, Blast, Sonic, Berachain, Unichain, World Chain, Ronin, Moonbeam, Flare, Fraxtal, Metis, Conflux eSpace, X Layer, Ink, Soneium, Lisk, Zircuit, Immutable zkEVM, Katana, Lens, Plasma, Stable, Monad, MegaETH, Taiko, Morph, BOB, Boba Ethereum, ApeChain, and ApexFusion Nexus. See src/config.ts for the full registry (network identifier → gateway slug → chain ID). Adding a network is a two-line change (SUPPORTED_NETWORKS in src/types.ts + an entry in NETWORK_REGISTRY).

Tools

Tracing & Simulation

Tool Description
trace_transaction Full trace: call tree, logs, asset changes, state changes, and balance changes
get_call_trace Call tree only (less verbose, configurable depth)
get_asset_changes Token transfers and native balance movements only
simulate_transaction Simulate a tx without broadcasting — preview outcome and trace

Transaction & Block Data

Tool Description
get_transaction Raw transaction data: from/to, value, gas price, nonce, input calldata
get_transaction_receipt Receipt: status, gas used, contract deployment address, emitted logs
get_block Block details: number, timestamp, miner, gas, base fee, transaction list

Contract Interaction

Tool Description
eth_call Execute a read-only contract call at a specific block
get_logs Query event logs by address, topic filters, and block range
get_storage_at Read a raw 32-byte storage slot from a contract
get_contract_source Fetch verified Solidity source from Etherscan (requires ETHERSCAN_API_KEY)
get_contract_abi Fetch the ABI for a verified contract from Etherscan (requires ETHERSCAN_API_KEY)

Setup

1. Build

npm install
npm run build

2. Configure Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "tenderly": {
      "command": "node",
      "args": ["/path/to/tenderly-mcp/dist/index.js"],
      "env": {
        "TENDERLY_ACCESS_KEY": "<your-tenderly-access-key>",
        "ETHERSCAN_API_KEY": "<your-etherscan-api-key>"
      }
    }
  }
}

Once published to npm, you can skip the local build and run it via npx instead:

{
  "mcpServers": {
    "tenderly": {
      "command": "npx",
      "args": ["-y", "tenderly-mcp"],
      "env": {
        "TENDERLY_ACCESS_KEY": "<your-tenderly-access-key>",
        "ETHERSCAN_API_KEY": "<your-etherscan-api-key>"
      }
    }
  }
}
  • TENDERLY_ACCESS_KEY — required; your Tenderly gateway access key (used for all networks)
  • ETHERSCAN_API_KEY — optional; required only for get_contract_source and get_contract_abi

Restart Claude Desktop after saving.

Example Usage

Ask Claude:

"Trace this Celo transaction and tell me why it reverted: 0xabc..."

"What token transfers happened in 0xdef... on Ethereum?"

"Simulate this transaction on Base: from 0x..., to 0x..., data 0x..."

"What events did contract 0x... emit in the last 1000 blocks on Arbitrum?"

"Show me the verified source code for 0x... on Optimism."

Development

npm run dev      # run without building (tsx)
npm test         # unit tests
npm run build    # compile to dist/

About

A vibe-coded MCP (that works) to help AI to trace and debug EVM transaction through Tenderly and Etherscan API

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages