# EVMole [Health: Active]

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/cdump/evmole  
**GitHub Stars:** 472  
**npm Downloads (last month):** 535780  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/evmole

## Description
Local structured analysis of deployed EVM runtime bytecode

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "evmole": {
    "command": "npx",
    "args": ["-y","evmole"]
  }
}
```

## Documentation

## What EVMole MCP server does

EVMole MCP server gives an MCP-compatible agent access to structured analysis of deployed or runtime EVM bytecode. It is intended for bytecode inspection rather than transaction execution, source-code compilation, or blockchain data retrieval. The integration accepts bytecode as its input and returns discovered contract details.

Analysis can include function selectors, inferred argument types, state mutability, persistent storage layout, transient storage layout, and string-keyed values from terminal CBOR metadata. It also classifies whether selector handling follows ordinary ABI dispatch or is handled through fallback logic. The library is tested with contracts compiled by Solidity and Vyper, and it can inspect unverified contracts because it works from bytecode.

## How it works

The MCP integration runs the EVMole analysis implementation locally. Install and start it with:

```bash
npx -y evmole-mcp
```

An agent sends deployed/runtime bytecode to the local MCP server, which analyzes the bytecode and returns typed structured results. This makes the MCP option suitable for agent workflows where bytecode should remain on the local machine.

The underlying project also provides JavaScript, Rust, Python, and Go bindings, plus a JSON CLI and an agent skill. Those alternatives are better suited to application code, scripts, or agents that do not use MCP; the MCP package is the local typed-tool option.

## Setup and configuration

Install Node.js package execution support, then launch the server with `npx -y evmole-mcp`. The server expects runtime bytecode supplied by the calling agent.

For a one-off command or script rather than an MCP client, the project documents `npx -y evmole analyze --bytecode 0x...`. That CLI is separate from the MCP server but uses the same local analysis approach.

## Tools and capabilities

The EVMole MCP server supports agent-driven inspection of:

- Function selectors and their bytecode offsets
- ABI-style argument type inference
- State mutability classification
- Normal ABI dispatch versus fallback-based selector handling
- Persistent and transient storage layouts
- String-keyed values in terminal, length-suffixed CBOR metadata
- Runtime bytecode from unverified Solidity or Vyper contracts

## Limitations and notes

Results are inferred from bytecode, so the integration should not be treated as a substitute for verified source or a full symbolic execution system.

CBOR extraction targets string-keyed values in a terminal length-suffixed map and does not assume a particular compiler. The project describes broad compatibility with Solidity and Vyper, but no guarantee is stated for every compiler version, proxy pattern, or custom bytecode design.

_Full upstream README: https://allmcps.com/mcp/evmole/readme_

