Communitygithub.com

Scottcjn/iota-agent-mcp

Serveur MCP pour la blockchain IOTA offrant la gestion de portefeuille avec signature humaine, la construction/test/publication de contrats intelligents Move, et des requêtes on-chain via JSON-RPC et GraphQL. Utilisez-le pour interagir avec le réseau IOTA depuis des agents IA, gérer des portefeuilles IOTA, construire ou publier des packages Move, interroger des objets ou transactions on-chain, ou consulter les statistiques de l'époque et du réseau.

Qu'est-ce que iota-agent-mcp ?

IOTA Agent MCP est un serveur MCP (Model Context Protocol) qui connecte les agents de codage IA (tels que Claude Code, Cursor, VS Code Copilot) à la blockchain IOTA. Il expose 18 outils couvrant les opérations de portefeuille avec un flux de signature humain-dans-la-boucle, le développement de contrats intelligents Move (build, test avec couverture, publication de transactions non signées), et des requêtes on-chain sur les objets, transactions, pièces, informations d'époque et modules décompilés via JSON-RPC et GraphQL. L'architecture privilégie la sécurité en ne stockant aucun secret dans le processus MCP et en exigeant une approbation humaine pour toute opération de modification d'état. Ce serveur est idéal pour les développeurs et utilisateurs d'agents IA qui souhaitent interagir de manière native et sécurisée avec le réseau IOTA, que ce soit pour gérer des portefeuilles, déployer des smart contracts ou analyser la blockchain en temps réel.

Compatible avec✓Claude Code~Codex CLI✓Cursor
npx skills add Scottcjn/iota-agent-mcp

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

IOTA Agent MCP

Serveur MCP qui connecte les agents de codage IA à la blockchain IOTA. Fournit 18 outils couvrant les opérations de portefeuille, le développement de contrats intelligents Move, et les requêtes de données on-chain — le tout via un transport stdio sans secrets dans le processus MCP.

Workflow

  1. Configurez le serveur MCP dans les paramètres de votre agent (Claude Code, Cursor, VS Code Copilot)
  2. Interrogez les données on-chain — récupérez objets, transactions, pièces, informations d'époque, ou décompilez des modules
  3. Développez des contrats Move — construisez, testez avec couverture, générez des transactions de publication non signées
  4. Signez et publiez — générez une transaction non signée, soumettez via iota_wallet_sign_execute, vérifiez iota_wallet_pending pour l'état d'approbation, confirmez on-chain avec iota_transaction

Flux de signature (humain-dans-la-boucle)

Les opérations de portefeuille qui modifient l'état nécessitent une approbation humaine :

  1. Appelez iota_wallet_sign_execute avec les octets de transaction encodés en base64 — crée une demande en attente
  2. Appelez iota_wallet_pending pour confirmer que la demande a été mise en file d'attente
  3. L'humain approuve (iota_wallet_approve) ou rejette (iota_wallet_reject) via le serveur agent-wallet
  4. En cas d'approbation, vérifiez que la transaction est bien on-chain : appelez iota_transaction avec le digest retourné
  5. En cas de rejet, informez l'utilisateur et ne réessayez pas sans instruction explicite

Outils

Portefeuille (8 outils)

  • iota_wallet_address — Obtenez l'adresse active du portefeuille
  • iota_wallet_balance — Vérifiez le solde IOTA du portefeuille actif
  • iota_wallet_accounts — Listez tous les comptes de portefeuille dérivés
  • iota_wallet_sign_execute — Signez et exécutez une transaction (nécessite approbation humaine via le serveur agent-wallet)
  • iota_wallet_pending — Listez les demandes de signature en attente d'approbation
  • iota_wallet_approve — Approuvez une demande de signature en attente par son ID
  • iota_wallet_reject — Rejetez une demande de signature en attente par son ID
  • iota_wallet_switch_network — Basculez entre mainnet, testnet et devnet

Move CLI (4 outils)

  • iota_cli — Exécutez n'importe quelle commande CLI IOTA (ex. client gas, move new my_project)
  • iota_move_build — Compilez un package Move et rapportez les résultats de build
  • iota_move_test_coverage — Exécutez les tests Move avec analyse de couverture et résumé
  • iota_move_publish_unsigned — Générez une transaction de publication non signée pour signature via agent-wallet

Requête On-Chain (6 outils)

  • iota_object — Récupérez les données d'un objet par son ID (propriétaire, type, version, contenu)
  • iota_objects_by_owner — Listez les objets possédés par une adresse
  • iota_transaction — Récupérez les détails d'une transaction par son digest (entrée, effets, événements)
  • iota_coins — Obtenez les objets pièces pour estimation de gas et requêtes de jetons
  • iota_epoch_info — Époque actuelle, checkpoint et statistiques réseau via GraphQL
  • iota_decompile — Récupérez et décompilez l'ABI d'un module Move déployé

Exemples

Construire et tester un package Move :

iota_move_build(path: "./my_move_project")
→ "BUILDING my_move_project ... Build Successful"

iota_move_test_coverage(path: "./my_move_project")
→ "## Résultats des tests\nExécution des tests unitaires Move ... 5 tests réussis\n\n## Résumé de couverture\nCouverture de 85.7%"

Interroger un objet on-chain :

iota_object(object_id: "0xabc123...")
→ { "owner": "0xdef456...", "type": "0x2::coin::Coin<0x2::iota::IOTA>", "version": 42, "content": {...} }

Publier un package Move avec signature de portefeuille :

iota_move_publish_unsigned(path: "./my_move_project", gas_budget: "500000000")
→ "AAACAQBk..." (octets tx base64)

iota_wallet_sign_execute(tx_bytes: "AAACAQBk...")
→ "Demande mise en file (id: req-1). En attente d'approbation humaine."

Configuration

Définissez des variables d'environnement pour remplacer les valeurs par défaut :

  • IOTA_WALLET_SERVER — URL du serveur agent-wallet (défaut : http://localhost:3847)
  • IOTA_RPC_URL — Point d'accès JSON-RPC IOTA (défaut : mainnet)
  • IOTA_GRAPHQL_URL — Indexeur GraphQL IOTA (défaut : mainnet)

Installation

npm install -g iota-agent-mcp
// Claude Code : ~/.claude/settings.json
{
  "mcpServers": {
    "iota": { "command": "iota-agent-mcp" }
  }
}
// Cursor / VS Code : .cursor/mcp.json ou .vscode/mcp.json
{
  "servers": {
    "iota": { "command": "npx", "args": ["iota-agent-mcp"] }
  }
}

Skills associés