IronWallet
Non-custodial crypto wallet MCP: check balances, sign and send transfers, and swap tokens locally.
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
@ironwallet/mcp-serverclaude mcp add ironwallet -e 'IW_READ_ONLY=<IW_READ_ONLY>' -- npx -y @ironwallet/mcp-server@1.2.1
{
"mcpServers": {
"ironwallet": {
"command": "npx",
"args": [
"-y",
"@ironwallet/mcp-server@1.2.1"
],
"env": {
"IW_READ_ONLY": "<IW_READ_ONLY>"
}
}
}
}
Variables d'environnement
IW_READ_ONLYSet to true to disable send_transfer and execute_swap for the whole server. Balances, estimates, and lists still work.
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
Sommaire
IronWallet for AI agents
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. 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.
Requirements: Node.js 20+ (npx). Use a dedicated wallet with limited balance.
Product page: ironwallet.io/ai. Machine-readable index: llms.txt.
Opening this repository in Claude Code starts the wallet MCP via .mcp.json. See CLAUDE.md.
Install
Cursor: ironwallet.io/ai
Claude Code:
claude plugin marketplace add ironwallet/ironwallet-agent-kit
claude plugin install ironwallet-mcp@ironwallet
Codex:
codex plugin marketplace add ironwallet/ironwallet-agent-kit
codex plugin add ironwallet-mcp@ironwallet
Grok:
grok plugin marketplace add ironwallet/ironwallet-agent-kit
grok plugin install ironwallet-mcp --trust
Reload so MCP picks up PATH. From a local clone, use . instead of the GitHub repo.
MCP only (no plugin)
Manually installed MCP does not auto-update with the plugin.
{
"mcpServers": {
"ironwallet": {
"command": "npx",
"args": ["-y", "@ironwallet/mcp-server"]
}
}
}
What's included
Skill
| Skill | When to use |
|---|---|
| ironwallet-mcp | Non-custodial wallet: balances, local signing, transfers, swaps, deposit QR. Invoke as /ironwallet-mcp |
Rules
| Rule | What it enforces |
|---|---|
| wallet-transaction-safety | Hot wallet; no extra confirmation UI; poll status on timeout, never resubmit blindly |
| seed-phrase-handling | Recovery phrases and private keys never appear in chat, files, or logs |
| swap-asset-resolution | Networks and tokens come from catalog tools, not model memory |
Agent
| Agent | Purpose |
|---|---|
| ironwallet-operator | Operate the non-custodial wallet: balances, local signing, transfers, swaps, deposit QR |
MCP server
@ironwallet/mcp-server over stdio. Networks: Ethereum, BSC, Polygon, Base, Arbitrum, Optimism, Avalanche, Tron, Bitcoin, Litecoin, Dogecoin, Solana, XRP, TON.
Tools
| Tool | Purpose | Moves funds? |
|---|---|---|
get_runtime_info | Running version vs published npm package | no |
prepare_update | Stage the npm update for the next restart | no |
list_wallets | Names, addresses, and policy | no |
accept_mcp_consent | Record chat acceptance of the MCP disclaimer | no |
create_wallets | New wallets; returns a browser backup_url | no |
open_wallet_manager | Local browser UI to import / create / back up / delete | no |
set_wallet_policy | Replace per-wallet limits (readOnly, maxPerTxUsd, allow-list) | no |
get_deposit_qr | PNG QR (try chat; else local qr_url) | no |
get_balance | Native or token balance | no |
get_transaction_history | Recent txs from public explorers (paged) | no |
estimate_transfer | Fee estimate, no broadcast | no |
send_transfer | Sign locally and send | yes |
get_operation_status | Poll a transfer | no |
list_swap_networks | Networks available for swap | no |
list_swap_assets | Sell / buy catalog | no |
estimate_swap | Quote (may expire) | no |
execute_swap | Fresh quote → sign → swap | yes |
get_swap_status | Poll a swap | no |
No tool accepts or returns a seed. Import, backup, and delete only in the local browser (open_wallet_manager / backup_url); deleting asks the user to retype the wallet name.
Configuration
Nothing to paste into MCP config for normal use. On first launch the server writes a relay API key, keystore wrapping secret, device id, and installation id under ~/.ironwallet-mcp/ (mode 0600). Override with IW_RELAY_API_KEY / IW_PASSPHRASE / IW_DEVICE_ID only if you must.
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 both sends and swaps. - 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.
- Do not put a main wallet here. Use a small hot wallet.
Details and private disclosure: SECURITY.md.
Contributing
This public tree is a release snapshot. See CONTRIBUTING.md. Please follow the Code of Conduct.
License
Questions fréquentes
Qu'est-ce que IronWallet ?
Non-custodial crypto wallet MCP: check balances, sign and send transfers, and swap tokens locally.
Comment installer IronWallet ?
Il s'exécute sur votre machine. Dans Claude Code : claude mcp add ironwallet -e 'IW_READ_ONLY=<IW_READ_ONLY>' -- npx -y @ironwallet/mcp-server@1.2.1. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour IronWallet ?
Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.
IronWallet est-il open source ?
Oui. Son code est sur GitHub sous licence MIT.
Qui maintient IronWallet ?
Il est publié par ironwallet. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.