evmole

evmole

MCP.Pizza Chef: cdump

Most contract explorers go quiet when a contract has no published source. EVMole works from the deployed bytecode itself, pulling out the list of functions, the arguments each one takes, which ones can change state or move funds, and how storage is laid out. That makes it useful for sizing up an unknown contract before interacting with it. Nothing is sent anywhere — it runs on your machine, needs no key, and the same engine sits behind Foundry's cast tool.

Coding
Data

Use This MCP server To

See what functions a contract has with no source code Check what arguments a contract function expects Find out which functions can move money Read a contract's storage layout from its bytecode Look up a mystery contract before interacting with it

README

EVMole

try it online npm Crates.io PyPI Go

EVMole is a powerful library that extracts information from Ethereum Virtual Machine (EVM) bytecode, including function selectors, arguments, state mutability, persistent and transient storage layouts, and CBOR metadata, even for unverified contracts.

Key Features

  • Multi-language support: Available as JavaScript, Rust, Python, and Go libraries.
  • High accuracy and performance: Outperforms existing tools.
  • Broad compatibility: Tested with both Solidity and Vyper compiled contracts.
  • Lightweight: Clean codebase with minimal external dependencies.
  • Unverified contract analysis: Extracts information even from unverified bytecode.
  • Selector dispatch classification: Distinguishes normal ABI dispatch from selectors handled by fallback logic.
  • CBOR metadata: Extracts string-keyed values from a terminal, length-suffixed CBOR map without assuming a particular compiler.

Usage

JavaScript

API documentation and usage examples (Node.js, Vite, webpack, Parcel, esbuild)

npm i evmole

evmole FAQ

Can I use this to inspect a contract that was never verified?
Yes, that is the main point — it reads the deployed bytecode rather than published source.
Do I need an API key?
No, and nothing is sent to the authors' servers. It runs entirely on your machine.
How hard is setup?
One line to start the server, then point your assistant at it.
What do I have to give it?
The deployed bytecode of a contract.
Can I use it outside of a chat window?
Yes. There are JavaScript, Rust, Python and Go libraries, and Foundry's cast uses it under the hood.
How accurate is it?
The project publishes benchmarks against other tools showing fewer false positives and false negatives.