mcpField
W
Web3 MCP Server

Web3 MCP Server

ローカル
github.com/BaltasarAroso金融データ077 週間前に更新

Web3 MCP Server について

Web3 MCP Serverは、viemを使ってEthereumネットワークの情報を取得するツールを提供します。残高や取引の照会、ENS検索、読み取り専用のコントラクト呼び出しに対応しています。

主な機能

  1. 01ETHとERC-20の残高照会
  2. 02取引とブロックの詳細確認
  3. 03ENSの名前解決と逆引き
  4. 04読み取り専用コントラクトメソッドの呼び出し
  5. 05Mainnet、Goerli、Sepolia、ローカルネットワーク対応

活用シーン

  1. 01ETHやトークン残高の確認
  2. 02取引やブロックの調査
  3. 03ENS名の解決
  4. 04スマートコントラクトデータの読み取り

MCP 対応

MCPサーバーは、Ethereumの照会機能と読み取り専用コントラクト呼び出しをMCPクライアントに提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"web3-mcp-server-baltasararoso": {
"command": "npx",
"args": [
"-y",
"@wong2/mcp-cli"
]
}
}
}
起動コマンドnpx -y @wong2/mcp-cli

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

パッケージ
npm@wong2/mcp-cli

ツール

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

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

詳細

Web3 MCP サーバー

このプロジェクトは、viem ライブラリを使用して Ethereum ネットワークとやり取りする Model Context Protocol(MCP)サーバーを実装します。残高、トランザクション、ブロック、ENS などの照会に対応しています。

プロジェクト構成

  • server/: 主な作業対象です。MCP サーバーの実装とすべてのコアロジックが含まれています。そのため、以下のコマンドと手順では、cd server で移動するディレクトリを前提としています。
  • client/: MCP サーバーのテストに使用します。このフォルダーでテストスクリプトを実行したり、開発中にサーバーとやり取りしたりできます。クライアントを実行するには、cd client; npm i && npm start を実行します。

機能

  • ETH および ERC-20 トークンの残高を取得
  • トランザクションとブロックの詳細を照会
  • ENS の名前解決と逆引き
  • 読み取り専用のコントラクトメソッドを呼び出し
  • mainnet、Goerli、Sepolia、ローカル(Hardhat)ネットワークに対応

環境の設定

  1. 依存関係をインストールします:
    npm install
    
  2. .env ファイルを作成します(環境変数を設定する場合は任意):
    CHAIN_ENV=mainnet # or goerli, sepolia, local
    
    • 設定しない場合は、デフォルトで mainnet が使用されます。
    • local の場合は、http://127.0.0.1:8545 でノードが稼働していることを確認してください。

サーバーの実行

npm start

ネットワークの切り替え

CHAIN_ENV 環境変数を次のいずれかに設定します:

  • mainnet
  • goerli
  • sepolia
  • local

例:

CHAIN_ENV=goerli npm start

MCP サーバーのテスト

mcp-cli ツールを使用して、MCP サーバーをテストできます:

npx @wong2/mcp-cli npm start

これにより、ツールの一覧表示や呼び出し、サーバーの機能の対話的な確認ができます。

MCP サーバーと Claude および Cursor IDE の統合

Claude と Cursor IDE はどちらも、設定からカスタム MCP サーバーを追加できます。どちらのツールでも、手順はほぼ同じです:

MCP サーバーを追加する手順
  1. MCP サーバーをビルドします:

    npm run build
    

    これにより、サーバーが server/build ディレクトリにコンパイルされます。

  2. ツールの設定を開きます:

    • Cursor IDE: Settings > MCP に移動します。
    • Claude(デスクトップ): Settings > Developer > Edit Config に移動します。
  3. 新しいグローバル MCP サーバーを追加します:

    • UI を使うか、JSON 設定ファイルを直接編集して追加できます。
    • JSON 設定の例:
      {
        "mcpServers": {
          "web3-tools": {
            "command": "node",
            "args": ["$GITHUB_REPO/server/build/index.js"]
          }
        }
      }
      
      $GITHUB_REPO を、ローカルのリポジトリディレクトリへのパスに置き換えてください。
  4. 設定を保存し、必要に応じてツールを再起動または再読み込みします。

  5. ツールを更新するには:

    • サーバーコードを変更した後は、必ず npm run build を実行してください。
    • 変更を反映するには、ツールを手動で更新するか、MCP サーバーを再起動する必要がある場合があります。

注:UI や設定ファイルの場所は、ツールの進化に伴って変更される場合があります。最新情報については、各ツールのドキュメントを参照してください。

次のステップ

  • testnet/local 向けの書き込み(トランザクション)サポートを追加
  • Vitest を使用した単体テストと統合(e2e)テストで、包括的なデモを実現(npm test ですべてのテストを実行)
  • 保守性を高めるため、コードをモジュールにリファクタリング
  • 基本的なレート制限を追加するか、RPC の使用に関する警告を追加

コメント

MCP は初めてですか?

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

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