mcp-hd-wallet について
mcp-hd-walletはCrypto APIsのHD Wallet機能をMCPサーバーとして提供し、EVM、UTXO、XRPウォレットの追跡・管理に使えます。拡張公開鍵から同期やアドレス導出を行い、秘密鍵はCrypto APIsに送信されません。
主な機能
- 01xPub、yPub、zPubによるウォレット同期
- 02受取アドレスと変更アドレスの導出
- 03残高、取引、資産の集計
- 04UTXOウォレットの未使用出力を一覧表示
- 05ローカル署名用の未署名取引を準備
活用シーン
- 01拡張公開鍵から導出したアドレスを追跡
- 02ウォレット全体の残高と取引を確認
- 03ローカル署名する取引を作成
MCP 対応
MCPサーバーとして、クライアントにウォレット管理、アドレス導出、残高・取引照会、取引準備のツールを公開し、Crypto APIsを使ってウォレットデータを追跡します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
5掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | number | いいえ | 1 ページあたりの最大結果数(list-wallets のみ) |
| action | enum | はい | 実行する操作sync-wallet | list-wallets | activate-wallet | delete-wallet | get-status |
| offset | number | いいえ | ページネーションのオフセット(list-wallets のみ) |
| context | string | いいえ | リクエストの任意のコンテキスト。レスポンスでそのまま返されます |
| network | enum | いいえ | ネットワーク;すべてのアクションで必須mainnet | testnet | mordor | nile | sepolia |
| blockchain | enum | いいえ | ブロックチェーン。すべての操作で必須bitcoin | bitcoin-cash | litecoin | dogecoin | dash | zcash | ethereum | ethereum-classic | binance-smart-chain | tron | xrp |
| confirmationToken | string | いいえ | 以前のプレビュー応答に含まれる確認トークンです。重要:このトークンを渡す前に、警告と影響をユーザーに提示し、明示的な承認を得る必要があります。自動確認は絶対に行わず、必ず先にユーザーに確認してください。トークンの有効期限は 60 秒です。 |
| extendedPublicKey | string | いいえ | xPub/yPub/zPub; required for sync, activate, delete, get-status |
詳細
@cryptoapis-io/mcp-hd-wallet
Crypto APIs の HD Wallet(Wallet as a Service)製品向け MCP サーバーです。**拡張公開鍵(xPub/yPub/zPub)**を使って HD ウォレットを追跡・管理します。秘密鍵がデバイスの外に出ることはありません。
API バージョン: Crypto APIs のバージョン 2024-12-12 に対応しています。
仕組み
HD(階層的決定性)ウォレットでは、すべてのアドレスが単一の拡張公開鍵(xPub)から生成されます。xPub を Crypto APIs と同期すると、サービスが派生したすべてのアドレス、残高、トランザクションを追跡します。
- xPub を同期する — 追跡を開始するには、拡張公開鍵(xPub、yPub、または zPub)を指定します
- アドレスを生成する — xPub から新しい受取用アドレスとおつり用アドレスを生成します
- ウォレットデータを照会する — 派生したすべてのアドレスの残高を取得し、トランザクションと UTXO を一覧表示して、資産を確認します
- トランザクションを準備する —
@cryptoapis-io/mcp-signerを使ったローカル署名に対応できる、未署名のトランザクションを構築します
秘密鍵が Crypto APIs に送信または保存されることはありません。アドレスの生成と残高の追跡には、拡張公開鍵のみを使用します。
機能
- 拡張公開鍵(xPub/yPub/zPub)を使ってウォレットを同期
- xPub から受取用アドレスとおつり用アドレスを生成
- 派生したすべてのアドレスの集計残高、トランザクション、資産を照会
- UTXO ベースのウォレットの UTXO を一覧表示
- ウォレットから未署名のトランザクションを直接準備
- EVM(Ethereum、Ethereum Classic、BSC、Polygon、Avalanche(C-Chain)、Arbitrum、Base、Optimism、Tron)、UTXO(Bitcoin、Bitcoin Cash、Litecoin、Dogecoin、Dash、Zcash)、および XRP に対応
前提条件
- Node.js 18+
- Crypto APIs アカウントと API キー(サインアップ | API キーを取得)
インストール
npm install @cryptoapis-io/mcp-hd-wallet
または、Crypto APIs のすべての MCP サーバーをインストールします:npm install @cryptoapis-io/mcp
使用方法
# Run with API key
npx @cryptoapis-io/mcp-hd-wallet --api-key YOUR_API_KEY
# Or use environment variable
export CRYPTOAPIS_API_KEY=YOUR_API_KEY
npx @cryptoapis-io/mcp-hd-wallet
# HTTP transport (listens on 127.0.0.1; see "Exposing the server beyond localhost")
npx @cryptoapis-io/mcp-hd-wallet --transport http --port 3000 --api-key YOUR_API_KEY
Claude Desktop
Claude Desktop の設定(macOS では ~/Library/Application Support/Claude/claude_desktop_config.json、Windows では %APPDATA%\Claude\claude_desktop_config.json)に追加します:
{
"mcpServers": {
"cryptoapis-hd-wallet": {
"command": "npx",
"args": ["-y", "@cryptoapis-io/mcp-hd-wallet"],
"env": {
"CRYPTOAPIS_API_KEY": "your_api_key_here"
}
}
}
}
Cursor
.cursor/mcp.json(プロジェクト)または ~/.cursor/mcp.json(グローバル)に追加します:
{
"mcpServers": {
"cryptoapis-hd-wallet": {
"command": "npx",
"args": ["-y", "@cryptoapis-io/mcp-hd-wallet"],
"env": {
"CRYPTOAPIS_API_KEY": "your_api_key_here"
}
}
}
}
MCP Inspector
npx @modelcontextprotocol/inspector npx @cryptoapis-io/mcp-hd-wallet --api-key YOUR_API_KEY
n8n
- HTTP モードでサーバーを起動します:
npx @cryptoapis-io/mcp-hd-wallet --transport http --port 3000 --api-key YOUR_API_KEY - n8n ワークフローに AI Agent ノードを追加します
- Tools で MCP Client Tool を追加し、URL に
http://localhost:3000/mcpを設定します
Docker での n8n: コンテナ内の
localhostはご利用のマシンを指しません。--host 0.0.0.0とMCP_AUTH_TOKENを設定してサーバーを起動し(localhost の外部にサーバーを公開するを参照)、URL にhttp://host.docker.internal:3000/mcpを使用して、MCP Client Tool の認証情報にAuthorization: Bearer <token>ヘッダーを追加します。
すべてのサーバーのデフォルトポートは 3000 です。複数のサーバーを実行する場合は、
--portを使って異なるポートを割り当ててください。
利用可能なツール
manage_hd_wallet
HD ウォレットを管理します(同期、有効化、削除、一覧表示、ステータス確認)。
| アクション | 説明 |
|---|---|
sync-wallet | 拡張公開鍵(xPub/yPub/zPub)を使って HD ウォレットを同期 |
list-wallets | 同期済みの HD ウォレットをすべて一覧表示 |
activate-wallet | 以前に同期したウォレットを有効化 |
delete-wallet | 同期済みのウォレットを削除 |
get-status | ウォレットの同期ステータスを取得 |
hd_wallet_data_utxo
UTXO HD ウォレットのデータを照会します(Bitcoin、Bitcoin Cash、Litecoin、Dogecoin、Dash、Zcash)。
| アクション | 説明 |
|---|---|
get-details | ウォレットの残高と詳細を取得 |
derive-receiving-address | 次の受取用アドレスを生成 |
derive-change-address | 次のおつり用アドレスを生成 |
list-addresses | 派生したすべてのアドレスを一覧表示 |
list-transactions | ウォレットのトランザクションを一覧表示 |
list-utxos | 未使用のトランザクション出力を一覧表示 |
list-assets | ウォレットが保有する資産を一覧表示 |
prepare-transaction | ウォレットから未署名のトランザクションを準備 |
hd_wallet_data_evm
EVM の HD ウォレットデータ(Ethereum、Ethereum Classic、BSC、Polygon、Avalanche(C-Chain)、Arbitrum、Base、Optimism、Tron)を照会します。
| アクション | 説明 |
|---|---|
get-details | ウォレットの残高と詳細を取得します |
derive-receiving-address | 次の受取アドレスを導出します |
list-addresses | 導出済みのすべてのアドレスを一覧表示します |
list-transactions | ウォレットのトランザクションを一覧表示します |
list-assets | ウォレットが保有するトークンを一覧表示します |
prepare-transaction | ウォレットから送信する未署名のトランザクションを準備します |
hd_wallet_data_xrp
XRP の HD ウォレットデータを照会します。
| アクション | 説明 |
|---|---|
get-details | ウォレットの残高と詳細を取得します |
derive-receiving-address | 次の受取アドレスを導出します |
list-addresses | 導出済みのすべてのアドレスを一覧表示します |
list-transactions | ウォレットのトランザクションを一覧表示します |
list-assets | ウォレットが保有する資産を一覧表示します |
CLI 引数
| 引数 | 説明 | デフォルト |
|---|---|---|
--api-key | Crypto APIs の API キー | CRYPTOAPIS_API_KEY 環境変数 |
--transport | トランスポートの種類:stdio または http | stdio |
--host | HTTP ホスト(リモート接続を受け付けるには 0.0.0.0 を使用します。--api-key で認証トークンを指定する必要があります) | 127.0.0.1 |
--auth-token | 呼び出し元が送信する必要のあるベアラートークン(Authorization: Bearer <token>)。MCP_AUTH_TOKEN 環境変数の使用を推奨します | MCP_AUTH_TOKEN 環境変数 |
--allowed-hosts | ループバック以外にバインドする場合の、カンマ区切りの Host ヘッダー許可リスト | — |
--port | HTTP ポート | 3000 |
--path | HTTP パス | /mcp |
--stateless | ステートレス HTTP モードを有効にします | false |
HTTP API キーのモード
HTTP トランスポートを使用する場合、サーバーは次の 2 つの API キーモードをサポートします。
--api-keyを指定する場合: すべてのリクエストでこのキーが使用されます。x-api-keyリクエストヘッダーは無視されます。--api-keyを指定しない場合: 各リクエストに、有効な Crypto APIs キーを含むx-api-keyヘッダーを指定する必要があります。これにより、各ユーザーが独自のキーを提供するパブリックサーバーをホストできます。
# Per-request key mode (multi-tenant)
npx @cryptoapis-io/mcp-hd-wallet --transport http --port 3000
# Clients send x-api-key header with each request
localhost の外部にサーバーを公開する
HTTP モードはデフォルトで 127.0.0.1 をリッスンするため、同じマシン上のプロセスからのみ接続できます。
他のマシンやコンテナーからの接続を受け付けるには、明示的にバインドし、ポートを保護してください。
# Startup-key mode: callers must present the token (the server refuses to start without one)
export MCP_AUTH_TOKEN=$(openssl rand -hex 32)
npx @cryptoapis-io/mcp-hd-wallet --transport http --host 0.0.0.0 --port 3000 --api-key YOUR_API_KEY \
--allowed-hosts mcp.internal.example
# Clients send: Authorization: Bearer $MCP_AUTH_TOKEN
# Per-request key mode: no startup key, every request must carry the caller's own x-api-key
npx @cryptoapis-io/mcp-hd-wallet --transport http --host 0.0.0.0 --port 3000
--allowed-hosts は、ループバックにバインドされていない場合に Host ヘッダーを制限します(DNS リバインディング対策)。--auth-token よりも MCP_AUTH_TOKEN の使用を推奨します。コマンドライン引数はプロセス一覧に表示されるためです。
Stdio トランスポートでは、起動時に必ず API キーが必要です。
重要:API キーが必要です
警告: 有効な API キーを使用せずにリクエストを行った場合、または誤った API キーを使用した場合、Crypto APIs エコシステムで IP アドレスが禁止されることがあります。サーバーを起動する前に、必ず有効な API キーが設定されていることを確認してください。
リモート MCP サーバー
Crypto APIs は、https://ai.cryptoapis.io/mcp で HTTP Streamable トランスポート経由ですべてのツールを利用できる、公式のリモート MCP サーバーを提供しています。API キーを x-api-key ヘッダーで渡してください。インストールは不要です。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。