IOTA Agent MCP
Servidor MCP que conecta agentes de codificación de IA a la cadena de bloques IOTA. Proporciona 18 herramientas para operaciones de billetera, desarrollo de contratos inteligentes Move y consultas de datos en cadena — todo mediante transporte stdio sin secretos en el proceso MCP.
Flujo de trabajo
- Configura el servidor MCP en los ajustes de tu agente (Claude Code, Cursor, VS Code Copilot)
- Consulta datos en cadena — obtén objetos, transacciones, monedas, información de épocas o descompila módulos
- Desarrolla contratos Move — compila, prueba con cobertura, genera transacciones de publicación sin firmar
- Firma y publica — genera una transacción sin firmar, envíala mediante
iota_wallet_sign_execute, verifica el estado coniota_wallet_pending, y confirma en cadena coniota_transaction
Flujo de firma (humano en el ciclo)
Las operaciones de billetera que modifican el estado requieren aprobación humana:
- Llama a
iota_wallet_sign_executecon los bytes de la transacción codificados en base64 — crea una solicitud pendiente - Llama a
iota_wallet_pendingpara confirmar que la solicitud fue encolada - El humano aprueba (
iota_wallet_approve) o rechaza (iota_wallet_reject) mediante el servidor agente-billetera - Tras la aprobación, verifica que la transacción se haya registrado en cadena: llama a
iota_transactioncon el resumen devuelto - Si es rechazada, informa al usuario y no reintentes sin instrucción explícita
Herramientas
Billetera (8 herramientas)
iota_wallet_address— Obtiene la dirección de la billetera activaiota_wallet_balance— Consulta el saldo de IOTA de la billetera activaiota_wallet_accounts— Lista todas las cuentas de billetera derivadasiota_wallet_sign_execute— Firma y ejecuta una transacción (requiere aprobación humana mediante el servidor agente-billetera)iota_wallet_pending— Lista solicitudes de firma pendientes de aprobacióniota_wallet_approve— Aprueba una solicitud de firma pendiente por IDiota_wallet_reject— Rechaza una solicitud de firma pendiente por IDiota_wallet_switch_network— Cambia entre mainnet, testnet y devnet
CLI de Move (4 herramientas)
iota_cli— Ejecuta cualquier comando de la CLI de IOTA (ej.client gas,move new my_project)iota_move_build— Compila un paquete Move e informa los resultados de la compilacióniota_move_test_coverage— Ejecuta pruebas Move con análisis de cobertura y resumeniota_move_publish_unsigned— Genera una transacción de publicación sin firmar para firma mediante agente-billetera
Consulta en cadena (6 herramientas)
iota_object— Obtiene datos de un objeto por ID (propietario, tipo, versión, contenido)iota_objects_by_owner— Lista objetos propiedad de una direccióniota_transaction— Obtiene detalles de una transacción por resumen (entrada, efectos, eventos)iota_coins— Obtiene objetos de moneda para estimación de gas y consultas de tokensiota_epoch_info— Época actual, punto de control y estadísticas de red vía GraphQLiota_decompile— Recupera y descompila el ABI de un módulo Move desplegado
Ejemplos
Compilar y probar un paquete Move:
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"
Consultar un objeto en cadena:
iota_object(object_id: "0xabc123...")
→ { "owner": "0xdef456...", "type": "0x2::coin::Coin<0x2::iota::IOTA>", "version": 42, "content": {...} }
Publicar un paquete Move con firma de billetera:
iota_move_publish_unsigned(path: "./my_move_project", gas_budget: "500000000")
→ "AAACAQBk..." (bytes de transacción en base64)
iota_wallet_sign_execute(tx_bytes: "AAACAQBk...")
→ "Request queued (id: req-1). Awaiting human approval."
Configuración
Establece variables de entorno para sobrescribir los valores predeterminados:
IOTA_WALLET_SERVER— URL del servidor de billetera del agente (predeterminado:http://localhost:3847)IOTA_RPC_URL— Endpoint JSON-RPC de IOTA (predeterminado: mainnet)IOTA_GRAPHQL_URL— Indexador GraphQL de IOTA (predeterminado: mainnet)
Configuración
npm install -g iota-agent-mcp
// Claude Code: ~/.claude/settings.json
{
"mcpServers": {
"iota": { "command": "iota-agent-mcp" }
}
}
// Cursor / VS Code: .cursor/mcp.json o .vscode/mcp.json
{
"servers": {
"iota": { "command": "npx", "args": ["iota-agent-mcp"] }
}
}