IOTA Agent MCP
MCP 服务器,将 AI 编码代理连接到 IOTA 区块链。提供 18 个工具,涵盖钱包操作、Move 智能合约开发和链上数据查询——全部通过标准输入/输出(stdio)传输,MCP 进程中不存储任何机密。
工作流程
- 在代理设置中配置 MCP 服务器(Claude Code、Cursor、VS Code Copilot)
- 查询链上数据 — 获取对象、交易、代币、纪元信息或反编译模块
- 开发 Move 合约 — 构建、测试(含覆盖率)、生成未签名发布交易
- 签名并发布 — 生成未签名交易,通过
iota_wallet_sign_execute提交,检查iota_wallet_pending的审批状态,通过iota_transaction验证链上结果
签名流程(人机协同)
修改状态的交易需要人工批准:
- 调用
iota_wallet_sign_execute并传入 base64 编码的交易字节——创建一个待处理请求 - 调用
iota_wallet_pending确认请求已排队 - 人工通过代理钱包服务器批准(
iota_wallet_approve)或拒绝(iota_wallet_reject) - 批准后,验证交易是否已上链:使用返回的摘要调用
iota_transaction - 如果被拒绝,通知用户,未经明确指示不得重试
工具
钱包(8 个工具)
iota_wallet_address— 获取当前钱包地址iota_wallet_balance— 检查当前钱包的 IOTA 余额iota_wallet_accounts— 列出所有衍生的钱包账户iota_wallet_sign_execute— 签名并执行交易(需要人工通过代理钱包服务器批准)iota_wallet_pending— 列出等待批准的待处理签名请求iota_wallet_approve— 按 ID 批准待处理的签名请求iota_wallet_reject— 按 ID 拒绝待处理的签名请求iota_wallet_switch_network— 在主网、测试网和开发网之间切换
Move CLI(4 个工具)
iota_cli— 运行任意 IOTA CLI 命令(例如client gas、move new my_project)iota_move_build— 编译 Move 包并报告构建结果iota_move_test_coverage— 运行 Move 测试并进行覆盖率分析和总结iota_move_publish_unsigned— 生成未签名发布交易供代理钱包签名
链上查询(6 个工具)
iota_object— 按 ID 获取对象数据(所有者、类型、版本、内容)iota_objects_by_owner— 列出某个地址拥有的对象iota_transaction— 按摘要获取交易详情(输入、效果、事件)iota_coins— 获取用于 gas 估算和代币查询的代币对象iota_epoch_info— 通过 GraphQL 获取当前纪元、检查点和网络统计信息iota_decompile— 检索并反编译已部署 Move 模块的 ABI
示例
构建并测试 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"
查询链上对象:
iota_object(object_id: "0xabc123...")
→ { "owner": "0xdef456...", "type": "0x2::coin::Coin<0x2::iota::IOTA>", "version": 42, "content": {...} }
发布 Move 包并使用钱包签名:
iota_move_publish_unsigned(path: "./my_move_project", gas_budget: "500000000")
→ "AAACAQBk..." (base64 交易字节)
iota_wallet_sign_execute(tx_bytes: "AAACAQBk...")
→ "Request queued (id: req-1). Awaiting human approval."
配置
设置环境变量以覆盖默认值:
IOTA_WALLET_SERVER— 代理钱包服务器 URL(默认:http://localhost:3847)IOTA_RPC_URL— IOTA JSON-RPC 端点(默认:主网)IOTA_GRAPHQL_URL— IOTA GraphQL 索引器(默认:主网)
设置
npm install -g iota-agent-mcp
// Claude Code: ~/.claude/settings.json
{
"mcpServers": {
"iota": { "command": "iota-agent-mcp" }
}
}
// Cursor / VS Code: .cursor/mcp.json 或 .vscode/mcp.json
{
"servers": {
"iota": { "command": "npx", "args": ["iota-agent-mcp"] }
}
}