Communitygithub.com

Scottcjn/iota-agent-mcp

Servidor MCP para la cadena de bloques IOTA que proporciona gestión de billeteras con firma humano en el ciclo, compilación/prueba/publicación de contratos inteligentes Move y consultas en cadena vía JSON-RPC y GraphQL. Útil para interactuar con la red IOTA desde agentes de codificación de IA, gestionar billeteras IOTA, construir o publicar paquetes Move, o consultar objetos y transacciones en cadena.

¿Qué es iota-agent-mcp?

El servidor MCP IOTA Agent conecta agentes de codificación de IA con la cadena de bloques IOTA, ofreciendo 18 herramientas agrupadas en operaciones de billetera, desarrollo de contratos inteligentes Move y consultas de datos en cadena. Utiliza transporte stdio sin exponer secretos en el proceso MCP, garantizando seguridad. La gestión de billeteras incluye funciones como obtener dirección, consultar saldo, listar cuentas, y un flujo de firma humano en el ciclo: el agente genera una transacción sin firmar, el humano la aprueba o rechaza mediante un servidor de billetera externo, y el agente verifica la transacción en cadena. Para desarrollo Move, proporciona compilación, pruebas con cobertura y generación de transacciones de publicación sin firmar. Las consultas en cadena cubren objetos, transacciones, monedas, información de épocas y descompilación de módulos. Es compatible con Claude Code, Cursor y VS Code Copilot, y se configura fácilmente mediante variables de entorno o archivos JSON de configuración. Este conjunto de herramientas permite a los agentes de IA automatizar flujos de trabajo complejos en la red IOTA manteniendo el control humano sobre operaciones críticas.

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

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

  1. Configura el servidor MCP en los ajustes de tu agente (Claude Code, Cursor, VS Code Copilot)
  2. Consulta datos en cadena — obtén objetos, transacciones, monedas, información de épocas o descompila módulos
  3. Desarrolla contratos Move — compila, prueba con cobertura, genera transacciones de publicación sin firmar
  4. Firma y publica — genera una transacción sin firmar, envíala mediante iota_wallet_sign_execute, verifica el estado con iota_wallet_pending, y confirma en cadena con iota_transaction

Flujo de firma (humano en el ciclo)

Las operaciones de billetera que modifican el estado requieren aprobación humana:

  1. Llama a iota_wallet_sign_execute con los bytes de la transacción codificados en base64 — crea una solicitud pendiente
  2. Llama a iota_wallet_pending para confirmar que la solicitud fue encolada
  3. El humano aprueba (iota_wallet_approve) o rechaza (iota_wallet_reject) mediante el servidor agente-billetera
  4. Tras la aprobación, verifica que la transacción se haya registrado en cadena: llama a iota_transaction con el resumen devuelto
  5. 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 activa
  • iota_wallet_balance — Consulta el saldo de IOTA de la billetera activa
  • iota_wallet_accounts — Lista todas las cuentas de billetera derivadas
  • iota_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ón
  • iota_wallet_approve — Aprueba una solicitud de firma pendiente por ID
  • iota_wallet_reject — Rechaza una solicitud de firma pendiente por ID
  • iota_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ón
  • iota_move_test_coverage — Ejecuta pruebas Move con análisis de cobertura y resumen
  • iota_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ón
  • iota_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 tokens
  • iota_epoch_info — Época actual, punto de control y estadísticas de red vía GraphQL
  • iota_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"] }
  }
}

Skills relacionados