mcpField
E
EVM MCP Server

EVM MCP Server

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

EVM MCP Server について

EVM MCP Server は、LLM に 60 以上の EVM 互換ネットワークを操作するツールを提供する MCP サーバーです。ENS 名の解決やABI の自動取得に対応しており、複数の EVM チェーンを扱う AI エージェントの開発者を対象としています。

主な機能

  1. 0160 以上の EVM 互換ネットワークに対応
  2. 02ブロック、トランザクション、残高、コントラクト状態を参照
  3. 03ERC20、ERC721、ERC1155 のトークン操作に対応
  4. 04ブロックエクスプローラーから ABI を自動取得
  5. 05メッセージと EIP-712 の署名機能

活用シーン

  1. 01AI エージェントによる複数 EVM チェーンの残高確認
  2. 02ENS 名を使ったウォレット情報の照会
  3. 03設定済みウォレットでのスマートコントラクト書き込み実行

MCP 対応

ブロックチェーンの参照、トークン転送、コントラクト操作、署名のツールに加え、リソースとプロンプトを MCP サーバーとして公開し、MCP クライアントから利用できるようにします。

設定

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

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

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

パッケージ
npm@mcpdotdirect/evm-mcp-server

ツール

25

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

このツールにパラメーターはありません。

詳細

EVM MCP サーバー

License: MIT EVM Networks TypeScript MCP Viem

60 以上の EVM 互換ネットワークでブロックチェーンサービスを提供する、包括的な Model Context Protocol(MCP)サーバーです。このサーバーにより、AI エージェントは 22 個のツールと 10 個の AI ガイド付きプロンプトを通じた統一インターフェースを使用して、Ethereum、Optimism、Arbitrum、Base、Polygon、その他多くの EVM チェーンを利用できます。

📋 目次

🔭 概要

MCP EVM サーバーは Model Context Protocol を活用し、AI エージェントにブロックチェーンサービスを提供します。以下を含む幅広いサービスに対応しています。

  • ブロックチェーンの状態の読み取り(残高、トランザクション、ブロックなど)
  • ブロックエクスプローラーからの ABI 自動取得 によるスマートコントラクトとのやり取り
  • トークンの送金(ネイティブトークン、ERC20、ERC721、ERC1155)
  • トークンのメタデータと残高の照会
  • 60 以上の EVM ネットワークにわたるチェーン固有のサービス(メインネット 34 個+テストネット 26 個)
  • すべてのアドレスパラメーターで ENS 名を解決(アドレスの代わりに「vitalik.eth」のような人間が読める名前を使用)
  • 複雑なワークフローをエージェントに案内する AI 向けプロンプト

すべてのサービスは、MCP ツール、リソース、プロンプトの一貫したインターフェースを通じて提供されるため、AI エージェントはブロックチェーン機能を簡単に検出して利用できます。Ethereum アドレスを受け付ける すべてのツールが ENS 名にも対応しており、内部で自動的にアドレスへ解決します。このサーバーにはインテリジェントな ABI 取得機能が含まれているため、事前にコントラクトの ABI を把握しておく必要はありません。

✨ 機能

ブロックチェーンデータへのアクセス
  • マルチチェーン対応:60 以上の EVM 互換ネットワーク(メインネット 34 個+テストネット 26 個)
  • チェーン情報:blockNumber、chainId、RPC など
  • ブロックデータ:番号、ハッシュ、または最新のブロックによる取得
  • トランザクションの詳細 とデコード済みログを含むレシート
  • ネイティブトークンおよびすべてのトークン規格の アドレス残高
  • 人間が読める Ethereum アドレスの ENS 解決('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045' の代わりに 'vitalik.eth' を使用)
トークンサービス
  • ERC20 トークン

    • トークンのメタデータ(名前、シンボル、小数桁数、供給量)の取得
    • トークン残高の確認
    • アドレス間でのトークン送金
    • 支出許可の承認
  • NFT(ERC721)

    • コレクションとトークンのメタデータの取得
    • トークンの所有権の確認
    • アドレス間での NFT の送金
    • トークン URI の取得と保有数の確認
  • マルチトークン(ERC1155)

    • トークン残高とメタデータの取得
    • 数量を指定したトークンの送金
    • トークン URI へのアクセス
スマートコントラクトとのやり取り
  • view/pure 関数を通じた コントラクト状態の読み取り
  • コントラクトへの書き込み — ABI の自動取得により、状態を変更する任意の関数を実行
  • EOA と区別するための コントラクトの検証
  • イベントログ の取得とフィルタリング
  • 60 以上のすべてのネットワークで Etherscan v2 API から ABI を自動取得(事前に ABI を把握しておく必要はありません)
  • 関数の検出を伴う ABI の解析と検証
包括的なトランザクションサポート
  • 柔軟なウォレットサポート - 秘密鍵またはニーモニック(BIP-39)を設定でき、HD パスをサポートします
  • ネイティブトークンの送金(すべての対応ネットワーク)
  • ガスの見積もりによるトランザクション計画
  • トランザクションのステータスとレシート情報
  • 内容がわかりやすいメッセージによるエラー処理
メッセージ署名機能
  • 個人メッセージの署名 - 認証と検証のために任意のメッセージに署名します
  • EIP-712 型付きデータの署名 - ガスレス取引やメタトランザクション向けに構造化データへ署名します
  • SIWE サポート - Sign-In With Ethereum の認証フローを利用できます
  • Permit 署名 - ガスレスのトークン操作向けにオフチェーン承認を作成します
  • メタトランザクションのサポート - リレーサービスやガスレス送金向けにトランザクションデータへ署名します
AI がガイドするワークフロー(プロンプト)
  • トランザクションの準備 - 送金の計画と実行をガイドします
  • ウォレット分析 - ウォレットのアクティビティと保有資産を分析するツール
  • スマートコントラクトの調査 - ABI の取得とコントラクト分析を対話形式で行います
  • コントラクトとのやり取り - スマートコントラクトの書き込み操作を安全に実行します
  • ネットワーク情報 - EVM ネットワークとその比較について学べます
  • 承認の監査 - トークン承認を確認、管理します
  • エラー診断 - トランザクション失敗のトラブルシューティングを行います

🌐 対応ネットワーク

メインネット
  • Ethereum (ETH)
  • Optimism (OP)
  • Arbitrum (ARB)
  • Arbitrum Nova
  • Base
  • Polygon (MATIC)
  • Polygon zkEVM
  • Avalanche (AVAX)
  • Binance Smart Chain (BSC)
  • zkSync Era
  • Linea
  • Celo
  • Gnosis (xDai)
  • Fantom (FTM)
  • Filecoin (FIL)
  • Moonbeam
  • Moonriver
  • Cronos
  • Scroll
  • Mantle
  • Manta
  • Blast
  • Fraxtal
  • Mode
  • Metis
  • Kroma
  • Zora
  • Aurora
  • Canto
  • Flow
  • Lumia
テストネット
  • Sepolia
  • Optimism Sepolia
  • Arbitrum Sepolia
  • Base Sepolia
  • Polygon Amoy
  • Avalanche Fuji
  • BSC Testnet
  • zkSync Sepolia
  • Linea Sepolia
  • Scroll Sepolia
  • Mantle Sepolia
  • Manta Sepolia
  • Blast Sepolia
  • Fraxtal Testnet
  • Mode Testnet
  • Metis Sepolia
  • Kroma Sepolia
  • Zora Sepolia
  • Celo Alfajores
  • Goerli
  • Holesky
  • Flow Testnet
  • Filecoin Calibration
  • Lumia Testnet

🛠️ 前提条件

  • Bun 1.0.0 以上(推奨)
  • Node.js 20.0.0 以上(Bun を使用しない場合)
  • オプション:Etherscan API key(ABI の取得に使用)

📦 インストール

# Clone the repository
git clone https://github.com/mcpdotdirect/evm-mcp-server.git
cd evm-mcp-server

# Install dependencies with Bun
bun install

# Or with npm
npm install

⚙️ 設定

環境変数

サーバーでは以下の環境変数を使用します。書き込み操作と ABI の取得には、これらの変数を設定する必要があります。

ウォレットの設定(書き込み操作用)

秘密鍵またはニーモニックフレーズのいずれかを使用してウォレットを設定できます。

オプション 1:秘密鍵

export EVM_PRIVATE_KEY="0x..." # Your private key in hex format (with or without 0x prefix)

オプション 2:ニーモニックフレーズ(HD ウォレット向けに推奨)

export EVM_MNEMONIC="word1 word2 word3 ... word12" # Your 12 or 24 word BIP-39 mnemonic
export EVM_ACCOUNT_INDEX="0" # Optional: Account index for HD wallet derivation (default: 0)

ニーモニックのオプションでは、階層的決定性(HD)ウォレットの導出をサポートしています。

  • BIP-39 標準のニーモニックフレーズ(12 語または 24 語)を使用します
  • BIP-44 導出パス m/44'/60'/0'/0/{accountIndex} をサポートします
  • EVM_ACCOUNT_INDEX を使用すると、同じニーモニックから異なるアカウントを導出できます
  • アカウントインデックスの既定値は 0(最初のアカウント)です

ウォレットは次の用途に使用されます。

  • ネイティブトークンの送金(transfer_native ツール)
  • ERC20 トークンの送金(transfer_erc20 ツール)
  • トークンの使用承認(approve_token_spending ツール)
  • スマートコントラクトへの書き込み(write_contract ツール)
  • 認証用メッセージへの署名(sign_message ツール)
  • ガスレス取引用の構造化データへの署名(sign_typed_data ツール)

⚠️ セキュリティ:

  • 秘密鍵やニーモニックをバージョン管理にコミットしないでください
  • 環境変数または安全な鍵管理システムを使用してください
  • ニーモニックは安全に保管してください。導出されたすべてのアカウントにアクセスできる情報です
  • 用途ごとに異なるアカウントインデックスを使用することを検討してください
API キー(ABI の取得用)
export ETHERSCAN_API_KEY="your-api-key-here"

この API キーは任意ですが、次の場合に必要です。

  • ブロックエクスプローラーから ABI を自動取得する場合(get_contract_abi ツール)
  • コントラクトの読み取り時に ABI を自動取得する場合(abiJson パラメーターを指定した read_contract ツール)
  • fetch_and_analyze_abi プロンプト

無料の API キーは、以下から取得できます。

  • Etherscan - Ethereum および互換チェーン用
  • 同じキーを Etherscan v2 API 経由ですべての 60 以上の EVM ネットワークで使用できます
サーバーの設定

サーバーでは、次のデフォルト設定を使用します。

  • デフォルトのチェーン ID:1(Ethereum Mainnet)
  • サーバーポート:3001
  • サーバーホスト:0.0.0.0(すべてのネットワークインターフェースからアクセス可能)

これらの値はアプリケーションにハードコードされています。変更が必要な場合は、次のファイルを編集してください。

  • チェーンの設定:src/core/chains.ts
  • サーバーの設定:src/server/http-server.ts

🚀 使用方法

npx を使用する(インストール不要)

npx を使用すると、インストールせずに MCP EVM Server を直接実行できます。

# Run the server in stdio mode (for CLI tools)
npx @mcpdotdirect/evm-mcp-server

# Run the server in HTTP mode (for web applications)
npx @mcpdotdirect/evm-mcp-server --http
サーバーをローカルで実行する

stdio を使用してサーバーを起動します(CLI ツールへの組み込み用)。

# Start the stdio server
bun start

# Development mode with auto-reload
bun dev

または、ウェブアプリケーション向けに SSE を使用して HTTP サーバーを起動します。

# Start the HTTP server
bun start:http

# Development mode with auto-reload
bun dev:http
サーバーへの接続

MCP 互換のクライアントであれば、どれでもこの MCP サーバーに接続できます。テストやデバッグには、MCP Inspector を使用できます。

Cursor から接続する

Cursor から MCP サーバーに接続するには、次の手順に従います。

  1. Cursor を開き、Settings(左下の歯車アイコン)に移動します

  2. 左側のサイドバーで「Features」をクリックします

  3. 下にスクロールして「MCP Servers」セクションに移動します

  4. 「Add new MCP server」をクリックします

  5. 次の詳細を入力します。

    • サーバー名:evm-mcp-server
    • 種類:command
    • コマンド:npx @mcpdotdirect/evm-mcp-server
  6. 「Save」をクリックします

接続すると、Cursor 内で MCP サーバーの機能を直接使用できます。サーバーは MCP Servers の一覧に表示され、必要に応じて有効化または無効化できます。

Cursor で mcp.json を使用する

チームと共有したり、複数のプロジェクトで使用したりできる、よりポータブルな設定にするには、プロジェクトのルートディレクトリに .cursor/mcp.json ファイルを作成します。

{
  "mcpServers": {
    "evm-mcp-server": {
      "command": "npx",
      "args": ["-y", "@mcpdotdirect/evm-mcp-server"]
    },
    "evm-mcp-http": {
      "command": "npx",
      "args": ["-y", "@mcpdotdirect/evm-mcp-server", "--http"]
    }
  }
}

このファイルをプロジェクトの .cursor ディレクトリに配置してください(存在しない場合は作成します)。Cursor は、そのプロジェクトで作業する際に、この MCP サーバー設定を自動的に検出して使用します。この方法には、次のような利点があります。

  1. MCP 設定をチームと共有できます
  2. MCP の設定をバージョン管理できます
  3. プロジェクトごとに異なるサーバー設定を使用できます
例:SSE を使用する HTTP モード

ウェブアプリケーションを開発していて、Server-Sent Events(SSE)を使用して HTTP サーバーに接続する場合は、次の設定を使用できます。

{
  "mcpServers": {
    "evm-mcp-sse": {
      "url": "http://localhost:3001/sse"
    }
  }
}

これは HTTP サーバーの SSE エンドポイントに直接接続します。次のような場合に便利です。

  • ブラウザーから MCP サーバーに接続する必要があるウェブアプリケーション
  • ローカルコマンドの実行が適さない環境
  • 複数のユーザーやアプリケーションで単一の MCP サーバーインスタンスを共有する場合

この設定を使用するには、次の手順に従います。

  1. 存在しない場合は、プロジェクトのルートに .cursor ディレクトリを作成します
  2. 上記の JSON を .cursor ディレクトリ内に mcp.json として保存します
  3. Cursor を再起動するか、プロジェクトを開きます
  4. Cursor が設定を検出し、サーバーの有効化を提案します
例:Cursor で MCP サーバーを使用する

mcp.json で MCP サーバーを設定したら、Cursor ですぐに使用できます。以下にワークフローの例を示します。

  1. プロジェクトに新しい JavaScript/TypeScript ファイルを作成します。
// blockchain-example.js
async function main() {
  try {
    // Get ETH balance for an address using ENS
    console.log("Getting ETH balance for vitalik.eth...");

    // When using with Cursor, you can simply ask Cursor to:
    // "Check the ETH balance of vitalik.eth on mainnet"
    // Or "Transfer 0.1 ETH from my wallet to vitalik.eth"

    // Cursor will use the MCP server to execute these operations
    // without requiring any additional code from you

    // This is the power of the MCP integration - your AI assistant
    // can directly interact with blockchain data and operations
  } catch (error) {
    console.error("Error:", error.message);
  }
}

main();
  1. Cursor でファイルを開いた状態で、Cursor に次のように依頼できます。

    • 「vitalik.eth の現在の ETH 残高を確認して」
    • 「Ethereum 上の USDC の価格を調べて」
    • 「Optimism の最新ブロックを表示して」
    • 「0x1234... がコントラクトアドレスかどうか確認して」
  2. Cursor は MCP サーバーを使用してこれらの操作を実行し、結果を会話に直接返します。

MCP サーバーがブロックチェーンとの通信をすべて処理するため、Cursor は自然言語を通じてブロックチェーン関連のタスクを理解し、実行できます。

Claude CLI を使用した接続

Claude CLI を使用している場合は、2 つのコマンドだけで MCP サーバーに接続できます。

# Add the MCP server
claude mcp add evm-mcp-server npx @mcpdotdirect/evm-mcp-server

# Start Claude with the MCP server enabled
claude
例:ENS を使用したトークン残高の取得
// Example of using the MCP client to check a token balance using ENS
const mcp = new McpClient("http://localhost:3000");

const result = await mcp.invokeTool("get-token-balance", {
  tokenAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", // USDC on Ethereum
  ownerAddress: "vitalik.eth", // ENS name instead of address
  network: "ethereum",
});

console.log(result);
// {
//   tokenAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
//   owner: "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
//   network: "ethereum",
//   raw: "1000000000",
//   formatted: "1000",
//   symbol: "USDC",
//   decimals: 6
// }
例:ENS 名の解決
// Example of using the MCP client to resolve an ENS name to an address
const mcp = new McpClient("http://localhost:3000");

const result = await mcp.invokeTool("resolve-ens", {
  ensName: "vitalik.eth",
  network: "ethereum",
});

console.log(result);
// {
//   ensName: "vitalik.eth",
//   normalizedName: "vitalik.eth",
//   resolvedAddress: "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
//   network: "ethereum"
// }
例:Multicall による複数の呼び出しの一括実行
// Example of using multicall to batch multiple contract reads in a single RPC call
const mcp = new McpClient("http://localhost:3000");

const result = await mcp.invokeTool("multicall", {
  network: "ethereum",
  calls: [
    {
      contractAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", // USDC
      functionName: "balanceOf",
      args: ["0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"],
    },
    {
      contractAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", // USDC
      functionName: "symbol",
    },
    {
      contractAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", // USDC
      functionName: "decimals",
    },
  ],
});

console.log(result);
// {
//   network: "ethereum",
//   totalCalls: 3,
//   successfulCalls: 3,
//   failedCalls: 0,
//   results: [
//     { contractAddress: "0xA0b...", functionName: "balanceOf", result: "1000000000", status: "success" },
//     { contractAddress: "0xA0b...", functionName: "symbol", result: "USDC", status: "success" },
//     { contractAddress: "0xA0b...", functionName: "decimals", result: "6", status: "success" }
//   ]
// }

📚 API リファレンス

ツール

サーバーはエージェント向けに、用途を絞った 25 個の MCP ツールを提供します。アドレスパラメーターを受け取るすべてのツールは、Ethereum アドレスと ENS 名の両方に対応しています。

ウォレット情報
ツール名説明主なパラメーター
get_wallet_address設定済みのウォレット(EVM_PRIVATE_KEY から取得)のアドレスを取得しますなし
ネットワーク情報
ツール名説明主なパラメーター
get_chain_infoネットワーク情報を取得しますnetwork
get_supported_networks対応しているすべての EVM ネットワークを一覧表示しますなし
get_gas_priceネットワークの現在のガス価格を取得しますnetwork
ENS サービス
ツール名説明主なパラメーター
resolve_ens_nameENS 名をアドレスに解決しますensName、network
lookup_ens_addressアドレスから ENS 名を逆引きしますaddress、network
ブロックとトランザクションの情報
ツール名説明主なパラメーター
get_blockブロックデータを取得しますblockNumber または blockHash、network
get_latest_block最新のブロックデータを取得しますnetwork
get_transactionトランザクションの詳細を取得しますtxHash、network
get_transaction_receiptログ付きのトランザクションレシートを取得しますtxHash、network
wait_for_transactionトランザクションが確認されるまで待機しますtxHash、confirmations、network
残高とトークン情報
ツール名説明主なパラメーター
get_balanceネイティブトークンの残高を取得しますaddress (アドレス/ENS)、network
get_token_balanceERC20 トークンの残高を確認しますtokenAddress (アドレス/ENS)、ownerAddress (アドレス/ENS)、network
get_allowanceトークンの使用許可を確認しますtokenAddress (アドレス/ENS)、ownerAddress (アドレス/ENS)、spenderAddress (アドレス/ENS)、network
スマートコントラクトとのやり取り
ツール名説明主なパラメーター
get_contract_abiブロックエクスプローラーからコントラクト ABI を取得します(60 以上のネットワークに対応)contractAddress (アドレス/ENS)、network
read_contractスマートコントラクトの状態を読み取ります(必要に応じて ABI を自動取得)contractAddress、functionName、args[]、abiJson (省略可能)、network
write_contract状態を変更する関数を実行します(必要に応じて ABI を自動取得)contractAddress、functionName、args[]、value (省略可能)、abiJson (省略可能)、network
multicall複数の読み取り呼び出しを 1 つの RPC リクエストにまとめます(Multicall3 を使用)calls[] (コントラクト呼び出しの配列)、allowFailure (省略可能)、network
トークンの送金
ツール名説明主なパラメーター
transfer_nativeネイティブトークン(ETH など)を送金しますto (アドレス/ENS)、amount、network
transfer_erc20ERC20 トークンを送金しますtokenAddress (アドレス/ENS)、to (アドレス/ENS)、amount、network
approve_token_spendingトークンの使用を許可しますtokenAddress (アドレス/ENS)、spenderAddress (アドレス/ENS)、amount、network
NFT サービス
ツール名説明主なパラメーター
get_nft_infoNFT(ERC721)のメタデータを取得しますtokenAddress (アドレス/ENS)、tokenId、network
get_erc1155_balanceERC1155 の残高を確認しますtokenAddress (アドレス/ENS)、tokenId、ownerAddress (アドレス/ENS)、network
メッセージ署名
ツール名説明主なパラメーター
sign_message認証と検証(SIWE、オフチェーン署名)用に任意のメッセージに署名しますmessage
sign_typed_dataガス代不要のトランザクション、許可、メタトランザクション用にEIP-712の構造化データに署名しますdomainJson、typesJson、primaryType、messageJson
リソース

サーバーは、以下のMCPリソースURIを通じてブロックチェーンデータを公開します。アドレスを受け付けるすべてのリソースURIでは、ENS名も使用できます。ENS名はアドレスに自動的に解決されます。

ブロックチェーンリソース
リソースURIパターン説明
evm://{network}/chain特定のネットワークのチェーン情報
evm://chainEthereumメインネットのチェーン情報
evm://{network}/block/{blockNumber}ブロック番号で指定したブロックデータ
evm://{network}/block/latest最新のブロックデータ
evm://{network}/address/{address}/balanceネイティブトークンの残高
evm://{network}/tx/{txHash}トランザクションの詳細
evm://{network}/tx/{txHash}/receiptログを含むトランザクションレシート
トークンリソース
リソースURIパターン説明
evm://{network}/token/{tokenAddress}ERC20トークン情報
evm://{network}/token/{tokenAddress}/balanceOf/{address}ERC20トークン残高
evm://{network}/nft/{tokenAddress}/{tokenId}NFT(ERC721)トークン情報
evm://{network}/nft/{tokenAddress}/{tokenId}/isOwnedBy/{address}NFTの所有権の確認
evm://{network}/erc1155/{tokenAddress}/{tokenId}/uriERC1155トークンURI
evm://{network}/erc1155/{tokenAddress}/{tokenId}/balanceOf/{address}ERC1155トークン残高

🔒 セキュリティに関する考慮事項

  • 秘密鍵はトランザクションの署名にのみ使用され、サーバーに保存されることはありません
  • 本番環境で使用する場合は、追加の認証メカニズムの実装を検討してください
  • 本番環境では、HTTPサーバーにHTTPSを使用してください
  • 不正利用を防ぐため、レート制限を実装してください
  • 高額なサービスでは、確認ステップの追加を検討してください

📁 プロジェクト構成

mcp-evm-server/
├── src/
│   ├── index.ts                # Main stdio server entry point
│   ├── server/                 # Server-related files
│   │   ├── http-server.ts      # HTTP server with SSE
│   │   └── server.ts           # General server setup
│   ├── core/
│   │   ├── chains.ts           # Chain definitions and utilities
│   │   ├── resources.ts        # MCP resources implementation
│   │   ├── tools.ts            # MCP tools implementation
│   │   ├── prompts.ts          # MCP prompts implementation
│   │   └── services/           # Core blockchain services
│   │       ├── index.ts        # Operation exports
│   │       ├── balance.ts      # Balance services
│   │       ├── transfer.ts     # Token transfer services
│   │       ├── utils.ts        # Utility functions
│   │       ├── tokens.ts       # Token metadata services
│   │       ├── contracts.ts    # Contract interactions
│   │       ├── transactions.ts # Transaction services
│   │       └── blocks.ts       # Block services
│   │       └── clients.ts      # RPC client utilities
├── package.json
├── tsconfig.json
└── README.md

🛠️ 開発

サーバーを変更または拡張するには:

  1. src/core/services/ 配下の適切なファイルに新しいサービスを追加します
  2. src/core/tools.ts に新しいツールを登録します
  3. src/core/resources.ts に新しいリソースを登録します
  4. src/core/chains.ts に新しいネットワークのサポートを追加します
  5. サーバー設定を変更するには、src/server/http-server.ts のハードコードされた値を編集します

📄 ライセンス

このプロジェクトは、MIT License の条件に基づいてライセンスされています。

コメント

MCP は初めてですか?

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

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