IOTA Agent MCP
Servidor MCP que conecta agentes de codificação de IA à blockchain IOTA. Fornece 18 ferramentas para operações de carteira, desenvolvimento de contratos inteligentes Move e consultas de dados on-chain — tudo via transporte stdio, sem segredos no processo MCP.
Fluxo de Trabalho
- Configure o servidor MCP nas configurações do seu agente (Claude Code, Cursor, VS Code Copilot)
- Consulte dados on-chain — busque objetos, transações, moedas, informações de época ou descompile módulos
- Desenvolva contratos Move — crie, teste com cobertura, gere transações de publicação não assinadas
- Assine e publique — gere transação não assinada, submeta via
iota_wallet_sign_execute, verifiqueiota_wallet_pendingpara status de aprovação, confirme on-chain comiota_transaction
Fluxo de assinatura (humano no loop)
Operações de carteira que modificam o estado exigem aprovação humana:
- Chame
iota_wallet_sign_executecom bytes de transação codificados em base64 — cria uma solicitação pendente - Chame
iota_wallet_pendingpara confirmar que a solicitação foi enfileirada - O humano aprova (
iota_wallet_approve) ou rejeita (iota_wallet_reject) via servidor de carteira agente - Após aprovação, verifique se a transação foi registrada on-chain: chame
iota_transactioncom o digest retornado - Se rejeitada, informe o usuário e não tente novamente sem instrução explícita
Ferramentas
Carteira (8 ferramentas)
iota_wallet_address— Obter o endereço da carteira ativaiota_wallet_balance— Verificar saldo de IOTA da carteira ativaiota_wallet_accounts— Listar todas as contas de carteira derivadasiota_wallet_sign_execute— Assinar e executar uma transação (requer aprovação humana via servidor de carteira agente)iota_wallet_pending— Listar solicitações de assinatura pendentes aguardando aprovaçãoiota_wallet_approve— Aprovar uma solicitação de assinatura pendente por IDiota_wallet_reject— Rejeitar uma solicitação de assinatura pendente por IDiota_wallet_switch_network— Alternar entre mainnet, testnet e devnet
CLI Move (4 ferramentas)
iota_cli— Executar qualquer comando da CLI IOTA (ex.:client gas,move new my_project)iota_move_build— Compilar um pacote Move e relatar resultados da compilaçãoiota_move_test_coverage— Executar testes Move com análise de cobertura e resumoiota_move_publish_unsigned— Gerar transação de publicação não assinada para assinatura via servidor de carteira agente
Consulta On-Chain (6 ferramentas)
iota_object— Buscar dados de objeto por ID (proprietário, tipo, versão, conteúdo)iota_objects_by_owner— Listar objetos pertencentes a um endereçoiota_transaction— Buscar detalhes da transação por digest (entrada, efeitos, eventos)iota_coins— Obter objetos de moeda para estimativa de gás e consultas de tokeniota_epoch_info— Época atual, checkpoint e estatísticas de rede via GraphQLiota_decompile— Recuperar e descompilar o ABI de um módulo Move implantado
Exemplos
Criar e testar um pacote 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 um objeto on-chain:
iota_object(object_id: "0xabc123...")
→ { "owner": "0xdef456...", "type": "0x2::coin::Coin<0x2::iota::IOTA>", "version": 42, "content": {...} }
Publicar um pacote Move com assinatura de carteira:
iota_move_publish_unsigned(path: "./my_move_project", gas_budget: "500000000")
→ "AAACAQBk..." (bytes tx em base64)
iota_wallet_sign_execute(tx_bytes: "AAACAQBk...")
→ "Request queued (id: req-1). Awaiting human approval."
Configuração
Defina variáveis de ambiente para substituir os padrões:
IOTA_WALLET_SERVER— URL do servidor de carteira agente (padrão:http://localhost:3847)IOTA_RPC_URL— Endpoint JSON-RPC IOTA (padrão: mainnet)IOTA_GRAPHQL_URL— Indexador GraphQL IOTA (padrão: mainnet)
Configuração
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"] }
}
}