跳到正文
cccskills
免费在 GitHub 公开

iota-agent-mcp

IOTA blockchain MCP server providing wallet management with human-in-the-loop signing, Move smart contract build/test/publish, and on-chain queries via JSON-RPC and GraphQL. Use when interacting with IOTA network from AI coding agents, managing IOTA wallets, building or publishing Move packages, querying on-chain objects or transactions, or checking epoch and network statistics.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(15)

  • SKILL.md4.6 KB
  • __tests__/helpers.test.ts3.6 KB
  • __tests__/tokenize.test.ts1.7 KB
  • __tests__/tools.test.ts4.4 KB
  • .github/dependabot.yml103 B
  • .gitignore50 B
  • BCOS.md980 B
  • CONTRIBUTING.md1.5 KB
  • jest.config.js324 B
  • LICENSE1.1 KB
  • package-lock.json211.7 KB
  • package.json1.2 KB
  • README.md4.4 KB
  • src/index.ts12.5 KB
  • tsconfig.json506 B

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

IOTA Agent MCP

MCP server that connects AI coding agents to the IOTA blockchain. Provides 18 tools across wallet operations, Move smart contract development, and on-chain data queries — all via stdio transport with no secrets in the MCP process.

Workflow

  1. Configure the MCP server in your agent's settings (Claude Code, Cursor, VS Code Copilot)
  2. Query on-chain data — fetch objects, transactions, coins, epoch info, or decompile modules
  3. Develop Move contracts — build, test with coverage, generate unsigned publish transactions
  4. Sign and publish — generate unsigned transaction, submit via iota_wallet_sign_execute, check iota_wallet_pending for approval status, verify on-chain with iota_transaction

Signing flow (human-in-the-loop)

Wallet operations that modify state require human approval:

  1. Call iota_wallet_sign_execute with base64-encoded transaction bytes — creates a pending request
  2. Call iota_wallet_pending to confirm the request was queued
  3. The human approves (iota_wallet_approve) or rejects (iota_wallet_reject) via the agent-wallet server
  4. On approval, verify the transaction landed on-chain: call iota_transaction with the returned digest
  5. If rejected, inform the user and do not retry without explicit instruction

Tools

Wallet (8 tools)

  • iota_wallet_address — Get the active wallet address
  • iota_wallet_balance — Check IOTA balance for the active wallet
  • iota_wallet_accounts — List all derived wallet accounts
  • iota_wallet_sign_execute — Sign and execute a transaction (requires human approval via agent-wallet server)
  • iota_wallet_pending — List pending signing requests awaiting approval
  • iota_wallet_approve — Approve a pending signing request by ID
  • iota_wallet_reject — Reject a pending signing request by ID
  • iota_wallet_switch_network — Switch between mainnet, testnet, and devnet

Move CLI (4 tools)

  • iota_cli — Run any IOTA CLI command (e.g. client gas, move new my_project)
  • iota_move_build — Compile a Move package and report build results
  • iota_move_test_coverage — Run Move tests with coverage analysis and summary
  • iota_move_publish_unsigned — Generate unsigned publish transaction for agent-wallet signing

On-Chain Query (6 tools)

  • iota_object — Fetch object data by ID (owner, type, version, content)
  • iota_objects_by_owner — List objects owned by an address
  • iota_transaction — Fetch transaction details by digest (input, effects, events)
  • iota_coins — Get coin objects for gas estimation and token queries
  • iota_epoch_info — Current epoch, checkpoint, and network statistics via GraphQL
  • iota_decompile — Retrieve and decompile a deployed Move module's ABI

Examples

Build and test a Move package:

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"

Query an on-chain object:

iota_object(object_id: "0xabc123...")
→ { "owner": "0xdef456...", "type": "0x2::coin::Coin<0x2::iota::IOTA>", "version": 42, "content": {...} }

Publish a Move package with wallet signing:

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."

Configuration

Set environment variables to override defaults:

  • IOTA_WALLET_SERVER — Agent wallet server URL (default: http://localhost:3847)
  • IOTA_RPC_URL — IOTA JSON-RPC endpoint (default: mainnet)
  • IOTA_GRAPHQL_URL — IOTA GraphQL indexer (default: mainnet)

Setup

npm install -g iota-agent-mcp
// Claude Code: ~/.claude/settings.json
{
  "mcpServers": {
    "iota": { "command": "iota-agent-mcp" }
  }
}
// Cursor / VS Code: .cursor/mcp.json or .vscode/mcp.json
{
  "servers": {
    "iota": { "command": "npx", "args": ["iota-agent-mcp"] }
  }
}

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

报告此技能的问题