モナドMCPサーバー
このMCP(モデルコンテキストプロトコル)サーバーは、Monadテストネットと連携するように設計されています。開発者がMonadブロックチェーンにアクセスするためのツールと機能一式を提供し、MONトークン残高の確認、トランザクションの送信、スマートコントラクトのデプロイ、ブロックチェーンイベントの監視などが可能です。
MCPとは何ですか?
モデルコンテキストプロトコル(MCP)は、AIモデルが外部ツール、サービス、データソースと安全かつ効果的に連携できるようにする標準化されたインターフェースです。このサーバーはMCPを実装し、Monadブロックチェーンの機能を互換性のあるAIエージェントまたはアプリケーションに公開します。
プロジェクト構造
プロジェクトは次のように構成されています。
主要コンポーネント
src/index.ts
: これはサーバーのメインエントリポイントです。MCPサーバーインスタンスを初期化し、利用可能なすべてのツール(ウォレット、コントラクト、NFT、ブロック)を登録します。src/config/server.ts
: このファイルはMcpServer
サーバーの設定を行います。McpServerインスタンスの名前、バージョン、および機能リストを設定します。また、Monadテストネットと通信するためのViem
パブリッククライアントを初期化し、環境変数から取得した秘密鍵を使用してViem
ウォレットクライアントを作成する関数を提供します。サーバーは通信にStdioServerTransport
を使用します。src/tools/
: このディレクトリには、様々なMCPツールの実装が含まれています。各サブディレクトリは通常、モナドの相互作用の特定の側面に焦点を当てています。walletProvider
: MON トークンの残高と取引を管理します。contractProvider
: スマート コントラクトのデプロイメントとイベントの監視を処理します。nftProvider
: Monad ネットワーク上の NFT を照会するための機能を提供します。blockProvider
: ブロック情報を取得するためのツールを提供します。
前提条件
始める前に、以下がインストールされていることを確認してください。
- Node.js (バージョン 16 以降)
- Node.js パッケージ マネージャー:
npm
、yarn
、またはpnpm
(このプロジェクトの例ではpnpm
を使用しています) - Claude Desktop (または任意の MCP 互換クライアント) を使用してサーバーと対話します。
環境変数 (.env)
このプロジェクトでは、環境変数を使用して機密情報(主に Monad アカウントの秘密鍵)を管理します。
- サンプル ファイルをコピーします
.env.example
のコピーを作成し、名前を.env
に変更します。 .env
を編集: 新しく作成された.env
ファイルをテキスト エディターで開きます。PRIVATE_KEY
を設定:PRIVATE_KEY
変数に Monad アカウントの秘密鍵を入力します。この鍵は、トランザクションの送信やコントラクトのデプロイなどの操作に必要です。重要: 秘密鍵が0x
で始まっていることを確認してください。- セキュリティ:
.env
ファイルを Git リポジトリにコミットしないでください。.gitignoreファイル.gitignore
既にこれを防ぐように設定されていますが、秘密鍵の保護には常に注意してください。
はじめる
Monad MCP サーバーをセットアップして実行するには、次の手順に従います。
- リポジトリのクローンを作成します:まだクローンしていない場合は、GitHub からプロジェクトをクローンします。
- 依存関係をインストール:
pnpm
(またはお好みのパッケージ マネージャー) を使用して、package.json
にリストされているプロジェクトの依存関係をインストールします。 - プロジェクトのビルド:サーバーはTypeScriptで記述されており、JavaScriptにコンパイルする必要があります。ビルドスクリプトを実行してください。このコマンドは、
package.json
で定義されているtsc
(TypeScript コンパイラ) を使用して、src
ディレクトリのソース ファイルをbuild
ディレクトリにコンパイルします。
これでサーバーが構築され、MCP クライアントが使用できるようになりました。
サーバー機能
src/config/server.ts
で定義されているように、サーバーは次の機能を公開します。
get-mon-balance
: アカウントの MON トークン残高を取得します。send-mon-transaction
: あるアカウントから別のアカウントに MON トークンを送信します。deploy-mon-contract
: スマート コントラクトを Monad テストネットにデプロイします。watch-contract-events
: 特定のスマート コントラクトによって発行されたイベントを監視および報告します。query-mon-nft
: Monad ネットワーク上の非代替トークンに関する情報を照会します。get-latest-block
: Monad テストネット上の最新のブロックの詳細を取得します。get-block-by-number
: ブロック番号で特定のブロックを取得します。
クライアントにMCPサーバー構成を追加する
このサーバーをMCP対応クライアント(Claude Desktopなど)で使用するには、クライアントの設定にサーバーの設定を追加する必要があります。具体的な方法はクライアントによって異なりますが、通常はサーバーの実行方法を指定します。
以下に構成スニペットの例を示します。
構成フィールドの説明:
"monad-mcp"
: クライアント内でこのサーバー構成に割り当てる一意の名前。"command": "node"
: サーバーが Node.js アプリケーションであることを指定します。"args"
:node
コマンドに渡す引数の配列。- 最初の引数は、サーバーのコンパイル済みエントリポイントへのパスです:
/absolute/path/to/your/project/monad-mcp-server/build/index.js
。/absolute/path/to/your/project//absolute/path/to/your/project/``monad-mcp-server
リポジトリをクローンした場所への実際の絶対パスに置き換えてください。
- 最初の引数は、サーバーのコンパイル済みエントリポイントへのパスです:
"env"
: サーバープロセスの環境変数を設定するオブジェクト。"PRIVATE_KEY"
: ここで秘密鍵を設定できます。ただし、セキュリティ強化のため、通常は.env``.env
の値が上書きされる可能性があります。
注: "args"
のパスが正しく、プロジェクト ディレクトリ内のbuild/index.js
ファイルを指していることを確認してください。
その他のリソース
使用されるテクノロジーと関連する概念の詳細については、次の公式ドキュメントを参照してください。
- モデルコンテキストプロトコル(MCP)ドキュメント
- モナドドキュメント
- Viem ドキュメント(Viem はこのプロジェクトで使用される Ethereum/Monad クライアント ライブラリです)
この包括的な README は、Monad MCP サーバー、そのセットアップ、および使用方法についての確かな理解を提供します。
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
AI モデルが Monad テストネットと対話してトークン残高を確認したり、トランザクションを送信したり、スマート コントラクトを展開したりできるようにするモデル コンテキスト プロトコル サーバー。
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI agents to interact with 30+ Ethereum-compatible blockchain networks, providing services like token transfers, contract interactions, and ENS resolution through a unified interface.Last updated -28230252TypeScriptMIT License
- -securityFlicense-qualityA Model Context Protocol server that enables AI assistants to access Flow blockchain data and perform operations such as checking balances, resolving domains, executing scripts, and submitting transactions.Last updated -JavaScript
- -securityFlicense-qualityA Model Context Protocol server that enables AI agents to interact with the Flow blockchain through RPC calls, supporting account balances, script execution, transactions, domain resolution, and contract interactions.Last updated -82JavaScript
- -securityAlicense-qualityA production-ready Model Context Protocol server implementation that connects AI assistants to the TON blockchain, allowing them to query wallet balances, transaction details, smart contracts, and other blockchain data.Last updated -TypeScriptMIT License