Skip to main content
Glama
midl-ai
by midl-ai

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MIDL_NETWORKNoNetwork selection (mainnet or testnet)testnet
MIDL_RPC_URLNoCustom RPC endpoint (defaults to staging)https://rpc.staging.midl.xyz
MIDL_PRIVATE_KEYYesPrivate key for signing transactions

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
midl_get_network_infoA

Get current MIDL network information including chain ID, RPC URL, explorer URLs, and current block height. Use this to verify network connectivity and configuration.

midl_get_system_contractsA

Get all MIDL system contract addresses. These are predeployed contracts for core protocol functionality like bridging, staking, and runes.

midl_get_blockA

Get block information by number or latest. Returns block hash, timestamp, transaction count, and gas details.

midl_get_evm_balanceA

Get the EVM layer BTC balance. If no address provided, returns balance of connected wallet. Returns balance in wei and formatted BTC.

midl_get_btc_balanceA

Get the Bitcoin L1 balance. If no address provided, returns balance of connected wallet payment address. Returns confirmed and unconfirmed balances.

midl_get_token_balanceA

Get ERC20 token balance for an address. Returns balance along with token metadata (symbol, name, decimals).

midl_read_contractA

Read data from a smart contract. Requires contract address, ABI, and function name. Returns the function result.

midl_write_contractB

Execute a state-changing function on a smart contract via MIDL intention flow. For payable functions, include value parameter (in wei).

midl_get_logsB

Get event logs from the blockchain. Can filter by contract address and block range. Returns raw log data.

midl_verify_contractA

Verify contract source code on Blockscout explorer. Requires contract address, source code, and compiler settings.

midl_get_utxosA

Get unspent transaction outputs (UTXOs). If no address provided, uses connected wallet payment address.

midl_get_transactionA

Get Bitcoin transaction details by txid.

midl_get_transaction_receiptA

Get EVM transaction receipt including status, gas used, and logs.

midl_get_fee_rateA

Get current Bitcoin fee rates (sat/vB) for different confirmation targets.

midl_deploy_contractA

Deploy a smart contract. Three options:

  1. Template (easiest): template="erc20" + name, symbol, initialSupply

  2. Source code: source="pragma solidity..." + contractName

  3. Pre-compiled: abi + bytecode Templates: erc20, counter, storage

midl_transfer_evmB

Transfer native BTC on the EVM layer to another address.

midl_transfer_tokenB

Transfer ERC20 tokens to another address.

midl_send_raw_transactionA

Send a raw signed transaction to the network. Returns full transaction receipt.

midl_convert_btc_to_evmA

Derive EVM address from Bitcoin public key (compressed 33-byte or uncompressed 65-byte hex). In MIDL, each BTC key deterministically maps to one EVM address via keccak256.

midl_get_rune_erc20_addressA

Get the ERC20 contract address for a Rune. Each Rune has a deterministic ERC20 address derived via CREATE2.

midl_estimate_gasA

Estimate gas required for an EVM transaction before sending.

midl_get_runesA

Get all Runes held by a Bitcoin address. If no address provided, uses connected wallet ordinals address.

midl_get_rune_balanceA

Get the balance of a specific Rune. If no address provided, uses connected wallet ordinals address.

midl_transfer_runeA

Transfer Runes to another Bitcoin address.

midl_bridge_rune_to_erc20A

Bridge a Rune from Bitcoin layer to its ERC20 representation on EVM. The ERC20 tokens will be credited after validator confirmation (~10 minutes).

midl_bridge_erc20_to_runeA

Bridge an ERC20 token back to its native Rune on Bitcoin (withdrawal). The Runes will be credited to your Bitcoin address after validator confirmation.

midl_bridge_btc_to_evmA

Bridge BTC from the Bitcoin layer to the EVM layer. Creates a deposit transaction that sends BTC to the TSS multisig, which validators process to credit your EVM address.

midl_bridge_evm_to_btcA

Withdraw BTC from the EVM layer back to the Bitcoin layer. Creates a withdrawal transaction that validators process to send BTC to your specified Bitcoin address.

midl_get_bridge_statusA

Track the status of a BTC→EVM bridge transaction. Shows BTC confirmations, validator processing, and EVM credit status with helpful suggestions.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/midl-ai/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server