About Iota Agent MCP
Iota Agent MCP is an MCP server in the Blockchain category: mCP server for IOTA blockchain — 20 tools for AI agent integration (wallet, Move CLI, on-chain queries via Model Context Protocol).
Install
git clone https://github.com/Scottcjn/iota-agent-mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (8)
iota_wallet_accountsList all derived accounts
Parameters not published.
iota_wallet_addressGet active wallet address
Parameters not published.
iota_wallet_approveApprove a pending request
Parameters not published.
iota_wallet_balanceCheck IOTA balance
Parameters not published.
iota_wallet_pendingView pending signing requests
Parameters not published.
iota_wallet_rejectReject a pending request
Parameters not published.
iota_wallet_sign_executeSign and execute transactions (human-in-the-loop)
Parameters not published.
iota_wallet_switch_networkSwitch mainnet/testnet/devnet
Parameters not published.
Ask AI
Ask AI about Iota Agent MCP
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
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
20 tools across 4 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 (8 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
┌──────────────────────┐ stdio ┌──────────────────────┐
│ AI Agent (Claude, │ ◀────────────▶ │ iota-agent-mcp │
│ Cursor, VS Code) │ │ (this server) │
└──────────────────────┘ └───┬──────┬──────┬────┘
│ │ │
HTTP │ RPC │ GQL │
▼ ▼ ▼
┌────────┐ ┌────────┐ ┌────────┐
│ Agent │ │ IOTA │ │ IOTA │
│ Wallet │ │ Node │ │ GQL │
│:3847 │ │ RPC │ │Indexer │
└────────┘ └────────┘ └────────┘
- 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
Part of the Elyan Labs Ecosystem
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.