IronWallet
io.ironwallet由 ironwallet.io 发布v1.2.1更新于 Oct 24, 2026
Non-custodial crypto wallet MCP: check balances, sign and send transfers, and swap tokens locally.
概览
本地非托管加密钱包 MCP 服务器,让 AI 助手查询余额、签名并发送转账,以及在多条网络上兑换代币。
- 可以做什么
- 查询钱包余额、交易历史与收款二维码
- 估算并发送转账,随后轮询操作状态
- 列出可兑换网络与资产、获取报价、执行兑换并轮询兑换状态
- 创建钱包、打开本地浏览器管理页进行导入、备份与删除,并设置单钱包支出策略
- 查看运行版本并准备 npm 更新
- 适用场景
- 适合让助手在自己桌面上操作一个小额热钱包:在对话中查余额、转代币或跨链兑换。不适合主钱包,也不适合手机或远程代理场景。
- 运行要求
- 需要 Node.js 20+ 与 npx,以本地 stdio 进程在桌面运行。日常使用无需配置:首次启动会在本地密钥库目录写入中继 API 密钥、密钥库包装密钥和设备 ID。可选覆盖项包括 IW_PASSPHRASE、IW_READ_ONLY、IW_RELAY_API_KEY、IW_DEVICE_ID、IW_KEYSTORE_DIR 和 IW_TON_API_KEY。需要访问 IronWallet 后端与公共区块浏览器的网络。
安装
在 SourceWeft 中
- 打开 控制台中的 IronWallet,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
@ironwallet/mcp-server
Local MCP server for IronWallet (ironwallet-mcp bin).
The IronWallet MCP server gives AI agents secure access to a non-custodial wallet. Seed phrases stay encrypted on the host and never leave this machine — they never pass through the agent. Agents can retrieve balances, sign locally, transfer tokens, and swap across 10+ networks.
Seed-compatible with the IronWallet app.
There is no per-transaction confirmation UI.
Hot-wallet only. Use a dedicated wallet with limited balance. See Security.
Product page: ironwallet.io/ai
Requirements: Node.js 20+ (npx).
Install
Or add to MCP config (Cursor: .cursor/mcp.json or global):
npx pulls the latest published build. First launch can take ~30s while dependencies install. If the MCP client times out, run the same command once in a terminal to warm the cache, then reconnect.
The plugin install on ironwallet.io/ai wires this up automatically.
How it works
The mnemonic never appears in tool inputs/outputs, logs meant for the agent, or requests to backends / the LLM / the MCP client’s cloud.
Features
Tools
No tool accepts or returns a seed. Import, backup, and delete only in the local browser (open_wallet_manager / backup_url).
Wallets
- Create:
create_wallets— the agent gets names and addresses; openbackup_urlin a browser to view and back up recovery phrases. - Import / back up:
open_wallet_manager— loopback-only page; the phrase is typed or shown only in the browser. - Delete: the Delete button in the manager. A separate confirmation page asks the user to retype the wallet name; a wallet that was never backed up also needs an explicit acknowledgement that its recovery phrase is destroyed. Funds are not moved. There is no MCP tool for this.
- List:
list_wallets - Deposit QR:
get_deposit_qr— PNG (generated on the fly) plusqr_url. Show the image in chat when the host renders it; otherwise openqr_url. Passnetworkfor one chain. The wallet manager also has a QR button next to each address.
The browser page binds to 127.0.0.1 under an unguessable path and shuts down after 15 minutes of inactivity.
Transfers
list_wallets/get_balanceestimate_transfer(optional)send_transferget_operation_statuswhen you need to wait on the operation
send_transfer may reduce the amount slightly so the fee still fits the balance; the response reports when that happened.
Swaps
Swaps are a separate flow from transfers.
list_swap_networkslist_swap_assets(direction=from, thendirection=towith the chosen sell asset)- Copy network, symbol, address, decimals from the catalog into
estimate_swap/execute_swap(especially for tokens) estimate_swapfor a preview, or go straight toexecute_swap- Poll with
get_swap_statususing theoperationIdfromexecute_swap(estimate_swapis a quote and has no status)
Useful options
maxMode: true— sell as much of the balance as the service allows (fees are accounted for server-side).amountcan be omitted whenmaxModeis set.- Omit
addressonly for native coins. For tokens, always passaddress(and ideallydecimals) fromlist_swap_assets.
Operational notes
- Quotes expire. Prefer
execute_swap(fresh quote). If execute times out, poll status before retrying — do not blindly re-run execute. - Wallet policy:
readOnlyblocks sends and swaps.maxPerTxUsdvalues the transfer amount (or the corrected swap sell amount) in USD at operation time via IronWallet backend rates; when no rate is available the operation is rejected (fail closed). The recipient allow-list applies tosend_transfer.set_wallet_policyreplaces the whole policy — readlist_wallets.policyfirst.
Configuration
Nothing to paste into MCP config for normal use. On first launch the server writes a relay API key, keystore wrapping secret, and device id under ~/.ironwallet-mcp/ (keystore-passphrase, relay-api-key, device-id; owner-only POSIX 0600 or NTFS ACL on Windows). Set the env vars only to override.
The user-facing backup is the recovery phrase in the wallet manager, not those files.
Security
- Seeds are encrypted at rest. They never appear in tool results, agent chat, or backend requests.
- The agent can move funds without asking again. Optional wallet policy (
readOnly,maxPerTxUsd, transfer recipient allow-list — set viaset_wallet_policy) is off by default and applies to bothsend_transferandexecute_swap. - Anyone with the keystore and the wrapping secret controls the funds. A leaked seed cannot be revoked.
- Timeout is not always failure: poll status before retrying a send or swap.
- Desktop / stdio only. A phone or remote agent would need a design where signing stays on a trusted device.
- Do not put a main wallet here. Use a small hot wallet.
Details and private disclosure: SECURITY.md.
License
来源:packages/mcp-server/README.md,提交 173c2d6
工具
0版本历史
1- v1.2.1最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分