Hedera MCP Server について
LangChain ラッパーを介して自然言語のリクエストを処理し、Hedera ネットワーク上で操作する MCP サーバーです。エージェント構成から Hedera の機能を利用したいユーザー向けです。
主な機能
- 01LangChain プロキシ経由でリクエストを処理
- 02Hedera ネットワーク操作の実行
- 03トークン作成と HBAR の送金
- 04スマートコントラクトとの連携
- 05トークンによる接続認証
活用シーン
- 01自然言語で Hedera 操作を実行
- 02トークンの作成や HBAR の送金
- 03Hedera スマートコントラクトの呼び出し
MCP 対応
MCP サーバーはリクエストを稼働中の LangChain プロキシに転送し、Hedera ネットワーク上の操作を実行します。SSE 接続を提供し、X-MCP-AUTH-TOKEN ヘッダーによる認証が必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Hedera MCP サーバー
このプロジェクトは、Langchain ラッパーと連携して Hedera ネットワークとやり取りするサーバーを提供します。Langchain のセットアップを通じて自然言語コマンドを処理し、Hedera の操作を実行できます。
⚠️ 注意
master ブランチの現在のバージョンは別のリポジトリから移動されたため、一時的に hedera-agent-kit パッケージが含まれています。このパッケージはまだ正式にリリースされていないため、GitHub から取得する依存関係として含まれています。
前提条件
始める前に、以下がインストールされていることを確認してください。
- Node.js(20 以降を推奨)
- pnpm(
npm install -g pnpm) - Git
クイックスタート
全体は、実行する必要のある 2 つのサービスで構成されています。
-
リポジトリをクローンします。
git clone https://github.com/mateuszm-arianelabs/hedera-mcp-server.git cd hedera-mcp-server -
各パッケージの環境変数を設定します。
- .env.example ファイルをコピーし、次の 2 か所に .env を作成します。
- packages/langchain-proxy
- packages/mcp-server
- .env.example ファイルをコピーし、次の 2 か所に .env を作成します。
.env ファイルを編集し、必要な設定値(Hedera のキーやネットワークの詳細など)を入力します。
API_URL= # url to langchain proxy endpoint
PORT= # port on which MCP server will be started
MCP_AUTH_TOKEN= # array of accepted tokens separated by comas
LANGCHAIN_PROXY_TOKEN= # token for accessing the Langchain proxy
-
依存関係をインストールします。
pnpm install -
Lang chain Proxy Service を起動します
pnpm run dev:lc(または、本番モード用に設定されている場合は
pnpm startを実行します)。 -
MCP サーバーを実行します。
pnpm run dev:mcp(または、本番モード用に設定されている場合は
pnpm startを実行します)。
利用可能なツール
- Hedera とやり取りする: この中核機能により、サーバーは実行中の Langchain ラッパーサービスにリクエストを送信できます。ラッパーはリクエストを解釈し、Hedera ネットワーク上で対応する操作(トークンの作成、HBAR の転送、スマートコントラクトとのやり取りなど)を実行します。
Visual Studio Code の設定
MCP サーバーへの接続を確立するには、X-MCP-AUTH-TOKEN ヘッダーが必要です。
以下は、Visual Studio Code の .vscode/settings.json 設定例です。
{
"mcp": {
"inputs": [],
"servers": {
"hedera": {
"type": "sse",
"url": "http://localhost:3000/sse",
"headers": { "X-MCP-AUTH-TOKEN": "your-mcp-auth-token"}
}
}
}
}
注:現在、Cursor IDE では X-MCP-AUTH-TOKEN などの追加ヘッダーを渡すことはサポートされていません。
出典:Cursor フォーラム
ただし、MCP の統合は急速に進化しており、今後の Cursor やその他の MCP クライアントツールのバージョンでは、カスタムヘッダーがサポートされる見込みです。
OAuth への移行の可能性
2025 年 3 月時点で、公式の MCP OAuth 仕様は公開されていますが、依然としていくつかの制限や実装上の課題があります。このアプローチは改訂される可能性があります(出典)。
今後の OAuth 統合に備えて、MCP と OAuth のセットアップ例を紹介するリポジトリを以下に示します。
これらは、今後の開発段階で MCP サーバー向けの OAuth ベースの認証を検討する際の参考として利用できます。
簡略化されたアーキテクチャ

API ドキュメント(langchain-proxy)
GET /sse
MCP サーバーとの Server-Sent Events(SSE)接続を確立します。
リクエスト
GET /sse
X-MCP-AUTH-TOKEN: example-token
| ヘッダー | 型 | 説明 |
|---|---|---|
| X-MCP-AUTH-TOKEN | 文字列 | サーバーの env ファイルにあるトークン(MCP_AUTH_TOKEN 変数)のいずれかと一致する必要がある、必須の認証トークン |
レスポンス
認証に成功すると、コンテンツタイプが text/event-stream の SSE 接続を確立します。
ステータスコード
200 OK:接続が正常に確立されました
401 Unauthorized:認証トークンが無効か、指定されていません
エラーレスポンス
{
"content": [
{
"type": "text",
"content": "Unauthorized: Invalid or missing X-MCP-AUTH-TOKEN header"
}
]
}
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。