Configuration de MCP

Installez et configurez le serveur MCP IronWallet pour Cursor, Claude Code, ChatGPT et d'autres clients MCP.

Le serveur MCP IronWallet (@ironwallet/mcp-server) fournit aux agents IA un portefeuille crypto non-custodial sur votre ordinateur. Les phrases de récupération sont générées et chiffrées localement — elles ne quittent jamais cette machine et ne transitent jamais par l'agent, le LLM ou les backends d'IronWallet. Les agents peuvent vérifier les soldes, afficher des codes QR de dépôt, transférer des jetons et effectuer des échanges sur 12 réseaux : Ethereum, BSC, Polygon, Base, Arbitrum, Optimism, Avalanche, Tron, Bitcoin, Solana, XRP et TON.

Il n'y a pas d'interface de confirmation par transaction — une fois que vous demandez à l'agent d'envoyer ou d'échanger, il peut signer et diffuser sans demander à nouveau. Utilisez un hot wallet dédié avec un solde limité, jamais votre portefeuille principal.

Prérequis : Node.js 20+ (npx). Bureau / stdio uniquement.

Fonctionnalités

Signature locale, non-custodial

Les phrases de récupération restent chiffrées sur l'hôte (permissions de fichier réservées au propriétaire). Les transactions sont signées sur cette machine ; aucun outil n'accepte ou ne renvoie de phrase de récupération.

Portefeuilles dans le navigateur local

Créez des portefeuilles avec create_wallets (renvoie une backup_url), ou importez et sauvegardez via open_wallet_manager — une page en boucle locale sur 127.0.0.1 qui s'arrête après 15 minutes d'inactivité. Les secrets n'apparaissent que dans cette page de navigateur, jamais dans le chat.

Transferts avec estimations de frais

estimate_transfer prévisualise les frais sans diffusion ; send_transfer signe localement et envoie ; get_operation_status interroge le résultat. Le serveur peut réduire légèrement le montant pour que les frais correspondent au solde — la réponse indique quand cela s'est produit.

Échanges basés sur un catalogue

list_swap_networks et list_swap_assets fournissent le catalogue d'achat/vente afin que l'agent n'invente jamais d'adresses de jetons. estimate_swap donne un devis, execute_swap exécute sur un devis frais, get_swap_status interroge.

Codes QR de dépôt

get_deposit_qr renvoie un PNG pour le chat ainsi qu'une solution de repli qr_url locale.

Limites de dépenses optionnelles

Politique par portefeuille via set_wallet_policy : readOnly, maxPerTxUsd et une liste blanche de destinataires pour les transferts. Désactivé par défaut ; s'applique aux envois et aux échanges. IW_READ_ONLY=true rend tout le serveur en lecture seule.

Installation

Option 1 : npx (recommandé)

Utilisez npx pour exécuter le serveur sans installation globale. Cela garantit que vous utilisez toujours la dernière version.

1{
2 "mcpServers": {
3 "ironwallet": {
4 "command": "npx",
5 "args": ["-y", "@ironwallet/mcp-server"]
6 }
7 }
8}

Le premier lancement peut prendre environ 30 secondes pendant l'installation des dépendances. Si votre client MCP expire, exécutez la commande une fois dans un terminal pour réchauffer le cache, puis reconnectez-vous.

Option 2 : Installation globale

Installez le package globalement pour un démarrage plus rapide, puis exécutez ironwallet-mcp.

npm install -g @ironwallet/mcp-server@latest

Guides de configuration

Uniquement pour ordinateur

Chaque client dispose d'une URL statique dédiée (par exemple /ai/introduction/vscode/). Toutes les commandes d'installation ci-dessous sont également intégrées sur cette page — pas d'onglets, rien de caché derrière des clics.

Cursor

Le plus recommandé

Le plus recommandé

Fonctionne bien avec la version gratuite, installation facile, meilleure expérience

Ouvrir dans Cursor

Installez une fois. Après cela, les outils de portefeuille sont disponibles dans chaque chat. Vous pouvez également coller ceci dans ~/.cursor/mcp.json et redémarrer Cursor.

1{
2 "mcpServers": {
3 "ironwallet": {
4 "command": "npx",
5 "args": ["-y", "@ironwallet/mcp-server"]
6 }
7 }
8}

Redémarrez Cursor après l'installation pour que PATH inclue npx.

Page autonome pour Cursor — une requête HTTP renvoie uniquement ce guide.

Claude Code

Niveau expert requis

Fonctionne bien avec le mode Code, le mode Chat est très limité

Ouvrir dans Claude Code

Exécutez ces commandes dans l'ordre :

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

Après l'installation du plugin, attendez environ 45 secondes et commencez un nouveau chat pour que les outils se chargent.

Ou pointez Claude Code directement vers le serveur stdio :

1{
2 "mcpServers": {
3 "ironwallet": {
4 "command": "npx",
5 "args": ["-y", "@ironwallet/mcp-server"]
6 }
7 }
8}

Page autonome pour Claude Code — une requête HTTP renvoie uniquement ce guide.

VS Code

Niveau expert le plus élevé

Nécessite des plugins supplémentaires avec la version payante des modèles d'IA

Ouvrir dans VS Code

Ouvre VS Code et enregistre le serveur MCP local. Vous pouvez également l'ajouter à vos paramètres MCP VS Code (utilisateur ou espace de travail).

1{
2 "mcp": {
3 "servers": {
4 "ironwallet": {
5 "type": "stdio",
6 "command": "npx",
7 "args": ["-y", "@ironwallet/mcp-server"]
8 }
9 }
10 }
11}

Page autonome pour VS Code — une requête HTTP renvoie uniquement ce guide.

ChatGPT

Configuration facile - nécessite ChatGPT

La version gratuite est très limitée, la version payante fonctionne mieux

Ouvrir dans ChatGPT

Exécutez ces commandes dans l'ordre, puis rechargez pour que les outils MCP soient disponibles.

1codex plugin marketplace add ironwallet/ironwallet-agent-kit
2codex plugin add ironwallet-mcp@ironwallet

Ou pointez ChatGPT directement vers le serveur stdio :

1{
2 "mcpServers": {
3 "ironwallet": {
4 "command": "npx",
5 "args": ["-y", "@ironwallet/mcp-server"]
6 }
7 }
8}

Page autonome pour ChatGPT — une requête HTTP renvoie uniquement ce guide.

Autres clients

Utilisez le transport stdio. Pointez votre client MCP vers :

1{
2 "mcpServers": {
3 "ironwallet": {
4 "command": "npx",
5 "args": ["-y", "@ironwallet/mcp-server"]
6 }
7 }
8}

Page autonome pour Autres clients — une requête HTTP renvoie uniquement ce guide.

Première exécution et configuration du portefeuille

Il n'y a pas de connexion ni de compte. Au premier lancement, le serveur génère ses secrets locaux — une clé API de relais, un secret de chiffrement du keystore et un identifiant d'appareil — sous ~/.ironwallet-mcp/ avec des permissions réservées au propriétaire. Rien à configurer.

Pour commencer à utiliser un portefeuille :

1
Consentement. Avant de créer ou d'importer un portefeuille, l'agent affiche la clause de non-responsabilité MCP dans le chat et enregistre votre acceptation (accept_mcp_consent), ou vous appuyez sur Continuer dans le gestionnaire de portefeuille.
2
Créer ou importer. create_wallets renvoie les noms et adresses des portefeuilles ainsi qu'une backup_url — ouvrez-la dans votre navigateur pour voir et sauvegarder la phrase de récupération. Pour importer un portefeuille existant ou effectuer une sauvegarde plus tard, utilisez open_wallet_manager. La phrase de récupération est tapée ou affichée uniquement dans la page du navigateur local, jamais dans le chat.
3
Approvisionner le portefeuille. Demandez à l'agent un QR de dépôt (get_deposit_qr) ou une adresse (list_wallets) et envoyez un petit montant. Gardez le solde limité — il s'agit d'un hot wallet.

Données sur le disque

Le serveur conserve son état dans ~/.ironwallet-mcp/ (remplaçable avec IW_KEYSTORE_DIR) :

le keystore chiffré avec vos phrases de portefeuille,

le secret de chiffrement, la clé API de relais et l'identifiant d'appareil,

les journaux de diagnostic sous logs/ (le matériel de la phrase de récupération n'est jamais enregistré).

Avertissement : ne supprimez pas ce répertoire pour « réinitialiser » le serveur.

Il contient les clés chiffrées de vos fonds. Si vous le supprimez sans avoir sauvegardé la phrase de récupération dans le gestionnaire de portefeuille, les fonds sont perdus. Votre sauvegarde est la phrase de récupération, pas ces fichiers.

Toute personne possédant le keystore et le secret de chiffrement contrôle les fonds, traitez donc le répertoire comme sensible.

Variables d'environnement

La plupart des utilisateurs n'ont pas besoin de définir de variables d'environnement. Le serveur génère et stocke tout ce dont il a besoin au premier lancement. Les suivantes sont disponibles pour une utilisation avancée :

Variable
Description
Par défaut
IW_READ_ONLY
Rejeter send_transfer et execute_swap à l'échelle du processus. Distinct de la policy.readOnly par portefeuille
false
IW_KEYSTORE_DIR
Répertoire du keystore
~/.ironwallet-mcp
IW_PASSPHRASE
Remplacer le secret de chiffrement du keystore
generated locally
IW_RELAY_API_KEY
Remplacer la clé API de relais
generated UUID
IW_HTTP_TIMEOUT_MS
Délai d'expiration HTTP général
15000
IW_HTTP_FORWARD_TIMEOUT_MS
Délai d'expiration pour les appels de type diffusion. Un délai d'expiration du client ne signifie pas toujours que l'opération a échoué — vérifiez le statut
60000
IW_LOG_ENABLED
Diagnostics JSONL vers un fichier journal (0 pour désactiver)
1
IW_LOG_LEVEL
debug / info / warn / error
info

Sécurité

Les phrases de récupération ne quittent jamais cette machine. Elles sont chiffrées au repos et n'apparaissent jamais dans les résultats des outils, le chat de l'agent, les journaux ou les requêtes backend. Aucun outil n'accepte ou ne renvoie de phrase de récupération — l'importation et la sauvegarde se font uniquement dans le navigateur local.

L'agent peut déplacer des fonds sans demander à nouveau. Il n'y a pas d'interface de confirmation par transaction ; votre message de chat est l'autorisation. Les transferts et les échanges sont irréversibles une fois diffusés.

Limites optionnelles. Politique par portefeuille (readOnly, maxPerTxUsd, liste blanche de destinataires) via set_wallet_policy, et IW_READ_ONLY=true à l'échelle du serveur. Les deux sont désactivés par défaut.

Hot wallet uniquement. N'importez pas votre portefeuille principal ou d'épargne. Toute personne possédant le keystore et le secret de chiffrement contrôle les fonds ; une phrase de récupération divulguée ne peut être révoquée.

Le délai d'expiration n'est pas un échec. Interrogez get_operation_status / get_swap_status avant de réessayer un envoi ou un échange.

Toutes les requêtes backend utilisent HTTPS ; les fichiers secrets locaux utilisent des permissions réservées au propriétaire (Unix 0600, ACL NTFS sous Windows).

Divulgation de vulnérabilité : SECURITY.md.

Tests

Testez le serveur directement en utilisant l'inspecteur MCP. Cela ouvre une interface web interactive où vous pouvez tester les appels d'outils sans assistant IA.

npx @modelcontextprotocol/inspector npx -y @ironwallet/mcp-server

Dépannage

Le client MCP expire au premier démarrage

npx télécharge le package lors de la première exécution, ce qui peut prendre environ 30 secondes.

  • Exécutez npx -y @ironwallet/mcp-server une fois dans un terminal pour réchauffer le cache, puis reconnectez-vous.
  • Ou installez globalement : npm install -g @ironwallet/mcp-server@latest.

Les outils n'apparaissent pas dans le client

  • Vérifiez que Node.js 20+ est installé : node --version.
  • Rechargez le client après l'installation pour que PATH inclue npx.
  • Après l'installation d'un plugin (Claude Code / ChatGPT), démarrez un nouveau chat pour que les outils se chargent.
  • Vérifiez que le fichier de configuration contient un JSON valide et redémarrez le client.
  • Testez le serveur manuellement avec l'inspecteur MCP (voir Tests).

create_wallets renvoie needs_consent

La clause de non-responsabilité MCP n'a pas encore été acceptée. Demandez à l'agent d'afficher la clause complète et confirmez (accept_mcp_consent), ou ouvrez le gestionnaire de portefeuille et appuyez sur Continuer.

Un transfert ou un échange a expiré

Un délai d'expiration n'est pas un échec — la transaction peut déjà être diffusée. Interrogez get_operation_status (transferts) ou get_swap_status (échanges) avant de réessayer. Ne soumettez jamais à nouveau à l'aveugle.

Un envoi ou un échange est rejeté

  • Vérifiez list_wallets → policy : readOnly ou une liste blanche de destinataires peut bloquer l'opération. { enabled: false } signifie aucune limite.
  • maxPerTxUsd échoue par défaut : si aucun taux USD n'est disponible pour l'actif, l'opération est rejetée.
  • Vérifiez si le serveur s'exécute avec IW_READ_ONLY=true.