mcpField
E
ETH Security MCP

ETH Security MCP

ローカル
github.com/sirocco-k1開発ツール056 週間前に更新

ETH Security MCP について

ETH Security MCPは、Ethereumのセキュリティ分析担当者、監査担当者、インシデント対応担当者向けのMCPサーバー群です。取引・トークン活動の検索、コントラクト情報や関数シグネチャの取得、取引シミュレーションを提供します。

主な機能

  1. 01取引とトークン活動の検索
  2. 02コントラクトソースコードの取得
  3. 03関数シグネチャの特定
  4. 04Foundry castによる取引シミュレーション

活用シーン

  1. 01Ethereumアドレスに関連する活動の調査
  2. 02コントラクトの確認と関数シグネチャの特定
  3. 03取引をシミュレーションして実行内容とガス使用量を確認

MCP 対応

Dune、Sources、Castの3つの専用MCPサーバーをMCPクライアントに提供します。各ツールでオンチェーン活動、コントラクトデータ、取引シミュレーション結果を取得できます。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

ETH Security MCP

セキュリティアナリスト、監査担当者、インシデント対応担当者向けの MCP サーバー集です。

セットアップ

依存関係

eth-security-mcpを使用するには、次の依存関係をインストールする必要があります。

環境変数の設定

eth-security-mcp内の MCP サーバーでは、API キーなどの情報を渡すために環境変数を使用する場合があります。.env.exampleには、すべての MCP サーバーを実行するために必要な値が記載されています。.envファイルを設定するには、cp .env.example .envを実行し、該当する情報を入力してください。

ワークスペース

このリポジトリでは、npm ワークスペースを使用して各アクションを分離しています。特定のワークスペースを操作するには、npm <action> -w src/<directory-name>を使用してください。

ビルドとデバッグ

このリポジトリでは、MCP Inspectorを使用したビルドとデバッグを自動化するために、justfileを使用しています。たとえば、dune MCP サーバーをビルドしてデバッグするには、次のコマンドを実行します。

$ just -l
Available recipes:
    build workspace
    debug workspace

$ just debug dune
Claude Desktop への MCP サーバーのインストール

このリポジトリの MCP サーバーを Claude Desktop にインストールするには、次の手順を実行します。

  1. just setup-<machine> <mcp-server>を実行します。machineにはlinuxまたはmacos、mcp-serverにはインストールする MCP サーバーが含まれるディレクトリ名を指定します。

  2. just コマンドを実行すると、MCP サーバーのディレクトリ内にclaude.config.tmp.jsonファイルが作成されます。この内容を、次のファイルのmcpServersの下にコピーして貼り付けます。

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • linux: ~/.config/Claude/claude_desktop_config.json
  3. 設定情報を追加したら、変更を反映するために Claude Desktop を再起動します。

MCP サーバー

このコレクションには、Ethereum のセキュリティ分析に特化した 3 つの MCP サーバーが含まれています。

サーバー用途ツール
Duneトランザクション分析とブロックチェーンデータget_transactions_by_address, get_activity_by_address
Sources関数シグネチャとコントラクトのソースコードretrieve_function_signature, retrieve_source_code
Castトランザクションのシミュレーションとデバッグrun_transaction

🔍 Dune

用途: 構造化されたトランザクション分析とブロックチェーンデータの取得のために、Dune API エンドポイントにアクセスします。

ツール
get_transactions_by_address

説明: Dune の Sim API を使用して、特定のアドレスのトランザクションを取得します。

パラメーター
パラメーター型必須説明
addressstring✅トランザクションを取得するアドレス
block_numbernumber❌このブロック番号以降のトランザクションに絞り込みます
chain_idsstring❌カンマ区切りのチェーン ID リスト
is_senderboolean❌このアドレスが送信者であるトランザクションを返します
is_receiverboolean❌このアドレスが受信者であるトランザクションを返します
戻り値

次の構造を持つトランザクションオブジェクトの配列を返します。

{
  address: string;          // Contract or account address
  block_number: number;     // Block containing the transaction
  data: string;             // Raw transaction data
  from: string;             // Transaction sender address
  to: string | null;        // Transaction recipient (null for contract creation)
  value: string;            // ETH amount transferred in wei
  logs: Array<{             // Event logs emitted during execution
    address: string;        // Contract emitting the event
    data: string;           // Raw event data
    topics: string[];       // Event topics
  }>;
}[]
get_activity_by_address

説明: Dune の Sim API を使用して、特定のアドレスのトークンアクティビティを取得します。

パラメーター
パラメーター型必須説明
addressstring✅トークンアクティビティを取得するアドレス
block_numbernumber✅このブロック番号までのアクティビティを返します
chain_idsstring❌カンマ区切りのチェーン ID リスト
戻り値

次の構造を持つアクティビティオブジェクトの配列を返します。

{
  chain_id: number;         // Chain ID where activity occurred
  block_number: number;     // Block containing the activity
  block_time: string;       // Timestamp of the block
  tx_hash: string;          // Transaction hash
  type: string;             // Type of activity (transfer, swap, etc.)
  asset_type: string;       // Type of asset (erc20, native, etc.)
  token_address: string;    // Address of the token contract
  from: string;             // Sender address
  to: string;               // Receiver address
  spender: string;          // Spender address (for approvals)
  value: string;            // Amount transferred
  value_usd: number;        // USD value of the transfer
  token_metadata: {         // Token information
    symbol: string;         // Token symbol
    decimals: number;       // Token decimals
    name: string;           // Token name
    price_usd: number;      // Token price in USD
    standard: string;       // Token standard (erc20, etc.)
  };
  function: {               // Function call details
    signature: string;      // Function signature
    name: string;           // Function name
    inputs: {               // Function inputs
      name: string;         // Parameter name
      type: string;         // Parameter type
      value: string;        // Parameter value
    };
  };
  contract_metadata: {      // Contract information
    name: string;           // Contract name
  };
  from_token_address: string;    // Source token address (for swaps)
  from_token_value: string;      // Source token amount (for swaps)
  to_token_address: string;      // Destination token address (for swaps)
  to_token_value: string;        // Destination token amount (for swaps)
}[]

📚 Sources

用途: セキュリティ分析のために、関数シグネチャデータとコントラクトのソースコードにアクセスします。

ツール
retrieve_function_signature

説明: 4byte API から、指定された関数セレクターの関数シグネチャを取得します。

パラメーター
パラメーター型必須説明
selectorstring✅16 進数の関数セレクター(例:「0x70a08231」)
戻り値
{
  best_match: string;      // Most likely function signature (lowest ID)
  all_matches: string[];   // All potential matching signatures
}
retrieve_source_code

説明: Sourcify からコントラクトアドレスのソースコードを取得します。

パラメーター
パラメーター型必須説明
addressstring✅ソースを取得するコントラクトアドレス
chain_idnumber✅コントラクトがデプロイされているチェーンの ID
戻り値
{
  sources: Record<string, {      // Source files
    [filePath: string]: string;  // File path → file content
  }>;
}

⚡ Cast

目的: Foundry の cast コマンドラインツールを使用して、トランザクションのシミュレーションとスマートコントラクトとのやり取りを行います。

ツール
run_transaction

説明: Foundry の cast run コマンドを使用してトランザクションをシミュレートし、デバッグや分析を行います。

パラメーター
パラメーター型必須説明
transactionHashstring✅シミュレートするトランザクションのハッシュ
rpcUrlstring✅Ethereum ノードの RPC URL
quickboolean❌シミュレーションを高速化するクイックモードを使用します(デフォルト:false)
戻り値

以下を含む文字列を返します:

  • トランザクションの実行詳細
  • 状態の変更
  • ガス使用量の情報
  • リバート理由(トランザクションが失敗した場合)

コメント

MCP は初めてですか?

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

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