IOTA Agent MCP
MCP-Server, der KI-Coding-Agenten mit der IOTA-Blockchain verbindet. Bietet 18 Tools für Wallet-Operationen, Move-Smart-Contract-Entwicklung und On-Chain-Datenabfragen – alles über stdio-Transport und ohne Geheimnisse im MCP-Prozess.
Workflow
- Konfigurieren Sie den MCP-Server in den Einstellungen Ihres Agenten (Claude Code, Cursor, VS Code Copilot)
- Fragen Sie On-Chain-Daten ab — Objekte, Transaktionen, Coins, Epocheninformationen oder dekompilieren Sie Module
- Entwickeln Sie Move-Contracts — Build, Test mit Coverage, Generieren von unsignierten Veröffentlichungstransaktionen
- Signieren und veröffentlichen — Generieren Sie eine unsignierte Transaktion, senden Sie sie über
iota_wallet_sign_execute, prüfen Sie den Status mitiota_wallet_pending, verifizieren Sie die On-Chain-Ausführung mitiota_transaction
Signierungsablauf (Human-in-the-Loop)
Wallet-Operationen, die den Zustand ändern, erfordern menschliche Genehmigung:
- Rufen Sie
iota_wallet_sign_executemit den base64-codierten Transaktionsbytes auf – erstellt eine ausstehende Anfrage - Rufen Sie
iota_wallet_pendingauf, um zu bestätigen, dass die Anfrage in die Warteschlange eingereiht wurde - Der Mensch genehmigt (
iota_wallet_approve) oder lehnt (iota_wallet_reject) die Anfrage über den Agent-Wallet-Server ab - Nach der Genehmigung überprüfen Sie die On-Chain-Ausführung der Transaktion: Rufen Sie
iota_transactionmit dem zurückgegebenen Digest auf - Bei Ablehnung informieren Sie den Benutzer und wiederholen Sie den Vorgang nicht ohne explizite Anweisung
Tools
Wallet (8 Tools)
iota_wallet_address— Holt die aktive Wallet-Adresseiota_wallet_balance— Überprüft den IOTA-Kontostand der aktiven Walletiota_wallet_accounts— Listet alle abgeleiteten Wallet-Konten aufiota_wallet_sign_execute— Signiert und führt eine Transaktion aus (erfordert menschliche Genehmigung über den Agent-Wallet-Server)iota_wallet_pending— Listet ausstehende Signieranfragen auf, die auf Genehmigung warteniota_wallet_approve— Genehmigt eine ausstehende Signieranfrage anhand ihrer IDiota_wallet_reject— Lehnt eine ausstehende Signieranfrage anhand ihrer ID abiota_wallet_switch_network— Wechselt zwischen Mainnet, Testnet und Devnet
Move CLI (4 Tools)
iota_cli— Führt beliebige IOTA-CLI-Befehle aus (z. B.client gas,move new my_project)iota_move_build— Kompiliert ein Move-Paket und meldet die Build-Ergebnisseiota_move_test_coverage— Führt Move-Tests mit Coverage-Analyse und Zusammenfassung ausiota_move_publish_unsigned— Generiert eine unsignierte Veröffentlichungstransaktion zur Signierung durch den Agent-Wallet
On-Chain-Abfragen (6 Tools)
iota_object— Ruft Objektdaten anhand der ID ab (Besitzer, Typ, Version, Inhalt)iota_objects_by_owner— Listet Objekte auf, die einer Adresse gehöreniota_transaction— Ruft Transaktionsdetails anhand des Digests ab (Eingabe, Effekte, Ereignisse)iota_coins— Holt Coin-Objekte zur Gas-Schätzung und Token-Abfrageniota_epoch_info— Aktuelle Epoche, Checkpoint und Netzwerkstatistiken über GraphQLiota_decompile— Ruft die ABI eines bereitgestellten Move-Moduls ab und dekompiliert es
Beispiele
Erstellen und Testen eines Move-Pakets:
iota_move_build(path: "./my_move_project")
→ "BUILDING my_move_project ... Build Successful"
iota_move_test_coverage(path: "./my_move_project")
→ "## Test Results\nRunning Move unit tests ... 5 tests passed\n\n## Coverage Summary\n85.7% coverage"
Abfragen eines On-Chain-Objekts:
iota_object(object_id: "0xabc123...")
→ { "owner": "0xdef456...", "type": "0x2::coin::Coin<0x2::iota::IOTA>", "version": 42, "content": {...} }
Veröffentlichen eines Move-Pakets mit Wallet-Signierung:
iota_move_publish_unsigned(path: "./my_move_project", gas_budget: "500000000")
→ "AAACAQBk..." (base64 tx bytes)
iota_wallet_sign_execute(tx_bytes: "AAACAQBk...")
→ "Request queued (id: req-1). Awaiting human approval."
Konfiguration
Setzen Sie Umgebungsvariablen, um Standardwerte zu überschreiben:
IOTA_WALLET_SERVER— URL des Agent-Wallet-Servers (Standard:http://localhost:3847)IOTA_RPC_URL— IOTA JSON-RPC-Endpunkt (Standard: Mainnet)IOTA_GRAPHQL_URL— IOTA GraphQL-Indexer (Standard: Mainnet)
Einrichtung
npm install -g iota-agent-mcp
// Claude Code: ~/.claude/settings.json
{
"mcpServers": {
"iota": { "command": "iota-agent-mcp" }
}
}
// Cursor / VS Code: .cursor/mcp.json oder .vscode/mcp.json
{
"servers": {
"iota": { "command": "npx", "args": ["iota-agent-mcp"] }
}
}