mcpdotdirect/evm-mcp-server

mcpdotdirect/evm-mcp-server

от mcpdotdirect
MCP-сервер для взаимодействия с 60+ EVM-сетями. Предоставляет AI-агентам 22 инструмента для чтения контрактов, перевода токенов, NFT и транзакций. Работает с ENS и автоматически подтягивает ABI из блокчейн-эксплореров.

EVM MCP Server

License: MIT EVM Networks TypeScript MCP Viem

A comprehensive Model Context Protocol (MCP) server that provides blockchain services across 60+ EVM-compatible networks. This server enables AI agents to interact with Ethereum, Optimism, Arbitrum, Base, Polygon, and many other EVM chains with a unified interface through 22 tools and 10 AI-guided prompts.

📋 Contents

  • Overview
  • Features
  • Supported Networks
  • Prerequisites
  • Installation
  • Configuration
    • Environment Variables
    • Server Configuration
  • Usage
  • API Reference
    • Tools
    • Prompts
    • Resources
  • Security Considerations
  • Project Structure
  • Development
  • License

🔭 Overview

The MCP EVM Server leverages the Model Context Protocol to provide blockchain services to AI agents. It supports a wide range of services including:

  • Reading blockchain state (balances, transactions, blocks, etc.)
  • Interacting with smart contracts with automatic ABI fetching from block explorers
  • Transferring tokens (native, ERC20, ERC721, ERC1155)
  • Querying token metadata and balances
  • Chain-specific services across 60+ EVM networks (34 mainnets + 26 testnets)
  • ENS name resolution for all address parameters (use human-readable names like 'vitalik.eth' instead of addresses)
  • AI-friendly prompts that guide agents through complex workflows
approve_token_spendingвнешний мир

Одобрите расходователя (контракт) для траты токенов от вашего имени. Требуется перед взаимодействием с DEX, протоколами кредитования и т.д.

Одобрите расходователя (контракт) для траты токенов от вашего имени. Требуется перед взаимодействием с DEX, протоколами кредитования и т.д.

Параметры

  • tokenAddressstringобязательный

    The ERC20 token contract address

  • spenderAddressstringобязательный

    The address that will be allowed to spend tokens (usually a contract)

  • amountstringобязательный

    Amount to approve (in token units). Use '0' to revoke approval.

  • networkstring

    Network name or chain ID. Defaults to Ethereum mainnet.

get_allowanceтолько чтениеидемпотентныйвнешний мир

Проверяет разрешение, выданное расходователю на токен. Это показывает, сколько токенов адрес может потратить от вашего имени.

Проверяет разрешение, выданное расходователю на токен. Это показывает, сколько токенов адрес может потратить от вашего имени.

Параметры

  • tokenAddressstringобязательный

    The ERC20 token contract address

  • spenderAddressstringобязательный

    The address allowed to spend the token (usually a contract address)

  • ownerAddressstring

    The owner address (defaults to the configured wallet)

  • networkstring

    Network name or chain ID. Defaults to Ethereum mainnet.

get_balanceтолько чтениеидемпотентныйвнешний мир

Получить баланс нативного токена (ETH, MATIC и т.д.) для адреса

Получить баланс нативного токена (ETH, MATIC и т.д.) для адреса

Параметры

  • addressstringобязательный

    The wallet address or ENS name

  • networkstring

    Network name or chain ID. Defaults to Ethereum mainnet.

get_blockтолько чтениеидемпотентныйвнешний мир

Получить детали блока по номеру блока или хешу

Получить детали блока по номеру блока или хешу

Параметры

  • blockIdentifierstringобязательный

    Block number (as string) or block hash

  • networkstring

    Network name or chain ID. Defaults to Ethereum mainnet.

get_chain_infoтолько чтениеидемпотентныйвнешний мир

Получить информацию о сети EVM: идентификатор цепочки, текущий номер блока и RPC-эндпоинт.

Получить информацию о сети EVM: идентификатор цепочки, текущий номер блока и RPC-эндпоинт.

Параметры

  • networkstring

    Network name (e.g., 'ethereum', 'optimism', 'arbitrum', 'base') or chain ID. Defaults to Ethereum mainnet.

get_contract_abiтолько чтениеидемпотентныйвнешний мир

Получает полный ABI контракта с Etherscan и других блокчейн-обозревателей. Используйте это, чтобы изучить верифицированные контракты перед взаимодействием. Требуется ETHERSCAN_API_KEY. Поддерживает более 30 EVM-сетей. Лучше всего работает с верифицированными контрактами на блокчейн-обозревателях.

Получает полный ABI контракта с Etherscan и других блокчейн-обозревателей. Используйте это, чтобы изучить верифицированные контракты перед взаимодействием. Требуется ETHERSCAN_API_KEY. Поддерживает более 30 EVM-сетей. Лучше всего работает с верифицированными контрактами на блокчейн-обозревателях.

Параметры

  • contractAddressstringобязательный

    The contract address (0x...)

  • networkstring

    Network name or chain ID. Defaults to ethereum. Supported: ethereum, polygon, arbitrum, optimism, base, avalanche, gnosis, fantom, bsc, celo, scroll, linea, zksync, manta, blast, and testnets (sepolia, mumbai, arbitrum-sepolia, optimism-sepolia, base-sepolia, avalanche-fuji)

get_erc1155_balanceтолько чтениеидемпотентныйвнешний мир

Получить баланс токена ERC1155 для адреса

Получить баланс токена ERC1155 для адреса

Параметры

  • contractAddressstringобязательный

    The ERC1155 contract address

  • tokenIdstringобязательный

    The token ID

  • addressstringобязательный

    The owner address or ENS name

  • networkstring

    Network name or chain ID. Defaults to Ethereum mainnet.

get_gas_priceтолько чтениевнешний мир

Получить текущие цены на газ (base fee, standard и fast) для сети

Получить текущие цены на газ (base fee, standard и fast) для сети

Параметры

  • networkstring

    Network name or chain ID. Defaults to Ethereum mainnet.

get_latest_blockтолько чтениевнешний мир

Получить последний блок из сети

Получить последний блок из сети

Параметры

  • networkstring

    Network name or chain ID. Defaults to Ethereum mainnet.

get_nft_infoтолько чтениеидемпотентныйвнешний мир

Получите информацию об ERC721 NFT, включая URI метаданных.

Получите информацию об ERC721 NFT, включая URI метаданных.

Параметры

  • contractAddressstringобязательный

    The NFT contract address

  • tokenIdstringобязательный

    The NFT token ID

  • networkstring

    Network name or chain ID. Defaults to Ethereum mainnet.

get_supported_networksтолько чтениеидемпотентный

Получить список всех поддерживаемых EVM-сетей

Получить список всех поддерживаемых EVM-сетей

Параметры

Без параметров.

get_token_balanceтолько чтениеидемпотентныйвнешний мир

Получить баланс токенов ERC20 для адреса

Получить баланс токенов ERC20 для адреса

Параметры

  • addressstringобязательный

    The wallet address or ENS name

  • tokenAddressstringобязательный

    The ERC20 token contract address

  • networkstring

    Network name or chain ID. Defaults to Ethereum mainnet.

get_transactionтолько чтениеидемпотентныйвнешний мир

Получить детали транзакции по хешу транзакции

Получить детали транзакции по хешу транзакции

Параметры

  • txHashstringобязательный

    Transaction hash (0x...)

  • networkstring

    Network name or chain ID. Defaults to Ethereum mainnet.

get_transaction_receiptтолько чтениеидемпотентныйвнешний мир

Получите квитанцию транзакции (статус подтверждения, использованный газ, логи). Используйте её, чтобы проверить, подтвердилась ли транзакция.

Получите квитанцию транзакции (статус подтверждения, использованный газ, логи). Используйте её, чтобы проверить, подтвердилась ли транзакция.

Параметры

  • txHashstringобязательный

    Transaction hash (0x...)

  • networkstring

    Network name or chain ID. Defaults to Ethereum mainnet.

get_wallet_addressтолько чтениеидемпотентный

Получите адрес настроенного кошелька. Используйте это, чтобы проверить, какой кошелек активен.

Получите адрес настроенного кошелька. Используйте это, чтобы проверить, какой кошелек активен.

Параметры

Без параметров.

lookup_ens_addressтолько чтениеидемпотентныйвнешний мир

Найти ENS-имя для Ethereum-адреса (обратное разрешение)

Найти ENS-имя для Ethereum-адреса (обратное разрешение)

Параметры

  • addressstringобязательный

    Ethereum address to lookup

  • networkstring

    Network name or chain ID. Defaults to Ethereum mainnet.

multicallтолько чтениеидемпотентныйвнешний мир

Объединяет несколько вызовов чтения контрактов в один RPC-запрос. Значительно снижает задержки и нагрузку на RPC при запросе множества функций. Использует контракт Multicall3, развернутый во всех основных сетях. Идеально подходит для анализа портфелей, агрегации цен и эффективного опроса состояний нескольких контрактов.

Объединяет несколько вызовов чтения контрактов в один RPC-запрос. Значительно снижает задержки и нагрузку на RPC при запросе множества функций. Использует контракт Multicall3, развернутый во всех основных сетях. Идеально подходит для анализа портфелей, агрегации цен и эффективного опроса состояний нескольких контрактов.

Параметры

  • callsobject[]обязательный

    Array of contract calls to batch together

  • allowFailureboolean

    If true, returns partial results even if some calls fail. Defaults to true.

  • networkstring

    Network name or chain ID. Defaults to Ethereum mainnet.

read_contractтолько чтениеидемпотентныйвнешний мир

Вызывает read-only функции смарт-контракта. Автоматически получает ABI из обозревателя блокчейна, если он не указан (требуется ETHERSCAN_API_KEY). Если контракт не верифицирован, использует стандартные функции. Используйте для запроса состояния и данных контракта.

Вызывает read-only функции смарт-контракта. Автоматически получает ABI из обозревателя блокчейна, если он не указан (требуется ETHERSCAN_API_KEY). Если контракт не верифицирован, использует стандартные функции. Используйте для запроса состояния и данных контракта.

Параметры

  • contractAddressstringобязательный

    The contract address

  • functionNamestringобязательный

    Function name (e.g., 'name', 'symbol', 'balanceOf', 'totalSupply', 'owner')

  • argsstring[]

    Function arguments as strings (e.g., ['0xAddress'] for balanceOf)

  • abiJsonstring

    Full contract ABI as JSON string (optional - will auto-fetch verified contract ABI if not provided)

  • networkstring

    Network name or chain ID. Defaults to Ethereum mainnet.

resolve_ens_nameтолько чтениеидемпотентныйвнешний мир

Разрешить имя ENS в адрес Ethereum

Разрешить имя ENS в адрес Ethereum

Параметры

  • ensNamestringобязательный

    ENS name to resolve (e.g., 'vitalik.eth')

  • networkstring

    Network name or chain ID. ENS resolution works best on Ethereum mainnet. Defaults to Ethereum mainnet.

sign_messageидемпотентный

Подпишите произвольное сообщение с помощью настроенного кошелька. Полезно для аутентификации (SIWE), метатранзакций и внецепочечных подписей. Подпись можно проверить как в цепочке, так и вне цепочки.

Подпишите произвольное сообщение с помощью настроенного кошелька. Полезно для аутентификации (SIWE), метатранзакций и внецепочечных подписей. Подпись можно проверить как в цепочке, так и вне цепочки.

Параметры

  • messagestringобязательный

    The message to sign (plain text or hex-encoded data)

sign_typed_dataидемпотентный

Подписывает структурированные данные (EIP-712) с использованием настроенного кошелька. Используется для газлесс-транзакций, мета-транзакций, подписей permit и протокол-специфичных подписей. Подпись соответствует стандарту EIP-712.

Подписывает структурированные данные (EIP-712) с использованием настроенного кошелька. Используется для газлесс-транзакций, мета-транзакций, подписей permit и протокол-специфичных подписей. Подпись соответствует стандарту EIP-712.

Параметры

  • domainJsonstringобязательный

    EIP-712 domain as JSON string with fields: name, version, chainId, verifyingContract, salt (all optional)

  • typesJsonstringобязательный

    EIP-712 types definition as JSON string (exclude EIP712Domain type - it's added automatically)

  • primaryTypestringобязательный

    The primary type name (e.g., 'Mail', 'Permit', 'MetaTransaction')

  • messageJsonstringобязательный

    The message data to sign as JSON string

transfer_erc20внешний мир

Переводит ERC20-токены на указанный адрес. Использует настроенный кошелёк.

Переводит ERC20-токены на указанный адрес. Использует настроенный кошелёк.

Параметры

  • tokenAddressstringобязательный

    The ERC20 token contract address

  • tostringобязательный

    Recipient address or ENS name

  • amountstringобязательный

    Amount to send (in token units, accounting for decimals)

  • networkstring

    Network name or chain ID. Defaults to Ethereum mainnet.

transfer_nativeвнешний мир

Переводит нативные токены (ETH, MATIC и т.д.) на адрес. Использует настроенный кошелек.

Переводит нативные токены (ETH, MATIC и т.д.) на адрес. Использует настроенный кошелек.

Параметры

  • tostringобязательный

    Recipient address or ENS name

  • amountstringобязательный

    Amount to send in ether (e.g., '0.5' for 0.5 ETH)

  • networkstring

    Network name or chain ID. Defaults to Ethereum mainnet.

wait_for_transactionтолько чтениевнешний мир

Ожидает подтверждения транзакции (майнинга). Опрашивает сеть до подтверждения.

Ожидает подтверждения транзакции (майнинга). Опрашивает сеть до подтверждения.

Параметры

  • txHashstringобязательный

    Transaction hash (0x...)

  • confirmationsnumber

    Number of block confirmations required. Defaults to 1.

  • networkstring

    Network name or chain ID. Defaults to Ethereum mainnet.

write_contractвнешний мир

Выполняет функции, изменяющие состояние смарт-контракта. Автоматически получает ABI из блок-эксплорера, если он не указан (требуется ETHERSCAN_API_KEY). Используйте это, чтобы вызвать любую функцию записи на верифицированных контрактах. Требуется настроенный кошелек (через приватный ключ или мнемоническую фразу).

Выполняет функции, изменяющие состояние смарт-контракта. Автоматически получает ABI из блок-эксплорера, если он не указан (требуется ETHERSCAN_API_KEY). Используйте это, чтобы вызвать любую функцию записи на верифицированных контрактах. Требуется настроенный кошелек (через приватный ключ или мнемоническую фразу).

Параметры

  • contractAddressstringобязательный

    The contract address

  • functionNamestringобязательный

    Function name to call (e.g., 'mint', 'swap', 'stake', 'approve')

  • argsstring[]

    Function arguments as strings (e.g., ['0xAddress', '1000000'])

  • valuestring

    ETH value to send with transaction in ether (e.g., '0.1' for payable functions)

  • abiJsonstring

    Full contract ABI as JSON string (optional - will auto-fetch verified contract ABI if not provided)

  • networkstring

    Network name or chain ID. Defaults to Ethereum mainnet.

Другие проверенные MCP-сервера

confluentinc/mcp-confluent

confluentinc/mcp-confluent

официальный

MCP-сервер для управления Confluent Cloud и Kafka через естественный язык. Включает 50+ инструментов для работы с топиками, Flink SQL, Schema Registry, коннекторами и метриками. Подходит для Claude Desktop, VS Code и других MCP-клиентов.

TypeScript164
zinja-coder/jadx-ai-mcp

zinja-coder/jadx-ai-mcp

JADX-AI-MCP - плагин для декомпилятора JADX с интеграцией MCP, позволяющий LLM (Claude) в реальном времени анализировать Android APK, искать уязвимости и давать рекомендации по реверс-инжинирингу.

Java2507
stacklok/toolhive

stacklok/toolhive

ToolHive — open-source MCP-платформа для безопасного запуска серверов. Изолирует каждый MCP инструмент в контейнере, управляет доступом и аудитом. Подходит разработчикам, платформенным инженерам и предприятиям, которым нужен самохостинг и контроль данных.

Go1951
getAlby/mcp

getAlby/mcp

официальный

MCP сервер Alby подключает Bitcoin Lightning кошелек к LLM-агентам через NWC. MCP инструмент умеет отправлять платежи, оплачивать L402 и работать с LNURL. Полезен разработчикам, добавляющим крипто-функции в AI-приложения.

TypeScript67
IvanMurzak/Unity-MCP

IvanMurzak/Unity-MCP

MCP сервер связывает AI-агентов с Unity, автоматизируя создание сцен, генерацию кода и отладку. Работает внутри собранной игры — для динамических NPC и дебага. Полезен геймдев-разработчикам.

C#3597
mobile-next/mobile-mcp

mobile-next/mobile-mcp

MCP сервер для мобильной автоматизации iOS и Android на симуляторах, эмуляторах и реальных устройствах. Взаимодействует с приложениями через accessibility-деревья и скриншоты. Подходит для тестирования, data-entry, агентных систем и LLM-сценариев.

TypeScript5489
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин