MCP Etherscan Server について
MCP Etherscan Server は、Etherscan API を通じてイーサリアムのブロックチェーンデータを扱うツールを提供する MCP サーバーです。MCP 対応クライアントから、オンチェーン情報を照会したい開発者を対象としています。
主な機能
- 01アドレスの ETH 残高の確認
- 02最近のトランザクション履歴の表示
- 03ERC20 トークン転送の追跡
- 04コントラクト ABI とガス価格の取得
- 05アドレスから ENS 名への解決
活用シーン
- 01チャットからのアドレス残高やトランザクションの照会
- 02開発時のスマートコントラクト ABI の取得
- 03現在のガス価格の監視
MCP 対応
本プロジェクトは stdio で動作する MCP サーバーで、6 つのイーサリアムデータツールを Claude Desktop などの対応クライアントに MCP エンドポイントとして公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Etherscan サーバー
Etherscan の API を介して Ethereum ブロックチェーンデータのツールを提供する MCP(Model Context Protocol)サーバーです。ETH 残高の確認、トランザクション履歴の表示、ERC20 トランスファーの追跡、コントラクト ABI の取得、ガス価格の監視、ENS 名の解決などの機能を備えています。
機能
- 残高確認: 任意の Ethereum アドレスの ETH 残高を取得
- トランザクション履歴: 詳細情報付きで最近のトランザクションを表示
- トークントランスファー: トークンの詳細付きで ERC20 トークンのトランスファーを追跡
- コントラクト ABI: 開発用にスマートコントラクトの ABI を取得
- ガス価格: 現在のガス価格(Safe Low、Standard、Fast)を監視
- ENS 解決: Ethereum アドレスを ENS 名に解決
前提条件
- Node.js >= 18
- Etherscan API キー(https://etherscan.io/apis で取得できます)
インストール
- リポジトリをクローンします:
git clone [your-repo-url]
cd mcp-etherscan-server
- 依存関係をインストールします:
npm install
- ルートディレクトリに
.envファイルを作成します:
ETHERSCAN_API_KEY=your_api_key_here
- プロジェクトをビルドします:
npm run build
サーバーの実行
サーバーを起動します:
npm start
サーバーは stdio で動作するため、Claude Desktop などの MCP クライアントと互換性があります。
仕組み
このサーバーは Model Context Protocol(MCP)を実装し、Etherscan の API を介して Ethereum ブロックチェーンデータを操作するためのツールを提供します。各ツールは MCP エンドポイントとして公開され、互換性のあるクライアントから呼び出すことができます。
利用可能なツール
-
check-balance- 入力: Ethereum アドレス
- 出力: Wei と ETH の両方での ETH 残高
-
get-transactions- 入力: Ethereum アドレス、任意の limit
- 出力: タイムスタンプ、値、アドレスを含む最近のトランザクション
-
get-token-transfers- 入力: Ethereum アドレス、任意の limit
- 出力: トークンの詳細を含む最近の ERC20 トークントランスファー
-
get-contract-abi- 入力: コントラクトアドレス
- 出力: JSON 形式のコントラクト ABI
-
get-gas-prices- 入力: なし
- 出力: Gwei 単位の現在のガス価格
-
get-ens-name- 入力: Ethereum アドレス
- 出力: 存在する場合は関連付けられた ENS 名
Claude Desktop での使用
このサーバーを Claude Desktop に追加するには:
-
npm startを使用してサーバーを起動します -
Claude Desktop で:
- 設定に移動します
- MCP Servers セクションに移動します
- 「Add Server」をクリックします
- 次の設定を入力します:
{ "name": "Etherscan Tools", "transport": "stdio", "command": "node /path/to/mcp-etherscan-server/build/index.js" } - 設定を保存します
-
Etherscan ツールが Claude での会話で利用できるようになります
Claude での使用例
次のようなコマンドを使用できます:
Check the balance of 0x742d35Cc6634C0532925a3b844Bc454e4438f44e
または
Show me recent transactions for vitalik.eth
開発
新機能を追加したり既存の機能を変更したりするには:
- サーバーの主要なロジックは
src/server.tsにあります - Etherscan API とのやり取りは
src/services/etherscanService.tsで処理されます - 変更後にビルドします:
npm run build
ライセンス
MIT License - 詳細は LICENSE ファイルを参照してください
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。