mcpField
E
EVMole

EVMole

ローカル
github.com開発ツール4754 日前に更新

EVMole について

EVMole は、デプロイ済みの EVM ランタイムバイトコードを構造的に解析するローカルの MCP サーバーです。コントラクトのバイトコードをオフラインで調べたいエージェントやクライアント向けで、stdio で通信し、ネットワークアクセスや認証情報は不要です。

主な機能

  1. 01関数セレクターとディスパッチ位置の抽出
  2. 02推定される関数引数と状態可変性
  3. 03推定される永続ストレージおよび一時ストレージへのアクセス
  4. 04コンパイラメタデータの出力
  5. 05逆アセンブル、基本ブロック、制御フローグラフ

活用シーン

  1. 01ネットワークに接続せずにデプロイ済みコントラクトのバイトコードを解析
  2. 02エージェントによるコントラクトのセレクターとストレージアクセスの確認
  3. 03大規模な逆アセンブル出力や制御フロー出力のページ単位の取得

MCP 対応

本プロジェクトは、単一のツール analyze_evm_bytecode を stdio 経由で公開する MCP サーバーです。MCP クライアントが 16 進数のバイトコードを渡すと、構造化された解析結果を受け取ります。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cdump-evmole": {
"command": "npx",
"args": [
"-y",
"evmole-mcp"
]
}
}
}
起動コマンドnpx -y evmole-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmevmole-mcp0.9.4

ツール

1

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
limitnumberいいえ
offsetnumberいいえ
includearrayいいえ含める分析機能:selectors、arguments、stateMutability、storage、transientStorage、metadata、disassembly、basicBlocks、controlFlowGraph。arguments と stateMutability を指定すると selectors も含まれます。
bytecodestringはいデプロイ済み EVM ランタイムバイトコード(16 進数)。最大 1 MiB。

詳細

evmole-mcp

evmole-mcp は、デプロイ済みの EVM ランタイムバイトコードを構造化して解析する EVMole のローカル MCP サーバーです。MCP 対応のエージェントやクライアントで使用する analyze_evm_bytecode ツールを 1 つ提供します。

サーバーを起動する

npx -y evmole-mcp@latest

Node.js 22 以降が必要です。

MCP クライアントを設定する

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

サーバーは stdio 経由で通信します。

ランタイムバイトコードを解析する

analyze_evm_bytecode ツールは、16 進数の bytecode、任意の include 機能名、任意の offset と limit の値を受け取ります。次の情報を抽出できます。

  • 関数セレクターとディスパッチ位置。
  • 推定された引数と状態の可変性。
  • 推定された永続ストレージと一時ストレージへのアクセス。
  • コンパイラーのメタデータ。
  • 逆アセンブル、基本ブロック、制御フローグラフ。

関数セレクターのみを取得する場合は、selectors を指定できます。arguments または stateMutability を指定すると、セレクターの抽出も有効になり、要求された関数情報は analysis.functions にまとめられます。ほかに要求された解析結果は、対応する analysis フィールドに返されます。

include を省略した場合、ツールはセレクター、引数、状態の可変性、両方のストレージ領域、メタデータを解析します。逆アセンブルと制御フロー関連の機能は出力が大きくなる場合があるため、オプトインです。ツールは、正規のバージョン 1 EVMole レスポンスを構造化コンテンツと JSON テキストのフォールバックとして返します。結果を解釈する前に、warnings と pagination を確認してください。

プライバシーと制限事項

このサーバーは stdio のみを使用し、ネットワークリクエストを行わず、認証情報を必要とせず、コントラクトアドレスを取得せず、ファイルを書き込みません。calldata のデコード、ソースの検証、作成バイトコードの実行、ソースの完全な逆コンパイルは行いません。引数、可変性、ストレージの説明は推定結果であり、ソースレベルで検証された事実ではありません。

evmole-mcp の各リリースは、対応する正確なバージョンの evmole に依存します。

詳しいセットアップとプライバシーに関するガイダンスは、https://github.com/cdump/evmole/tree/master/agent をご覧ください。問題は https://github.com/cdump/evmole/issues で報告してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。