IronWallet について
IronWallet は、AI エージェントがノンカストディアル暗号資産ウォレットを調べ、操作するためのローカル MCP サーバーです。シードフレーズはホスト上で暗号化され、署名もローカルで行われます。複数ネットワークの残高確認、送金、スワップに対応します。
主な機能
- 01ローカル暗号化キーストアと署名
- 02ネイティブ通貨とトークンの残高確認
- 03送金手数料の見積もりと実行
- 04トークンスワップの見積もりと実行
- 05ウォレットごとの操作制限
活用シーン
- 01残高と取引履歴の確認
- 02暗号資産送金前の手数料見積もり
- 03対応ネットワーク間でのトークンスワップ
- 04ウォレットポリシーによる送金とスワップの制限
MCP 対応
stdio 経由で、ウォレット管理、残高、履歴、送金、スワップのツールを MCP クライアントに提供します。署名はローカルで行われ、ツールの入出力にシードフレーズは含まれません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
18掲載時のツール一覧 · 3 週間前に更新
このツールにパラメーターはありません。
詳細
@ironwallet/mcp-server
IronWallet 用のローカル MCP サーバー(ironwallet-mcp バイナリ)です。
IronWallet MCP サーバーにより、AI エージェントは非カストディアル型ウォレットへ安全にアクセスできます。シードフレーズはホスト上で暗号化されたまま保持され、このマシンの外に出ることはありません。エージェントを経由することもありません。エージェントは残高の取得、ローカルでの署名、トークンの送金、10 以上のネットワーク間でのスワップを実行できます。
IronWallet アプリとシード互換です。
トランザクションごとの確認 UI はありません。
ホットウォレット専用です。 残高を少額に制限した専用ウォレットを使用してください。セキュリティをご覧ください。
製品ページ:ironwallet.io/ai
要件: Node.js 20 以降(npx)。
インストール
npx -y @ironwallet/mcp-server
または、MCP 設定(Cursor の場合は .cursor/mcp.json またはグローバル設定)に追加します。
{
"mcpServers": {
"ironwallet": {
"command": "npx",
"args": ["-y", "@ironwallet/mcp-server"]
}
}
}
npx は公開済みの最新ビルドを取得します。依存関係のインストール中は、初回起動に約 30 秒かかる場合があります。MCP クライアントがタイムアウトする場合は、ターミナルで同じコマンドを一度実行してキャッシュを準備してから、再接続してください。
ironwallet.io/ai のプラグインインストールを使うと、これらの設定が自動的に行われます。
仕組み
MCP client → ironwallet-mcp (stdio)
├── encrypted keystore on disk
├── signs on this machine
└── HTTPS to IronWallet backends
ニーモニックがツールの入力や出力、エージェント向けのログ、バックエンド/LLM/MCP クライアントのクラウドへのリクエストに現れることはありません。
機能
| 領域 | 機能 |
|---|---|
| ネットワーク | Ethereum、BSC、Polygon、Base、Arbitrum、Optimism、Avalanche、Tron、Bitcoin、Litecoin、Dogecoin、Solana、XRP、TON |
| ウォレット | 作成、インポート、一覧表示、入金用 QR、バックアップ(秘密情報の操作にはローカルブラウザーを使用) |
| 残高 | ネイティブコインとトークン |
| 送金 | 手数料の見積もりと、IronWallet の送金リレーを介した送信 |
| スワップ | IronWallet を介した見積もりと実行 |
| ポリシー | set_wallet_policy で設定するウォレットごとの任意の制限(readOnly、maxPerTxUsd、送金先の許可リスト)。send_transfer と execute_swap に適用されます。 |
ツール
| ツール | 用途 | 資金を移動しますか? |
|---|---|---|
get_runtime_info | 実行中のバージョンと公開済み npm パッケージの比較 | いいえ |
prepare_update | 次回の再起動に向けて npm の更新を準備 | いいえ |
list_wallets | 名前、アドレス、policy | いいえ |
accept_mcp_consent | MCP の免責事項へのチャット上の同意を記録 | いいえ |
create_wallets | 新しいウォレットを作成。ブラウザー用の backup_url を返す | いいえ |
open_wallet_manager | インポート/作成/バックアップ/削除を行うローカルブラウザー UI | いいえ |
set_wallet_policy | ウォレットごとの制限(readOnly、maxPerTxUsd、許可リスト)を置き換え | いいえ |
get_deposit_qr | PNG QR(チャットで試し、利用できない場合はローカルの qr_url) | いいえ |
get_balance | ネイティブコインまたはトークンの残高 | いいえ |
get_transaction_history | 公開エクスプローラーから最近のトランザクションを取得(ページ分割) | いいえ |
estimate_transfer | 手数料の見積もり。ブロードキャストは行わない | いいえ |
send_transfer | ローカルで署名して送信 | はい |
get_operation_status | 送金のステータスをポーリング | いいえ |
list_swap_networks | スワップで利用可能なネットワーク | いいえ |
list_swap_assets | 売却/購入するアセットのカタログ | いいえ |
estimate_swap | 見積もり(期限切れになる場合があります) | いいえ |
execute_swap | 最新の見積もり → 署名 → スワップ | はい |
get_swap_status | スワップのステータスをポーリング | いいえ |
シードを受け取ったり返したりするツールはありません。インポート、バックアップ、削除はローカルブラウザー(open_wallet_manager/backup_url)でのみ行ってください。
ウォレット
- 作成:
create_wallets— エージェントに名前とアドレスが返されます。リカバリーフレーズを表示してバックアップするには、ブラウザーでbackup_urlを開きます。 - インポート/バックアップ:
open_wallet_manager— ループバック接続のみのページです。フレーズの入力や表示はブラウザー内でのみ行われます。 - 削除: マネージャーの「削除」ボタンを使用します。別の確認ページで、ユーザーにウォレット名を再入力するよう求めます。バックアップされていないウォレットの場合は、リカバリーフレーズが破棄されることへの明示的な承認も必要です。資金は移動されません。この操作に対応する MCP ツールはありません。
- 一覧表示:
list_wallets - 入金用 QR コード:
get_deposit_qr— PNG(オンザフライで生成)とqr_urlが返されます。ホストが画像を表示できる場合はチャットに表示し、できない場合はqr_urlを開きます。1 つのチェーンを指定するにはnetworkを渡します。ウォレットマネージャーでは、各アドレスの横にある QR コードボタンも使用できます。
ブラウザーページは推測困難なパスで 127.0.0.1 にバインドされ、15 分間操作がないとシャットダウンします。
送金
list_wallets/get_balanceestimate_transfer(任意)send_transfer- 操作の完了を待つ必要がある場合は
get_operation_status
手数料が残高内に収まるよう、send_transfer が金額をわずかに減額することがあります。その場合はレスポンスに記載されます。
スワップ
スワップは送金とは別のフローです。
list_swap_networkslist_swap_assets(direction=fromを実行し、その後、選択した売却資産を指定してdirection=toを実行)- カタログの network、symbol、address、decimals を
estimate_swap/execute_swapにコピーします(特にトークンの場合)。 - プレビューには
estimate_swapを使用するか、直接execute_swapを実行します。 execute_swapのoperationIdを使ってget_swap_statusで状態を確認します(estimate_swapは見積もりであり、状態はありません)。
便利なオプション
maxMode: true— サービスが許可する範囲で残高を最大限売却します(手数料はサーバー側で考慮されます)。maxModeを設定した場合、amountは省略できます。- ネイティブコインの場合のみ
addressを省略します。トークンの場合は、必ずlist_swap_assetsのaddress(可能であればdecimalsも)を渡してください。
運用上の注意
- 見積もりには有効期限があります。
execute_swap(最新の見積もりを使用)を優先してください。実行がタイムアウトした場合は、再試行する前に 状態を確認 してください。実行を安易に再実行しないでください。 - ウォレットポリシー:
readOnlyは送金とスワップをブロックします。maxPerTxUsdは、操作時点で IronWallet バックエンドのレートを使い、送金額(または修正後のスワップ売却額)を USD 換算して評価します。レートを取得できない場合、操作は拒否されます(フェイルクローズ)。受取先の許可リストはsend_transferに適用されます。set_wallet_policyはポリシー全体を置き換えるため、先にlist_wallets.policyを確認してください。
設定
通常の使用では、MCP 設定に貼り付けるものはありません。初回起動時に、サーバーはリレー API キー、キーストアのラッピングシークレット、デバイス ID を ~/.ironwallet-mcp/ 配下に書き込みます(keystore-passphrase、relay-api-key、device-id。POSIX では所有者のみアクセス可能な 0600、Windows では NTFS ACL)。上書きする場合にのみ環境変数を設定してください。
ユーザー向けのバックアップは、これらのファイルではなく、ウォレットマネージャーのリカバリーフレーズです。
| 変数 | デフォルト | 説明 |
|---|---|---|
IW_PASSPHRASE | ローカルで生成 | キーストアのラッピングシークレットを上書きします |
IW_READ_ONLY | false | プロセス全体に適用されます。send_transfer と execute_swap を拒否します。true/1 で有効、false/0/off/no で無効になります。ウォレットごとの policy.readOnly とは別の設定です。 |
IW_RELAY_API_KEY | 生成された UUID | x-api-key を上書きします |
IW_DEVICE_ID | 生成された UUID | デバイス UUID を上書きします(キーストアディレクトリごとに固定)。X-Device-Id: web:<uuid> として送信されます。すでに platform: プレフィックスが付いた値は、そのまま送信されます |
IW_KEYSTORE_DIR | ~/.ironwallet-mcp | キーストアディレクトリ |
IW_RATES_API_URL | 組み込みプロファイル | maxPerTxUsd の評価に使用するレートバックエンド。プロファイルに設定されていない場合、USD の上限は拒否されます(フェイルクローズ) |
IW_STATIC_RESOURCES_URL | 組み込みプロファイル | 静的アセットカタログ(トークン → レート ID) |
IW_HTTP_TIMEOUT_MS | 15000 | 一般的な HTTP タイムアウト(1 秒~120 秒) |
IW_HTTP_FORWARD_TIMEOUT_MS | 60000 | ブロードキャスト形式の呼び出し向けの長いタイムアウト。クライアントのタイムアウトが必ずしも操作の失敗を意味するとは限りません。ステータスを確認してください |
IW_HTTP_RETRIES | 2 | 安全/冪等な呼び出しの再試行回数。ブロードキャストは自動再試行されません |
IW_HISTORY_APIS | 組み込みプロファイル | JSON { "<network>": [{ "kind", "url"? }, …] }。get_transaction_history で使用する、ネットワークごとの履歴インデクサーのリスト。順番に試行されます。種類:etherscan、nodereal、tronscan、trongrid、esplora、blockcypher、solana-rpc、toncenter、tonapi、xrp-rpc |
IW_TON_API_KEY | 未設定 | TonCenter API キー。キーなしの TonCenter は IP ごとに約 1 リクエスト/秒です(同じ NAT の背後にあるすべてのプロセスで共有されます) |
IW_TONAPI_KEY | 未設定 | tonapi 履歴フォールバック用の tonapi.io Bearer トークン。キーなしの場合は IP ごとに約 1 リクエスト/秒です |
IW_LOG_ENABLED | 1 | ログファイルへの JSONL 診断出力(無効にするには 0) |
IW_LOG_FILE | {keystoreDir}/logs/iw-mcp-YYYY-MM-DD.jsonl | ログのパス |
IW_LOG_LEVEL | info | debug/info/warn/error |
IW_LOG_STDERR | 0 | ログを stderr にも出力します(stdout は MCP 用に確保されています) |
セキュリティ
- シードは保存時に暗号化されます。ツールの結果、エージェントのチャット、バックエンドへのリクエストにシードが含まれることはありません。
- エージェントは再確認なしで資金を移動できます。任意のウォレットポリシー(
set_wallet_policyで設定するreadOnly、maxPerTxUsd、送金先の許可リスト)はデフォルトで無効で、send_transferとexecute_swapの両方に適用されます。 - キーストアとラッピングシークレットを持つ人は、資金を管理できます。漏えいしたシードを無効化することはできません。
- タイムアウトは必ずしも失敗を意味しません。送金やスワップを再試行する前に、ステータスを確認してください。
- デスクトップ/stdio のみです。スマートフォンやリモートエージェントには、信頼できるデバイス上で署名を維持する設計が必要です。
- ここにメインウォレットを置かないでください。少額のホットウォレットを使用してください。
詳細および非公開の脆弱性報告については、SECURITY.md をご覧ください。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。