IOTA MCP Server
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:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
IOTA MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- 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"
]
}
}
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
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



