mcpField
E
EVMole

EVMole

Local
github.comDeveloper Tools475Updated 4d ago

About EVMole

EVMole is a local MCP server for structured analysis of deployed EVM runtime bytecode. It is aimed at agents and clients that need to inspect contract bytecode offline, communicates over stdio, and requires no network access or credentials.

Key features

  1. 01Function selector and dispatch location extraction
  2. 02Inferred function arguments and state mutability
  3. 03Inferred persistent and transient storage access
  4. 04Compiler metadata output
  5. 05Disassembly, basic blocks and control-flow graph

Use cases

  1. 01Analyzing deployed contract bytecode without network access
  2. 02Letting an agent list selectors and storage access of a contract
  3. 03Paging through large disassembly or control-flow output

MCP support

This project is an MCP server that exposes a single tool, analyze_evm_bytecode, over stdio. MCP clients pass hexadecimal bytecode and receive a structured analysis in return.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"cdump-evmole": {
"command": "npx",
"args": [
"-y",
"evmole-mcp"
]
}
}
}
Run commandnpx -y evmole-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmevmole-mcp0.9.4

Tools

1

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
limitnumberNo
offsetnumberNo
includearrayNoAnalysis features to include: selectors, arguments, stateMutability, storage, transientStorage, metadata, disassembly, basicBlocks, controlFlowGraph. arguments and stateMutability imply selectors.
bytecodestringYesDeployed EVM runtime bytecode as hexadecimal; maximum 1 MiB.

Details

From the project README

evmole-mcp

evmole-mcp is the local MCP server for EVMole, a structured analyzer for deployed EVM runtime bytecode. It exposes one tool, analyze_evm_bytecode, for use by MCP-compatible agents and clients.

Start the server

npx -y evmole-mcp@latest

Node.js 22 or newer is required.

Configure an MCP client

{
  "mcpServers": {
    "evmole": {
      "command": "npx",
      "args": ["-y", "evmole-mcp@latest"]
    }
  }
}

The server communicates over stdio.

Analyze runtime bytecode

The analyze_evm_bytecode tool accepts hexadecimal bytecode, optional include feature names, and optional offset and limit values. It can extract:

  • function selectors and dispatch locations;
  • inferred arguments and state mutability;
  • inferred persistent and transient storage access;
  • compiler metadata;
  • disassembly, basic blocks, and a control-flow graph.

Function selectors can be requested on their own with selectors. Requesting arguments or stateMutability also enables selector extraction, and the requested function information is combined in analysis.functions. Other requested analyses are returned in their corresponding analysis fields.

If include is omitted, the tool analyzes selectors, arguments, state mutability, both storage domains, and metadata. Disassembly and control-flow features are opt-in because their output can be large. The tool returns the canonical version 1 EVMole response as structured content plus a JSON text fallback. Check warnings and pagination before interpreting the result.

Privacy and limitations

The server uses stdio only, makes no network requests, requires no credentials, does not fetch contract addresses, and writes no files. It does not decode calldata, verify source, execute creation bytecode, or fully decompile source. Arguments, mutability, and storage descriptions are inferred rather than verified source-level facts.

Each evmole-mcp release depends on the matching exact evmole version.

See https://github.com/cdump/evmole/tree/master/agent for full setup and privacy guidance. Report problems at https://github.com/cdump/evmole/issues.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.