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.
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.
iota_wallet_sign_execute, check iota_wallet_pending for approval status, verify on-chain with iota_transactionWallet operations that modify state require human approval:
iota_wallet_sign_execute with base64-encoded transaction bytes — creates a pending requestiota_wallet_pending to confirm the request was queuediota_wallet_approve) or rejects (iota_wallet_reject) via the agent-wallet serveriota_transaction with the returned digestiota_wallet_address — Get the active wallet addressiota_wallet_balance — Check IOTA balance for the active walletiota_wallet_accounts — List all derived wallet accountsiota_wallet_sign_execute — Sign and execute a transaction (requires human approval via agent-wallet server)iota_wallet_pending — List pending signing requests awaiting approvaliota_wallet_approve — Approve a pending signing request by IDiota_wallet_reject — Reject a pending signing request by IDiota_wallet_switch_network — Switch between mainnet, testnet, and devnetiota_cli — Run any IOTA CLI command (e.g. client gas, move new my_project)iota_move_build — Compile a Move package and report build resultsiota_move_test_coverage — Run Move tests with coverage analysis and summaryiota_move_publish_unsigned — Generate unsigned publish transaction for agent-wallet signingiota_object — Fetch object data by ID (owner, type, version, content)iota_objects_by_owner — List objects owned by an addressiota_transaction — Fetch transaction details by digest (input, effects, events)iota_coins — Get coin objects for gas estimation and token queriesiota_epoch_info — Current epoch, checkpoint, and network statistics via GraphQLiota_decompile — Retrieve and decompile a deployed Move module's ABIBuild 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."
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)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"] }
}
}
Copy a source-pinned command for your client. You run it yourself.
Destination: .claude/skills/iota-agent-mcp · pinned to the source commit
git clone https://github.com/Scottcjn/iota-agent-mcp.git
cd iota-agent-mcp
git checkout 7d2ae3f8b44bf468de37be08ddded19ca3069167
mkdir -p ".claude/skills/iota-agent-mcp"
cp -r . ".claude/skills/iota-agent-mcp"Review the source before running. This copies files into your project; it is not a one-click install and does not verify runtime safety.
Scanner static-checks@0.1.0 · commit 7d2ae3f8b44b. Static checks cannot prove runtime safety – review the source and the exact diff before installing. How checks work.
Instructs shell/process/package operations that run commands on the host.
Evidence: npm install· fingerprint 3a2dc0ae21eb56d7