MCP server: One MCP server.

IronWallet

@ironwalletRun by its publisher: served from their own domain, namespace checked by the registry.MCP server · External

Non-custodial crypto wallet MCP: check balances, sign and send transfers, and swap tokens locally.

Crypto wallets & DeFiv1.2.1MITTypeScript
Freeno charge per call

Runs on your machine from its package; the steps are below.

What it does

  1. Reads
  2. Writes
  3. High impact

At most: moves money, runs code or commands, deletes data, or sends messages for you.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

npm@ironwallet/mcp-serverv1.2.1

Run

npx -y @ironwallet/mcp-server

MCP client config

{
  "mcpServers": {
    "ironwallet": {
      "command": "npx",
      "args": [
        "-y",
        "@ironwallet/mcp-server"
      ]
    }
  }
}
README3 min read

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.

npm Smithery

Opening this repository in Claude Code starts the wallet MCP via .mcp.json. See CLAUDE.md.

Install

Cursor: ironwallet.io/ai

Claude Code:

bash
claude plugin marketplace add ironwallet/ironwallet-agent-kit
claude plugin install ironwallet-mcp@ironwallet

Codex:

bash
codex plugin marketplace add ironwallet/ironwallet-agent-kit
codex plugin add ironwallet-mcp@ironwallet

Grok:

bash
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.

json
{
  "mcpServers": {
    "ironwallet": {
      "command": "npx",
      "args": ["-y", "@ironwallet/mcp-server"]
    }
  }
}

What's included

Skill

SkillWhen to use
ironwallet-mcpNon-custodial wallet: balances, local signing, transfers, swaps, deposit QR. Invoke as /ironwallet-mcp

Rules

RuleWhat it enforces
wallet-transaction-safetyHot wallet; no extra confirmation UI; poll status on timeout, never resubmit blindly
seed-phrase-handlingRecovery phrases and private keys never appear in chat, files, or logs
swap-asset-resolutionNetworks and tokens come from catalog tools, not model memory

Agent

AgentPurpose
ironwallet-operatorOperate 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

ToolPurposeMoves funds?
get_runtime_infoRunning version vs published npm packageno
prepare_updateStage the npm update for the next restartno
list_walletsNames, addresses, and policyno
accept_mcp_consentRecord chat acceptance of the MCP disclaimerno
create_walletsNew wallets; returns a browser backup_urlno
open_wallet_managerLocal browser UI to import / create / back up / deleteno
set_wallet_policyReplace per-wallet limits (readOnly, maxPerTxUsd, allow-list)no
get_deposit_qrPNG QR (try chat; else local qr_url)no
get_balanceNative or token balanceno
get_transaction_historyRecent txs from public explorers (paged)no
estimate_transferFee estimate, no broadcastno
send_transferSign locally and sendyes
get_operation_statusPoll a transferno
list_swap_networksNetworks available for swapno
list_swap_assetsSell / buy catalogno
estimate_swapQuote (may expire)no
execute_swapFresh quote → sign → swapyes
get_swap_statusPoll a swapno

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 via set_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

MIT

Similar modules

Browse Crypto wallets & DeFi