デプロイされたEVMランタイムバイトコードを構造的に分析し、関数セレクタ、ストレージアクセス、および制御フローグラフを抽出します。
別名 cdump/evmole, evmole-mcp
- スター
- 474
- ツール
- —
- ダウンロード数(30日間)
- —
- 最新バージョン
- 0.9.4
- 最終コミット
- 2026年11月10日
- ライセンス
- MIT
EVMole MCPとは
EVMoleはMCPサーバーです。 デプロイされたEVMランタイムバイトコードを構造的に分析し、関数セレクタ、ストレージアクセス、および制御フローグラフを抽出します。.
プロジェクトのREADMEから生成された概要
EVMole MCP server について
EVMoleは、MCP対応のエージェントを使用する開発者が、デプロイされたEVMランタイムバイトコードを分析して構造化データを抽出することを可能にします。npx経由でこのローカルサーバーを実行することで、ユーザーはanalyze_evm_bytecodeツールに16進数のバイトコードを提供し、隠れたコントラクトの詳細を明らかにできます。サーバーは完全にstdio経由で動作し、APIキー、認証情報、ネットワークアクセスを必要としないため、バイトコードの分析はローカルマシン上でプライバシーが保たれます。
開発者はこのツールを使用して、関数セレクタ、ディスパッチロケーション、推論された引数、または状態の可変性を取得できます。また、永続的および一時的なストレージアクセス、コンパイラメタデータ、制御フローグラフに関する洞察も提供します。逆アセンブルや基本ブロックは出力が大きくなる可能性があるため、これらの機能はオプションとなっています。ツールは、標準的なバージョン1のEVMoleレスポンス形式に基づいた構造化されたコンテンツを返すため、エージェントは元のソースコードを必要とせずにコントラクトの動作をプログラムで解釈できます。
できること
- 1コントラクトの関数シグネチャの特定提供された16進数文字列から、関数セレクタとディスパッチロケーションを抽出するようエージェントに指示します。
- 2ストレージインタラクションパターンのマッピングコントラクトが永続的および一時的なストレージドメインとどのようにやり取りするか、分析をリクエストします。
- 3コントラクト実行ロジックの可視化バイトコードを提供して、詳細な調査のための制御フローグラフと逆アセンブルを生成します。
- 4コントラクトの状態可変性の推論特定の関数がコントラクトの状態を変更することを意図しているかどうかを判断します。
プロジェクトの README から作成されています。すべてのユースケースは、その引用と照らし合わせて確認されています。
EVMole MCPのインストール方法
フォーマット検証日 2026年11月10日Cursor に追加Gooseに追加Claude CodeにEVMole MCPをインストール
$ claude mcp add evmole -- npx -y evmole-mcpCursorにEVMole MCPをインストール
~/.cursor/mcp.json
{
"mcpServers": {
"evmole": {
"command": "npx",
"args": [
"-y",
"evmole-mcp"
]
}
}
}VS CodeにEVMole MCPをインストール
.vscode/mcp.json
{
"servers": {
"evmole": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"evmole-mcp"
]
}
}
}VS Code CLIにEVMole MCPをインストール
$ code --add-mcp '{"name":"evmole","type":"stdio","command":"npx","args":["-y","evmole-mcp"]}'Claude DesktopにEVMole MCPをインストール
claude_desktop_config.json
{
"mcpServers": {
"evmole": {
"command": "npx",
"args": [
"-y",
"evmole-mcp"
]
}
}
}CodexにEVMole MCPをインストール
$ codex mcp add evmole -- npx -y evmole-mcpCodex config.tomlにEVMole MCPをインストール
~/.codex/config.toml
[mcp_servers.evmole] command = "npx" args = ["-y", "evmole-mcp"]
Gemini CLIにEVMole MCPをインストール
$ gemini mcp add -s user evmole npx -- -y evmole-mcpGemini settings.jsonにEVMole MCPをインストール
~/.gemini/settings.json
{
"mcpServers": {
"evmole": {
"command": "npx",
"args": [
"-y",
"evmole-mcp"
]
}
}
}自動チェック
実行日 2026年11月12日完全なレポート →自動チェックに合格しました。これはセキュリティ監査ではありません。コードを読み、サーバーに必要最小限のアクセス権を与えてください。 チェックの仕組み
- ソースリポジトリがリンクされており、アクセス可能合格
- オープンソースライセンス (OSI)合格
- 過去1年以内にコミットまたはリリースあり合格
- パッケージ名が有名なパッケージに酷似していない合格
- リモートエンドポイントがHTTPSを使用未チェック
- 破壊的なツールがラベル付けされている未チェック
- モデルへの隠れた指示がない合格
- パッケージおよびその依存関係に重大な勧告なし合格
README
GitHubで見る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.
EVMole MCPのよくある質問
EVMole MCPをClaude Codeに追加するには
ターミナルでclaude mcp add evmole -- npx -y evmole-mcpを実行します。すべてのプロジェクトで利用するには--scope userを追加します。
EVMole MCPをCursorに追加するには
~/.cursor/mcp.jsonを開き、上記のインストールセクションに示すCursor設定を使ってmcpServersの下にサーバーを追加します。
EVMバイトコードから何を抽出できますか?
関数セレクタ、ディスパッチロケーション、推論された引数、状態の可変性、ストレージアクセス、コンパイラメタデータ、逆アセンブル、および制御フローグラフを抽出できます。
このサーバーはネットワークリクエストを行ったり、認証情報を必要としたりしますか?
いいえ、このサーバーはstdioのみを使用し、ネットワークリクエストは行わず、認証情報も必要ありません。
分析の制限事項は何ですか?
このツールは、calldataのデコード、ソースコードの検証、作成バイトコードの実行、またはソースコードの完全なデコンパイルは行いません。