Repository
iota-agent-mcp
MCP server for IOTA blockchain — 20 tools for AI agent integration (wallet, Move CLI, on-chain queries via Model Context Protocol)
- Tool
- Description
- iota_wallet_address
- Get active wallet address
- iota_wallet_balance
- Check IOTA balance
- iota_wallet_accounts
- List all derived accounts
Specs
- ToolDescription
- iota_wallet_addressGet active wallet address
- iota_wallet_balanceCheck IOTA balance
- iota_wallet_accountsList all derived accounts
- iota_wallet_sign_executeSign and execute transactions (human-in-the-loop)
- iota_wallet_pendingView pending signing requests
- iota_wallet_approveApprove a pending request
- iota_wallet_rejectReject a pending request
- iota_wallet_switch_networkSwitch mainnet/testnet/devnet
- ToolDescription
- iota_cliRun any IOTA CLI command
- iota_move_buildBuild a Move package
- iota_move_test_coverageRun tests with coverage analysis
- iota_move_publish_unsignedGenerate unsigned publish transaction
- ToolDescription
- iota_objectFetch object data by ID
- iota_objects_by_ownerList objects owned by an address
- iota_transactionFetch transaction by digest
- iota_coinsGet coin objects for an address
- iota_epoch_infoCurrent epoch and network stats (GraphQL)
- iota_decompileDecompile deployed Move modules
- VariableDefault
- IOTA_WALLET_SERVERhttp://localhost:3847
- IOTA_RPC_URLhttps://api.mainnet.iota.cafe
- IOTA_GRAPHQL_URLhttps://graphql.mainnet.iota.cafe
README
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 |
|---|---|
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 |
CLI & Move (4 tools)
| 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 |
On-Chain Query (6 tools)
| 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 |
Architecture
flowchart LR
client["AI coding agent
Claude Code, Cursor, VS Code Copilot, ChatGPT"]
mcp["iota-agent-mcp
stateless stdio MCP server"]
wallet["Local agent-wallet server
IOTA_WALLET_SERVER
default http://localhost:3847"]
rpc["IOTA JSON-RPC fullnode
IOTA_RPC_URL
default https://api.mainnet.iota.cafe"]
gql["IOTA GraphQL indexer
IOTA_GRAPHQL_URL
default https://graphql.mainnet.iota.cafe"]
cli["iota CLI and Move toolchain
build, test, unsigned publish"]
rustchain["RustChain / Elyan Labs ecosystem
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
Quick Start
Install
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"]
}
}
}
Configuration
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 |
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 tests
License
Apache-2.0