Hedera テストネット ミラー ノード MCP サーバー
このリポジトリには、Hedera Testnet Mirror Node APIと連携するModel Context Protocol(MCP)サーバーが含まれています。このサーバーは、MCPサーバー作成用のTypeScriptフレームワークであるFastMCPを使用して構築されています。入力検証にはZodスキーマを使用しています。
特徴
エンドポイント統合: OpenAPI 仕様形式で定義された Hedera ミラー ノード API を MCP 互換ツールに自動的に変換します。
サーバー送信イベント (SSE) サポート: クライアントは SSE トランスポート経由でこの MCP サーバーに接続できません。
スキーマ検証: Zod を使用して、リクエスト パラメータが定義されたスキーマに準拠していることを確認します。
Related MCP server: MCP-OpenAPI
前提条件
サーバーを実行する前に、以下がインストールされていることを確認してください。
Bun 、または Typescript を直接実行できるその他の環境。
インストール
(1)リポジトリのクローンを作成する
(2)プロジェクトディレクトリに移動する
(3)依存関係をインストールする
使用法
MCP サーバーを起動するには:
起動が成功すると、次のように表示されます。
サーバーは構成された SSE エンドポイントを介してアクセス可能になります。
http://localhost:3333/hedera-testnet-mirror-node-api/sse
プロジェクト構造
mcpServer.ts: MCP サーバーを初期化して起動するエントリ ポイント。openApiZod.ts: ミラー ノード API エンドポイント定義と、zodios(zodスキーマ定義が拡張されたaxiosなど) を使用する API クライアントが含まれています。このファイルは
openapi-zod-clientを使用してプログラム的に生成され、いくつかの手動変更が加えられていることに注意してください。
仕組み
(1)APIクライアントの作成
createApiClient関数を使用して、Hedera Testnetミラーノード用のAPIクライアントが作成されます。MCPサーバーは、このHTTP APIクライアントと独自のSSEトランスポート間のプロキシとして機能します。
(2)エンドポイント変換:
endpointDefinitionsからの各エンドポイント定義は、 convertZodiosToMcp関数によって処理されます。
エンドポイントが
GETメソッドを使用していることを検証します。パラメータを Zod スキーマにマップします。
対応する API 呼び出しを行って結果を返す実行関数を定義します。
ツールを MCP サーバーに登録します。
(3)サーバーの初期化:
MCP サーバーは SSE トランスポートを使用して起動されます。
依存関係
FastMCP : MCP サーバーを構築するためのフレームワーク。
Zod : TypeScript ファーストのスキーマ宣言および検証ライブラリ。
openapi-zod-client : OpenAPI 仕様ファイルから Zodios コードを生成します。
著者
ライセンス
マサチューセッツ工科大学