iota-agent-mcp
The iota-agent-mcp server is an MCP (Model Context Protocol) server enabling AI agents to interact with the IOTA blockchain across three main areas:
Wallet Management
Get active wallet address and check balance
List all derived wallet accounts
Sign and execute transactions with human-in-the-loop approval
View, approve, or reject pending signing requests
Switch between mainnet, testnet, and devnet
CLI & Move Smart Contract Development
Run arbitrary IOTA CLI commands
Build Move packages and report compilation results
Run Move tests with coverage analysis
Generate unsigned publish transactions for Move packages
On-Chain Data Querying
Fetch object data by ID (owner, type, version, content)
List objects owned by a specific address
Retrieve transaction details by digest
Get coin objects for an address (useful for gas estimation)
Query current epoch, checkpoint, and network stats via GraphQL
Decompile deployed Move modules to view their ABI (structs, functions, type parameters)
Enables comprehensive interaction with the IOTA blockchain, allowing for wallet management, transaction signing and execution, on-chain queries for objects and transactions, and Move smart contract development including building, testing, and publishing modules.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@iota-agent-mcp check my active wallet address and current IOTA balance"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
iota-agent-mcp
MCP (Model Context Protocol) server for IOTA blockchain. Enables AI coding agents (Claude Code, Cursor, VS Code Copilot, ChatGPT) to interact directly with the IOTA network.
Tools
18 tools across 3 categories:
Wallet (8 tools)
Tool | Description |
| Get active wallet address |
| Check IOTA balance |
| List all derived accounts |
| Sign and execute transactions (human-in-the-loop) |
| View pending signing requests |
| Approve a pending request |
| Reject a pending request |
| Switch mainnet/testnet/devnet |
CLI & Move (4 tools)
Tool | Description |
| Run any IOTA CLI command |
| Build a Move package |
| Run tests with coverage analysis |
| Generate unsigned publish transaction |
On-Chain Query (6 tools)
Tool | Description |
| Fetch object data by ID |
| List objects owned by an address |
| Fetch transaction by digest |
| Get coin objects for an address |
| Current epoch and network stats (GraphQL) |
| Decompile deployed Move modules |
Related MCP server: iota-agent-mcp
Architecture
flowchart LR
client["AI coding agent<br/>Claude Code, Cursor, VS Code Copilot, ChatGPT"]
mcp["iota-agent-mcp<br/>stateless stdio MCP server"]
wallet["Local agent-wallet server<br/>IOTA_WALLET_SERVER<br/>default http://localhost:3847"]
rpc["IOTA JSON-RPC fullnode<br/>IOTA_RPC_URL<br/>default https://api.mainnet.iota.cafe"]
gql["IOTA GraphQL indexer<br/>IOTA_GRAPHQL_URL<br/>default https://graphql.mainnet.iota.cafe"]
cli["iota CLI and Move toolchain<br/>build, test, unsigned publish"]
rustchain["RustChain / Elyan Labs ecosystem<br/>BCOS and agent workflow context"]
client <-->|"MCP over stdio"| mcp
mcp -->|"wallet address, balance, accounts"| wallet
mcp -->|"sign / approve / reject requests"| wallet
mcp -->|"object, transaction, coins"| rpc
mcp -->|"epoch and network stats"| gql
mcp -->|"execFile without shell"| cli
rustchain -. "ecosystem docs and certification" .- mcpStateless — no secrets in the MCP process
Human-in-the-loop — wallet ops proxy to a local agent-wallet server with approval flow
Dual query — JSON-RPC for object/tx queries, GraphQL for aggregate stats
CLI passthrough — Move build/test/publish via
iotabinary
Quick Start
Install
npm install -g iota-agent-mcpClaude 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"]
}
}
}Configuration
Environment variables:
Variable | Default | Description |
|
| Agent wallet server URL |
|
| IOTA JSON-RPC endpoint |
|
| IOTA GraphQL indexer |
Development
git clone https://github.com/Scottcjn/iota-agent-mcp.git
cd iota-agent-mcp
npm install
npm run build # Compile TypeScript
npm run dev # Run with tsx (hot reload)
npm test # Run testsLicense
Apache-2.0
Part of the Elyan Labs Ecosystem
Available Tools
18 toolsiota_cliB
Run an arbitrary IOTA CLI command. Use for operations not covered by other tools.
Inputs: command (required).
iota_coinsC
Get coin objects for an address (useful for gas estimation and token queries)
Inputs: address (required), coin_type.
iota_decompileB
Retrieve and decompile a deployed Move module. Returns the module's ABI (structs, functions, type params).
Inputs: package_id (required), module_name (required).
iota_epoch_infoB
Get current epoch, checkpoint, and network statistics via GraphQL
Inputs: no named parameters.
iota_move_buildC
Build a Move package and report compilation results
Inputs: path.
iota_move_publish_unsignedB
Generate an unsigned publish transaction for a Move package (for agent wallet signing)
Inputs: path, gas_budget.
iota_move_test_coverageB
Run Move tests with coverage analysis. Returns test results and coverage summary.
Inputs: path, filter.
iota_objectB
Fetch on-chain object data by ID. Returns owner, type, version, and content.
Inputs: object_id (required).
iota_objects_by_ownerC
List objects owned by an address
Inputs: address (required), limit.
iota_transactionB
Fetch transaction details by digest
Inputs: digest (required).
iota_wallet_accountsB
List all derived wallet accounts
Inputs: no named parameters.
iota_wallet_addressB
Get the active wallet address
Inputs: no named parameters.
iota_wallet_approveC
Approve a pending signing request
Inputs: request_id (required).
iota_wallet_balanceB
Check IOTA balance for the active wallet
Inputs: no named parameters.
iota_wallet_pendingA
List pending signing requests awaiting approval
Inputs: no named parameters.
iota_wallet_rejectC
Reject a pending signing request
Inputs: request_id (required).
iota_wallet_sign_executeA
Sign and execute a transaction via the agent wallet (human-in-the-loop approval required)
Inputs: tx_bytes (required).
iota_wallet_switch_networkC
Switch between mainnet, testnet, and devnet
Inputs: network (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 18 tools
Most tools have distinct purposes with clear boundaries, such as iota_object for fetching object data versus iota_objects_by_owner for listing owner objects. However, there is some overlap between iota_wallet_approve and iota_wallet_reject, which both handle pending signing requests but with opposite actions, which could cause minor confusion in selection. The iota_cli tool is a catch-all for uncovered operations, which might overlap with other tools if not used carefully.
The tool names follow a highly consistent pattern with a clear prefix 'iota_' and descriptive verb_noun combinations, such as iota_move_build, iota_wallet_balance, and iota_epoch_info. All tools use snake_case uniformly, and the naming conventions are predictable across the set, making it easy to understand the purpose and domain of each tool.
With 18 tools, the count is slightly high but reasonable for a comprehensive IOTA agent server covering CLI operations, Move development, object queries, and wallet management. It provides a broad scope without being overwhelming, though it might benefit from slight consolidation in areas like wallet request handling to reduce complexity.
The tool set offers complete coverage for the IOTA agent domain, including CLI execution, Move package building and publishing, on-chain data queries (objects, transactions, epochs), and full wallet lifecycle management (accounts, balances, signing, network switching). There are no obvious gaps; agents can perform all essential operations from development to deployment and interaction with the blockchain.
Maintenance
Related MCP Connectors
MCP server for the Z1N Protocol - on-chain identity for AI agents on Polygon
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Tenzro Network MCP server: wallet, identity, payments, inference, staking, bridges, verification.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Related MCP Servers
AlicenseCqualityDmaintenanceAn MCP server providing unified access to blockchain operations, bridging, swapping, and crypto trading strategies for AI agents.37178GPL 3.0- AlicenseBqualityDmaintenanceMCP Server for the IOTA blockchain that enables AI coding agents to interact with IOTA directly.24MIT
- AlicenseBqualityDmaintenanceAn MCP server that enables AI agents to interact with the Solana blockchain through 20 tools for wallet management, SPL token operations, blockchain exploration, and DeFi integration via Jupiter.21MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that gives AI agents real-time access to DeFi across multiple chains, enabling non-custodial crypto trading, portfolio queries, and transaction execution.7 npm7MIT