Communitygithub.com

Scottcjn/iota-agent-mcp

IOTA-Blockchain-MCP-Server mit Wallet-Verwaltung und menschlicher Bestätigungsrunde für Transaktionen, Move-Smart-Contract-Build/Test/Publish sowie On-Chain-Abfragen via JSON-RPC und GraphQL. Verwenden Sie ihn bei der Interaktion mit dem IOTA-Netzwerk über KI-Coding-Agenten, bei der Verwaltung von IOTA-Wallets, beim Erstellen oder Veröffentlichen von Move-Paketen, beim Abfragen von On-Chain-Objekten oder Transaktionen oder beim Überprüfen von Epochen- und Netzwerkstatistiken.

Was ist iota-agent-mcp?

Der IOTA Agent MCP ist ein MCP-Server, der KI-Coding-Agenten mit der IOTA-Blockchain verbindet. Er bietet insgesamt 18 Tools für Wallet-Operationen, Move-Smart-Contract-Entwicklung und On-Chain-Datenabfragen – alles über stdio-Transport und ohne Geheimnisse im MCP-Prozess. Der Server unterstützt Claude Code, Cursor und VS Code Copilot und ermöglicht Workflows wie das Abfragen von On-Chain-Daten (Objekte, Transaktionen, Coins, Epochen-Informationen), das Entwickeln (Build, Test mit Coverage) und Veröffentlichen von Move-Contracts sowie die Signierung mit menschlicher Bestätigung (Human-in-the-Loop). Wichtig: Jede zustandsändernde Transaktion erfordert eine manuelle Genehmigung über einen separaten Agent-Wallet-Server. Nach der Erstellung einer unbestätigten Transaktion und dem Start des Signiervorgangs wird die Anfrage in eine Warteschlange gestellt, bis ein Mensch sie explizit genehmigt oder ablehnt.

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

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

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

  1. Konfigurieren Sie den MCP-Server in den Einstellungen Ihres Agenten (Claude Code, Cursor, VS Code Copilot)
  2. Fragen Sie On-Chain-Daten ab — Objekte, Transaktionen, Coins, Epocheninformationen oder dekompilieren Sie Module
  3. Entwickeln Sie Move-Contracts — Build, Test mit Coverage, Generieren von unsignierten Veröffentlichungstransaktionen
  4. Signieren und veröffentlichen — Generieren Sie eine unsignierte Transaktion, senden Sie sie über iota_wallet_sign_execute, prüfen Sie den Status mit iota_wallet_pending, verifizieren Sie die On-Chain-Ausführung mit iota_transaction

Signierungsablauf (Human-in-the-Loop)

Wallet-Operationen, die den Zustand ändern, erfordern menschliche Genehmigung:

  1. Rufen Sie iota_wallet_sign_execute mit den base64-codierten Transaktionsbytes auf – erstellt eine ausstehende Anfrage
  2. Rufen Sie iota_wallet_pending auf, um zu bestätigen, dass die Anfrage in die Warteschlange eingereiht wurde
  3. Der Mensch genehmigt (iota_wallet_approve) oder lehnt (iota_wallet_reject) die Anfrage über den Agent-Wallet-Server ab
  4. Nach der Genehmigung überprüfen Sie die On-Chain-Ausführung der Transaktion: Rufen Sie iota_transaction mit dem zurückgegebenen Digest auf
  5. 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-Adresse
  • iota_wallet_balance — Überprüft den IOTA-Kontostand der aktiven Wallet
  • iota_wallet_accounts — Listet alle abgeleiteten Wallet-Konten auf
  • iota_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 warten
  • iota_wallet_approve — Genehmigt eine ausstehende Signieranfrage anhand ihrer ID
  • iota_wallet_reject — Lehnt eine ausstehende Signieranfrage anhand ihrer ID ab
  • iota_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-Ergebnisse
  • iota_move_test_coverage — Führt Move-Tests mit Coverage-Analyse und Zusammenfassung aus
  • iota_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ören
  • iota_transaction — Ruft Transaktionsdetails anhand des Digests ab (Eingabe, Effekte, Ereignisse)
  • iota_coins — Holt Coin-Objekte zur Gas-Schätzung und Token-Abfragen
  • iota_epoch_info — Aktuelle Epoche, Checkpoint und Netzwerkstatistiken über GraphQL
  • iota_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"] }
  }
}

Verwandte Skills