EVMole — MCP-сервер для Claude Code: анализ байткода EVM
Локальный MCP-сервер, который разбирает развёрнутый байткод EVM: селекторы функций, аргументы, мутабельность, обращения к хранилищу и метаданные компилятора.
claude mcp add evmole -- npx -y evmole-mcpЧто делает EVMole
EVMole отдаёт агенту один инструмент — analyze_evm_bytecode. На вход идёт шестнадцатеричный bytecode, при желании список include с именами нужных разборов, а также offset и limit. Без include сервер сам разбирает селекторы, аргументы, мутабельность, оба вида хранилища и метаданные компилятора. Дизассемблирование, базовые блоки и граф потока управления запрашиваются отдельно, потому что выдают много текста.
Селекторы можно взять и сами по себе — через selectors. Если запросить arguments или stateMutability, извлечение селекторов включится автоматически, а сведения о функциях соберутся в analysis.functions. Ответ приходит в виде структурированного содержимого версии 1 плюс текстовый запасной вариант в JSON. Перед тем как делать выводы, посмотрите warnings и pagination.
Сервер работает только через stdio, в сеть не ходит, ключи не нужны, адреса контрактов не подтягивает и файлов не пишет. Аргументы, мутабельность и обращения к хранилищу он выводит, а не берёт из исходников, так что это догадки, а не проверенные факты. Calldata не декодируется, исходный код не верифицируется, creation bytecode не исполняется. Нужен Node.js 22 или новее, и каждая версия evmole-mcp жёстко привязана к своей версии evmole — обновлять их стоит вместе.
Какие задачи решает
- вытащить селекторы функций из развёрнутого байткода контракта
- оценить мутабельность и аргументы методов без исходников
- посмотреть, какие слоты постоянного и временного хранилища трогает контракт
- получить дизассемблирование и граф потока управления для ручного разбора
- достать метаданные компилятора из байткода
Примеры запросов агенту
- Разбери байткод
0x6080604052...и покажи селекторы функций - Запроси для этого байткода аргументы и мутабельность методов
- Включи в разбор дизассемблирование и граф потока управления, первые 200 байт
Как установить EVMole
Командой платформы
claude mcp add evmole -- npx -y evmole-mcpКомандой платформы
codex mcp add mcp -- npx -y evmole-mcpФайл настроек
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"evmole-mcp"
]
}
}
}Файл настроек
{
"servers": {
"mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"evmole-mcp"
]
}
}
}Командой платформы
gemini mcp add mcp npx -y evmole-mcpПо шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о EVMole
Как установить EVMole в Claude Code?
Одной командой: claude mcp add evmole -- npx -y evmole-mcp. Сервер запустится через npx и будет общаться по stdio.
Что делает EVMole?
Разбирает развёрнутый байткод EVM и возвращает селекторы функций, предполагаемые аргументы и мутабельность, обращения к постоянному и временному хранилищу, метаданные компилятора, а по запросу — дизассемблирование и граф потока управления.
Нужны ли ключи API или доступ в сеть?
Нет. Сервер работает только через stdio, не делает сетевых запросов, не требует учётных данных и не пишет файлы. Адреса контрактов он тоже не загружает — байткод вы передаёте сами.