Skip to main content
Glama

iota-agent-mcp

MCP Server for the IOTA blockchain — enables AI coding agents (Claude Code, Cursor, VS Code Copilot, ChatGPT) to interact with IOTA directly.

Built in response to iotaledger/iota-rust-sdk#986.

Tools (16 total)

Wallet

Tool

Description

iota_wallet_address

Get current wallet address

iota_wallet_balance

Check IOTA balance

iota_wallet_accounts

List all wallet accounts

iota_wallet_pending

View pending tx approvals

iota_wallet_approve

Approve pending transaction

iota_wallet_reject

Reject pending transaction

iota_wallet_switch_network

Switch mainnet/testnet/devnet

iota_wallet_sign_execute

Sign & execute transaction

CLI / Move Dev

Tool

Description

iota_cli

Run any iota CLI command

move_build

Build a Move package

move_test

Run Move unit tests

move_test_coverage

Run tests + coverage report

move_publish_unsigned

Build publish tx (unsigned)

On-chain Query

Tool

Description

iota_object

Fetch object by ID

iota_objects_by_owner

List objects by owner

iota_get_coins

Get coin objects for address

iota_transaction

Fetch transaction by digest

iota_coin_metadata

Get coin type metadata

iota_package_info

Get Move package ABIs

iota_resolve_name

Resolve IOTA Name Service

iota_get_price

Current IOTA price (CoinGecko)

iota_graphql_query

Raw GraphQL query

iota_epoch_info

Epoch, checkpoint, network stats

iota_decompile

Decompile Move module

Related MCP server: iota-agent-mcp

Setup

npm install -g iota-agent-mcp

Add to your Claude/Cursor MCP config:

{
  "mcpServers": {
    "iota": {
      "command": "iota-mcp",
      "env": {
        "IOTA_RPC_URL": "https://api.mainnet.iota.cafe",
        "IOTA_WALLET_SERVER": "http://localhost:3847"
      }
    }
  }
}

Environment Variables

Variable

Default

Description

IOTA_RPC_URL

https://api.mainnet.iota.cafe

IOTA JSON-RPC endpoint

IOTA_GRAPHQL_URL

https://graphql.mainnet.iota.cafe

IOTA GraphQL endpoint

IOTA_WALLET_SERVER

http://localhost:3847

Local agent wallet server

Networks

Network

RPC

Mainnet

https://api.mainnet.iota.cafe

Testnet

https://api.testnet.iota.cafe

Devnet

https://api.devnet.iota.cafe

Build from source

git clone https://github.com/dearsealx-blip/iota-agent-mcp
cd iota-agent-mcp
npm install
npm run build
node dist/index.js

License

MIT

Available Tools

24 tools
iota_cliB

Run any IOTA CLI command (e.g. 'client gas', 'client objects', 'client ptb ...')

Inputs: args (required), cwd.

iota_coin_metadataB

Get metadata for a coin type

Inputs: coinType (required).

iota_decompileB

Decompile Move bytecode from a published package module

Inputs: module (required), packageId (required).

iota_epoch_infoA

Get current epoch, checkpoint, and network stats

Inputs: no named parameters.

iota_get_coinsA

Get all coin objects for an address (IOTA or any token)

Inputs: address (required), coinType.

iota_get_priceA

Get current IOTA token price via CoinGecko

Inputs: no named parameters.

iota_graphql_queryB

Run a raw GraphQL query against the IOTA GraphQL endpoint

Inputs: query (required).

iota_objectB

Fetch details of an IOTA object by ID

Inputs: objectId (required).

iota_objects_by_ownerB

List all objects owned by an address

Inputs: address (required), type.

iota_package_infoA

Fetch Move package info, modules, and ABIs

Inputs: packageId (required).

iota_resolve_nameA

Resolve an IOTA Name Service (IOTA NS) name to address

Inputs: name (required).

iota_transactionB

Fetch a transaction by digest

Inputs: digest (required).

iota_wallet_accountsA

List all accounts in the IOTA Agent Wallet

Inputs: no named parameters.

iota_wallet_addressB

Get the current IOTA Agent Wallet address

Inputs: no named parameters.

iota_wallet_approveC

Approve a pending transaction

Inputs: requestId (required).

iota_wallet_balanceA

Get IOTA balance of the current wallet

Inputs: no named parameters.

iota_wallet_pendingA

Get pending transactions awaiting approval

Inputs: no named parameters.

iota_wallet_rejectA

Reject a pending transaction

Inputs: requestId (required).

iota_wallet_sign_executeC

Sign and execute a transaction (base64 tx bytes)

Inputs: txBytes (required).

iota_wallet_switch_networkB

Switch wallet network

Inputs: network (required).

move_buildB

Build a Move package on IOTA

Inputs: path (required).

move_publish_unsignedA

Build and create an unsigned publish transaction (safe — does not execute)

Inputs: path (required), gas_budget.

move_testC

Run Move unit tests

Inputs: path (required), filter.

move_test_coverageB

Run Move tests and generate coverage report

Inputs: path (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 24 tools

    Disambiguation4/5

    Most tools have distinct purposes (price, wallet, Move, objects). Pairs like move_test and move_test_coverage overlap, and iota_cli can perform any CLI operation, creating potential misselection. Descriptions help, but the presence of a catch-all reduces clarity.

    Naming Consistency4/5

    Uses a consistent prefix (iota_, move_) and snake_case. However, some names are nouns (iota_wallet_address) while others are verb phrases (move_publish_unsigned), and iota_cli is a vague outlier.

    Tool Count3/5

    24 tools is above the typical range (3-15) and falls in the heavy category, though the breadth of IOTA functionality (wallet, Move, chain) may justify it.

    Completeness4/5

    Covers wallet management, Move development, chain queries, and GraphQL. Missing explicit publish/execute for Move, but iota_cli and sign_execute fill the gap. Overall, a robust surface.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers