EVMole — Claude Code MCP server: EVM bytecode analysis
A local MCP server that inspects deployed EVM runtime bytecode: function selectors, arguments, mutability, storage access and compiler metadata.
claude mcp add evmole -- npx -y evmole-mcpWhat EVMole does
The server exposes a single tool called analyze_evm_bytecode. You hand it hexadecimal bytecode, optionally a list of include feature names plus offset and limit. Leave include out and it works through selectors, arguments, state mutability, both storage domains and compiler metadata on its own. Disassembly, basic blocks and the control-flow graph stay opt-in, since they produce a lot of output.
Want selectors alone? Ask for selectors. Asking for arguments or stateMutability pulls selector extraction in as well, and everything about the functions lands together under analysis.functions. Results arrive as canonical version 1 structured content with a JSON text fallback. Read warnings and pagination before you trust the numbers.
Transport is stdio only. No network calls, no credentials, no fetching of contract addresses, no files written. Arguments, mutability and storage descriptions are inferred, not read from verified source — treat them as hints. Calldata decoding, source verification and execution of creation bytecode are all out of scope. Node.js 22 or newer is required, and each evmole-mcp release is pinned to one exact evmole version, so upgrade the pair together.
What it helps with
- pull function selectors out of deployed contract bytecode
- guess argument types and mutability without source
- see which persistent and transient storage slots a contract touches
- get a disassembly and control-flow graph for manual review
- read compiler metadata embedded in the bytecode
Example prompts for the agent
- Analyze bytecode
0x6080604052...and list the function selectors - Request arguments and state mutability for this bytecode
- Include disassembly and the control-flow graph, first 200 bytes
How to install EVMole
Platform CLI
claude mcp add evmole -- npx -y evmole-mcpPlatform CLI
codex mcp add mcp -- npx -y evmole-mcpConfig file
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"evmole-mcp"
]
}
}
}Config file
{
"servers": {
"mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"evmole-mcp"
]
}
}
}Platform CLI
gemini mcp add mcp npx -y evmole-mcpStep by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about EVMole
How do I install EVMole in Claude Code?
Run claude mcp add evmole -- npx -y evmole-mcp. The server starts through npx and talks over stdio.
What does EVMole do?
It analyzes deployed EVM bytecode and returns function selectors, inferred arguments and mutability, persistent and transient storage access, and compiler metadata. Disassembly and the control-flow graph come on request.
Does it need an API key or network access?
No. It runs over stdio, makes no network requests, needs no credentials and writes no files. It also does not fetch contract addresses — you supply the bytecode yourself.