IOTA MCP Server

by Danielmark001

1 147 downloads Not rated yet MIT
GitHub

About

IOTA MCP Server is a Model Context Protocol (MCP) server that provides blockchain services for IOTA, Shimmer, and 30+ EVM-compatible networks. It enables AI agents to read blockchain state, interact with smart contracts, transfer tokens, and access IOTA-specific features like…

Details

License
MIT

Explore

- IOTA network support for IOTA EVM, IOTA Testnet, and Shimmer networks
- IOTA token information including name, symbol, decimals, and total supply
- IOTA network metrics with TPS, block time, gas usage, etc.
- IOTA network status monitoring and health checks
- IOTA balance queries for checking native token balances
- IOTA transaction analytics with gas usage, type detection, and age analysis
- IOTA smart contract deployment for direct deployment of Solidity contracts
- IOTA smart contract analysis with function detection, standard verification, and security assessment
- IOTA DeFi integrations for liquidity pools, lending markets, and staking
- IOTA staking information for monitoring staking activities
- IOTA transaction history and analysis
- Gas price estimation with network congestion analysis and transaction cost prediction
- Cross-chain arbitrage monitoring for detecting profitable trading opportunities between IOTA and other networks
- Cross-chain comparisons between IOTA and other networks

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name IOTA MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

- Bun 1.0.0 or higher
- Node.js 18.0.0 or higher (if not using Bun)

Using Bun (recommended):

bun install

Using npm:

npm install

1. Copy the example environment file:

cp .env.example .env

2. Update the .env file with your configuration:


PORT=3001
HOST=0.0.0.0
DEFAULT_CHAIN_ID=1074  # IOTA EVM Mainnet

IOTA_JWT_TOKEN=your_jwt_token_here
IOTA_NODE_URL=https://api.iota.org
IOTA_MNEMONIC=your_mnemonic_here # Required for sending transactions

SSL_CERT_PATH=./certs/client.crt
SSL_KEY_PATH=./certs/client.key
SSL_CA_PATH=./certs/iota-root-ca.crt

The server uses the following default configuration that can be adjusted in the .env file:


echo "PORT=3001" >> .env
echo "HOST=0.0.0.0" >> .env
echo "DEFAULT_CHAIN_ID=1074" >> .env  # IOTA EVM Mainnet

```bash

npm run demo:install

- Open an issue on GitHub
- Check our FAQ

get_iota_network_info

Get information about IOTA networks

get_iota_balance

Get token balances for an address

transfer_iota

Transfer IOTA tokens to another address

get_iota_staking_info

Get staking information

verify_iota_network_status

Check network health and status

get_iota_gas_prices

Get current gas prices with network congestion analysis

estimate_iota_transaction_cost

Estimate the cost of transactions with different speed options

deploy_iota_smart_contract

Deploy a Solidity smart contract to IOTA networks

analyze_iota_smart_contract

Perform security analysis on deployed smart contracts

get_cross_chain_token_price

Get token prices across different networks including IOTA

find_arbitrage_opportunities

Detect profitable trading opportunities between IOTA and other chains

list_arbitrage_tokens

View all tokens available for arbitrage monitoring

- get_iota_network_info: Get information about IOTA networks
- get_iota_balance: Get token balances for an address
- transfer_iota: Transfer IOTA tokens to another address
- get_iota_staking_info: Get staking information
- verify_iota_network_status: Check network health and status
- get_iota_gas_prices: Get current gas prices with network congestion analysis
- estimate_iota_transaction_cost: Estimate the cost of transactions with different speed options
- deploy_iota_smart_contract: Deploy a Solidity smart contract to IOTA networks
- analyze_iota_smart_contract: Perform security analysis on deployed smart contracts

- get_cross_chain_token_price: Get token prices across different networks including IOTA
- find_arbitrage_opportunities: Detect profitable trading opportunities between IOTA and other chains
- list_arbitrage_tokens: View all tokens available for arbitrage monitoring

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "iota mcp server": {
            "iota_evm_mcp_server": {
                "command": "bun",
                "args": [
                    "start"
                ]
            }
        }
    }
}

McpServers

{
    "iota_evm_mcp_server": {
        "command": "bun",
        "args": [
            "start"
        ]
    }
}

License: MIT
IOTA Integration
EVM Networks
TypeScript
Viem
Node Version
Bun Version

A comprehensive Model Context Protocol (MCP) server that provides blockchain services for IOTA and multiple EVM-compatible networks. This server enables AI agents to interact with IOTA, Shimmer, Ethereum, Optimism, Arbitrum, Base, Polygon, and many other EVM chains through a unified interface.

📋 Contents

- Overview
- Features
- IOTA Integration
- Supported Networks
- Prerequisites
- Installation
- Server Configuration
- Usage
- Interactive Demo
- API Reference
- IOTA Tools
- Arbitrage Tools
- IOTA Resources
- Security Considerations
- Project Structure
- Development
- License

🏆 IOTA APAC AngelHack 2025 Submission

This project was developed as a submission for the IOTA APAC AngelHack 2025 hackathon. It focuses on enhancing the integration between IOTA networks and AI systems through the Model Context Protocol (MCP).

Hackathon Tracks

- Primary: AI Agents
- Secondary: Developer Tools
- Additional: Cross-Chain

🔭 Overview

The IOTA MCP Server leverages the Model Context Protocol to provide blockchain services to AI agents, with a special focus on IOTA and its ecosystem. It supports a wide range of services including:

- Reading blockchain state (balances, transactions, blocks, etc.)
- Interacting with smart contracts
- Transferring tokens (native, ERC20, ERC721, ERC1155)
- IOTA-specific services (staking, network status, gas estimation, etc.)
- Querying token metadata and balances
- Chain-specific services across 30+ EVM networks including IOTA networks
- ENS name resolution for all address parameters (use human-readable names instead of addresses)

All services are exposed through a consistent interface of MCP tools and resources, making it easy for AI agents to discover and use blockchain functionality across multiple networks including IOTA, Shimmer, and all other EVM-compatible chains.

✨ Features

IOTA-Specific Features

- IOTA network support for IOTA EVM, IOTA Testnet, and Shimmer networks
- IOTA token information including name, symbol, decimals, and total supply
- IOTA network metrics with TPS, block time, gas usage, etc.
- IOTA network status monitoring and health checks
- IOTA balance queries for checking native token balances
- IOTA transaction analytics with gas usage, type detection, and age analysis
- IOTA smart contract deployment for direct deployment of Solidity contracts
- IOTA smart contract analysis with function detection, standard verification, and security assessment
- IOTA DeFi integrations for liquidity pools, lending markets, and staking
- IOTA staking information for monitoring staking activities
- IOTA transaction history and analysis
- Gas price estimation with network congestion analysis and transaction cost prediction
- Cross-chain arbitrage monitoring for detecting profitable trading opportunities between IOTA and other networks
- Cross-chain comparisons between IOTA and other networks

Blockchain Data Access

- Multi-chain support for 30+ EVM-compatible networks including IOTA
- Chain information including blockNumber, chainId, and RPCs
- Block data access by number, hash, or latest
- Transaction details and receipts with decoded logs
- Address balances for native tokens and all token standards
- ENS resolution for human-readable Ethereum addresses

Token Services

- ERC20 Tokens

- Get token metadata (name, symbol, decimals, supply)
- Check token balances
- Transfer tokens between addresses
- Approve spending allowances

- NFTs (ERC721)

- Get collection and token metadata
- Verify token ownership
- Transfer NFTs between addresses
- Retrieve token URIs and count holdings

- Multi-tokens (ERC1155)
- Get token balances and metadata
- Transfer tokens with quantity
- Access token URIs

Smart Contract Interactions

- Read contract state through view/pure functions
- Write services with private key signing
- Contract verification to distinguish from EOAs
- Event logs retrieval and filtering

🌐 Supported Networks

IOTA Networks

- IOTA EVM Mainnet
- IOTA Testnet
- Shimmer

Mainnets

- Ethereum (ETH)
- Optimism (OP)
- Arbitrum (ARB)
- Arbitrum Nova
- Base
- Polygon (MATIC)
- Polygon zkEVM
- Avalanche (AVAX)
- Binance Smart Chain (BSC)
- zkSync Era
- Linea
- Celo
- Gnosis (xDai)
- Fantom (FTM)
- Filecoin (FIL)
- Moonbeam
- Moonriver
- Cronos
- Scroll
- Mantle
- Manta
- Blast
- Fraxtal
- Mode
- Metis
- Kroma
- Zora
- Aurora
- Canto
- And more...

Testnets

- Sepolia
- Optimism Sepolia
- Arbitrum Sepolia
- Base Sepolia
- Polygon Amoy
- And more...

🛠️ Prerequisites

- Bun 1.0.0 or higher
- Node.js 18.0.0 or higher (if not using Bun)

📦 Installation

Clone the Repository

First, clone the repository to your local machine:

git clone https://github.com/Danielmark001/iota_evm_mcp_server.git
cd iota_evm_mcp_server

Install Dependencies

Using Bun (recommended):

bun install

Using npm:

npm install

Environment Setup

1. Copy the example environment file:

cp .env.example .env

2. Update the .env file with your configuration:

```bash

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.