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.
18 tools across 3 categories:
| Tool | Description |
|---|---|
iota_wallet_address |
Get active wallet address |
iota_wallet_balance |
Check IOTA balance |
iota_wallet_accounts |
List all derived accounts |
iota_wallet_sign_execute |
Sign and execute transactions (human-in-the-loop) |
iota_wallet_pending |
View pending signing requests |
iota_wallet_approve |
Approve a pending request |
iota_wallet_reject |
Reject a pending request |
iota_wallet_switch_network |
Switch mainnet/testnet/devnet |
| Tool | Description |
|---|---|
iota_cli |
Run any IOTA CLI command |
iota_move_build |
Build a Move package |
iota_move_test_coverage |
Run tests with coverage analysis |
iota_move_publish_unsigned |
Generate unsigned publish transaction |
| Tool | Description |
|---|---|
iota_object |
Fetch object data by ID |
iota_objects_by_owner |
List objects owned by an address |
iota_transaction |
Fetch transaction by digest |
iota_coins |
Get coin objects for an address |
iota_epoch_info |
Current epoch and network stats (GraphQL) |
iota_decompile |
Decompile deployed Move modules |
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" .- mcp
- Stateless — 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
npm install -g iota-agent-mcp// ~/.claude/settings.json
{
"mcpServers": {
"iota": {
"command": "iota-agent-mcp"
}
}
}// .cursor/mcp.json or .vscode/mcp.json
{
"servers": {
"iota": {
"command": "npx",
"args": ["iota-agent-mcp"]
}
}
}Environment variables:
| Variable | Default | Description |
|---|---|---|
IOTA_WALLET_SERVER |
http://localhost:3847 |
Agent wallet server URL |
IOTA_RPC_URL |
https://api.mainnet.iota.cafe |
IOTA JSON-RPC endpoint |
IOTA_GRAPHQL_URL |
https://graphql.mainnet.iota.cafe |
IOTA GraphQL indexer |
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 testsApache-2.0