klever-io/mcp-klever-vm

klever-io/mcp-klever-vm

от klever-io
MCP сервер для разработчиков смарт-контрактов на блокчейне Klever. Предоставляет контекстные подсказки, шаблоны и примеры кода. Помогает быстрее создавать и отлаживать контракты, автоматически извлекая паттерны и проверяя код на соответствие стандартам.

Klever MCP Server

A Model Context Protocol (MCP) server tailored for Klever blockchain smart contract development. This server maintains and serves contextual knowledge including code patterns, best practices, and runtime behavior for developers working with the Klever VM SDK.

Features

  • 🚀 Triple Mode Operation: Run as HTTP API server, MCP stdio server, or public hosted MCP server
  • 💾 Flexible Storage: In-memory or Redis backend support
  • 🔍 Smart Context Retrieval: Query by type, tags, or contract type
  • 📝 Automatic Pattern Extraction: Parse Klever contracts to extract examples and patterns
  • 🎯 Relevance Ranking: Intelligent scoring and ranking of context
  • 🔄 Live Updates: Add and update context in real-time
  • 🛡️ Type Safety: Full TypeScript with Zod validation
  • 📚 Comprehensive Knowledge Base: Pre-loaded with Klever VM patterns, best practices, and examples
  • 🔧 Contract Validation: Automatic detection of common issues and anti-patterns
  • 🚀 Deployment Scripts: Ready-to-use scripts for contract deployment, upgrade, and querying

Часто задаваемые вопросы

Инструменты были проиндексированы:
add_context

Добавляет новую запись знаний в хранилище контекста Klever VM. Используется для сохранения примеров кода, лучших практик, советов по безопасности или документации, которые позже можно получить через query_context или search_documentation. Возвращает сгенерированный ID новой записи.

Параметры
  • contentstringобязательный

    Основная часть контента — как правило, исходный код на Rust, команда CLI или подробное объяснение. Для кода включайте полный рабочий фрагмент.

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

    Метаданные записи, включая заголовок, теги и категоризацию. Как минимум, укажите заголовок.

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

    Категория этой записи знаний. Выберите наиболее конкретный тип: "code_example" для фрагментов кода на Rust, "best_practice" для рекомендуемых подходов, "security_tip" для рекомендаций по уязвимостям, "error_pattern" для решений известных ошибок.

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

Добавляет скрипты автоматизации сборки, развёртывания, обновления, запросов, тестирования и взаимодействия в существующий проект смарт-контрактов Klever. Создаёт директорию scripts/ с bash-скриптами и обновляет .gitignore. Запускайте это из корневой директории проекта (где находится Cargo.toml).

Параметры
  • contractNamestring

    Имя контракта для встраивания в скрипты (например, "my-token"). Если не указано, определяется автоматически из поля name в Cargo.toml.

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

Анализирует исходный код смарт-контракта на Klever на Rust на предмет типичных проблем. Проверяет отсутствие импортов, макроса #[klever_sc::contract], аннотаций конечных точек, обработчиков payable без использования call_value, мапперов хранилища без #[storage_mapper] и определений событий. Возвращает результаты с уровнем серьезности (error/warning/info) и ссылками на соответствующие статьи базы знаний.

Параметры
  • contractNamestring

    Понятное человеку имя контракта (используется в подписях вывода). Если не указано, по умолчанию используется «contract».

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

    Полный исходный код на Rust смарт-контракта Klever для анализа. Должен быть корректным кодом на Rust, использующим импорты klever_sc.

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

Проверяет, установлен ли Klever SDK, и сообщает статус каждого компонента. Возвращает JSON с состоянием установки и версиями для: ksc (компилятор смарт-контрактов), koperator (CLI для блокчейна), VM library (libvmexeccapi) и файла ключа кошелька. Запускайте это перед init_klever_project или install_klever_sdk для проверки предварительных требований.

Параметры

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

deploy_scвнешний мир

Создаёт неподписанную транзакцию развёртывания смарт-контракта для блокчейна Klever. Принимает wasmPath (предпочтительно: читает файл на стороне сервера) или wasmHex. Возвращает неподписанную транзакцию для подписания на стороне клиента. MCP сервер НИКОГДА не обрабатывает приватные ключи.

Параметры
  • initArgsstring[]

    Необязательные аргументы инициализации для конструктора контракта, закодированные в base64.

  • networkenum

    Сеть для использования. Варианты: "mainnet", "testnet", "devnet", "local". По умолчанию используется серверный стандарт (mainnet).

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

    Адрес деплоера (формат klv1... bech32).

  • wasmHexstring

    Смарт-контракт в виде WASM-байткода, представленного hex-кодированной строкой. Для больших контрактов используйте wasmPath вместо этого.

  • wasmPathstring

    Абсолютный путь к скомпилированному WASM-файлу (предпочтительнее, чем wasmHex, чтобы не загружать большие бинарники в контекст ИИ).

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

Дополняет запрос на естественном языке соответствующим контекстом из базы знаний Klever VM. Извлекает ключевые слова, специфичные для Klever, находит соответствующие записи и возвращает исходный запрос, объединённый с соответствующими примерами кода и документацией в Markdown. Используйте это для обогащения пользовательского запроса перед ответом на вопросы по разработке Klever.

Параметры
  • autoIncludeboolean

    Когда значение true (по умолчанию), к ответу автоматически добавляются наиболее релевантные записи из базы знаний. Если установить false, возвращаются только метаданные, без добавления контекста.

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

    Естественно-языковой вопрос или запрос пользователя, который нужно улучшить (например, «Как мне обрабатывать платежи KLV в моём контракте?»).

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

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

Параметры
  • idstringобязательный

    Идентификатор контекста для поиска похожих записей. Получается из результатов query_context или get_context.

  • limitinteger

    Максимальное количество похожих записей для возврата. Обычно от 1 до 20; больше значений может работать медленнее. По умолчанию: 5.

freeze_klvвнешний мир

Создает неподписанную транзакцию Freeze KLV на блокчейне Klever. Заморозка KLV предоставляет энергию/пропускную способность для операций в сети и даёт право на стейкинг-вознаграждения. Возвращает неподписанную транзакцию для подписания на стороне клиента.

Параметры
  • amountintegerобязательный

    Количество KLV для заморозки в минимальной единице (1 KLV = 1 000 000 единиц).

  • networkenum

    Сеть для использования. Варианты: "mainnet", "testnet", "devnet", "local". По умолчанию используется серверный стандарт (mainnet).

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

    Адрес для заморозки (формат klv1... bech32).

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

Получает полные данные об аккаунте для адреса блокчейна Klever, включая nonce, баланс, замороженный баланс, разрешённый остаток и разрешения. Используйте это, когда вам нужно полное состояние аккаунта, а не только баланс.

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

    Адрес Klever (формат klv1... bech32).

  • networkenum

    Сеть для запроса. Варианты: "mainnet", "testnet", "devnet", "local". По умолчанию используется серверная настройка (mainnet).

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

Получает полные свойства и конфигурацию для любого актива в блокчейне Klever (токены KLV, KFI, KDA, коллекции NFT). Возвращает информацию о снабжении, разрешениях (CanMint, CanBurn и т.д.), ролях, точности и метаданных. Примечание: строковые поля, такие как ID, Name, Ticker, в сыром ответе закодированы в base64.

Параметры
  • assetIdstringобязательный

    Идентификатор актива (например, "KLV", "KFI", "USDT-A1B2", "MYNFT-XY78").

  • networkenum

    Сеть для запроса. Варианты: "mainnet", "testnet", "devnet", "local". По умолчанию используется серверная настройка (mainnet).

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

Получает баланс токена KLV или KDA для адреса блокчейна Klever. Возвращает баланс в наименьшей единице (для KLV: 1 KLV = 1 000 000 единиц с 6 десятичными знаками). Опционально укажите идентификатор актива, чтобы запросить баланс конкретного токена KDA вместо KLV.

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

    Адрес Klever (формат klv1... bech32).

  • assetIdstring

    Необязательный ID токена KDA (например, "USDT-A1B2", "LPKLVKFI-3I0N"). Опустите для баланса KLV.

  • networkenum

    Сеть для запроса. Варианты: "mainnet", "testnet", "devnet", "local". По умолчанию используется серверная настройка (mainnet).

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

Получает информацию о блоке из блокчейна Klever по nonce (номеру блока). Если nonce не указан, возвращает последний блок. Возвращает хеш, временную метку, proposer, количество транзакций и другие метаданные блока.

Параметры
  • networkenum

    Сеть для запроса. Варианты: "mainnet", "testnet", "devnet", "local". По умолчанию используется серверная настройка (mainnet).

  • nonceinteger

    Номер блока (nonce). Если не указано, возвращается последний блок.

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

Получает отдельную запись базы знаний по её уникальному ID. Возвращает полную запись, включая содержимое, метаданные, теги и связанные ID контекста. Используйте это после query_context или find_similar, чтобы получить полные сведения о конкретной записи.

Параметры
  • idstringобязательный

    Уникальный идентификатор контекста (в формате UUID). Получите идентификаторы из query_context или результатов find_similar.

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

Получает сводную статистику базы знаний Klever VM. Возвращает общее количество записей, разбивку по типам контекста (code_example, best_practice, security_tip и т.д.) и пример заголовка записи для каждого типа. Полезно для понимания того, какие знания доступны перед запросом.

Параметры

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

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

Получает детали транзакции по хэшу из блокчейна Klever. Возвращает отправителя, получателя, статус, информацию о блоке, контракты и квитанции. Использует прокси API для индексированных данных.

Параметры
  • hashstringобязательный

    Хэш транзакции (шестнадцатеричная строка).

  • networkenum

    Сеть для запроса. Варианты: "mainnet", "testnet", "devnet", "local". По умолчанию используется серверная настройка (mainnet).

init_klever_project

Создаёт каркас нового проекта смарт-контракта Klever с использованием SDK. Создаёт структуру Rust-проекта через ksc new и генерирует скрипты автоматизации (build, deploy, upgrade, query, test, interact). Требует установки Klever SDK в ~/klever-sdk/. Сначала запустите check_sdk_status для проверки.

Параметры
  • namestringобязательный

    Название проекта контракта в kebab-case (например, "my-token", "nft-marketplace"). Используется как имя пакета Cargo и имя каталога.

  • noMoveboolean

    Если true, проект остается в выходном каталоге SDK, а не перемещается в текущий рабочий каталог. По умолчанию: false.

  • templateenum

    Шаблон проекта для создания. «empty» создает пустой контракт только с функцией init. «adder» создает простой пример счетчика. По умолчанию: «empty».

install_klever_sdkидемпотентныйвнешний мир

Загружает и устанавливает инструменты Klever SDK в ~/klever-sdk/. Получает последние версии с Klever CDN, устанавливает бинарные файлы и загружает необходимые зависимости библиотек виртуальной машины. Поддерживает macOS (arm64/amd64) и Linux. Сначала выполните check_sdk_status, чтобы увидеть, что уже установлено.

Параметры
  • toolenum

    Какой компонент SDK установить. «ksc» — только компилятор смарт-контрактов, «koperator» — CLI оператора блокчейна + библиотека VM, «all» — и ksc, и koperator. По умолчанию: «all».

invoke_scвнешний мир

Строит неподписанную транзакцию вызова смарт-контракта в блокчейне Klever. Вызывает конечную точку изменения состояния на развёрнутом контракте. Возвращает неподписанную транзакцию для подписания на стороне клиента. Для вызовов только для чтения используйте query_sc вместо этого.

Параметры
  • argsstring[]

    Необязательные аргументы, закодированные в base64.

  • callValueobject

    Необязательные суммы токенов для отправки вместе с вызовом, в виде словаря, где каждому идентификатору токена соответствует сумма (например, {"KLV": 1000000}). Требуется для оплачиваемых конечных точек.

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

    Имя функции эндпоинта для вызова.

  • networkenum

    Сеть для использования. Варианты: "mainnet", "testnet", "devnet", "local". По умолчанию используется серверный стандарт (mainnet).

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

    Адрес смарт-контракта (формат klv1... bech32).

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

    Адрес вызывающего (формат klv1... bech32).

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

Перечисляет активных валидаторов в сети Klever blockchain. Возвращает адреса валидаторов, имена, ставки комиссии, информацию о делегировании и суммы стейкинга.

Параметры
  • networkenum

    Сеть для запроса. Варианты: "mainnet", "testnet", "devnet", "local". По умолчанию используется серверная настройка (mainnet).

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

Ищет в базе знаний Klever VM контекст разработки смарт-контрактов. Возвращает структурированный JSON с подходящими записями, оценками и пагинацией. Используйте это для точной фильтрации по типу или тегам; используйте search_documentation для читаемых человеком ответов типа «как мне...».

Параметры
  • contractTypestring

    Фильтрует по типу контракта (например, "token", "nft", "defi", "dao"). Возвращает только записи, отмеченные этой категорией контракта.

  • limitinteger

    Максимальное количество возвращаемых результатов (по умолчанию: 10).

  • offsetinteger

    Количество результатов, которые нужно пропустить для пагинации. Используйте вместе с параметром limit для постраничного просмотра результатов. По умолчанию: 0.

  • querystring

    Поисковый запрос в свободной форме. Для лучших результатов используйте специфичные для Klever термины (например, "storage mapper SingleValueMapper", "payable endpoint KLV", "deploy contract testnet").

  • tagsstring[]

    Фильтруйте по тегам (например, ["storage", "mapper"], ["tokens", "KLV"], ["events"]). Теги сопоставляются по логике ИЛИ - любое совпадение тега включает запись.

  • typesenum[]

    Фильтруйте результаты по типу контекста. Если не указано, ищутся все типы. Частые комбинации: ["code_example", "documentation"] для обучения, ["error_pattern"] для отладки, ["security_tip", "best_practice"] для обзоров.

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

Выполняет запрос только для чтения к смарт-контракту Klever (вызов VM view). Возвращает результат функции контракта в виде данных в кодировке base64. Аргументы должны быть закодированы в base64. Используйте это для чтения состояния контракта без его изменения.

Параметры
  • argsstring[]

    Необязательные аргументы передаются в кодировке base64. Для адресов кодируются байты bech32, предварительно декодированные из hex. Для чисел используется порядок байтов от старшего к младшему (big-endian).

  • callerstring

    Необязательный адрес вызывающего (формат klv1... bech32). Некоторые view-функции используют вызывающего для поиска в мапперах хранилища, ключом которых является адрес.

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

    Имя функции для вызова (должна быть функцией #[view] в контракте).

  • networkenum

    Сеть для запроса. Варианты: "mainnet", "testnet", "devnet", "local". По умолчанию используется серверная настройка (mainnet).

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

    Адрес смарт-контракта (формат klv1... bech32).

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

Ищет в документации и базе знаний Klever VM. Возвращает читаемый человеком Markdown с заголовками, описаниями и фрагментами кода. Оптимизирован для вопросов вида «как мне...?» Используйте этот инструмент вместо query_context, когда нужна форматированная документация для разработчиков.

Параметры
  • categoryenum

    Сузьте результаты до конкретной категории знаний. Доступно: core, storage, events, tokens, modules, tools, scripts, examples, errors, best-practices, documentation.

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

    Поисковый запрос на естественном языке (например, «как использовать storage mappers», «задеплоить контракт в testnet», «обрабатывать переводы KDA-токенов»).

send_transferвнешний мир

Создает неподписанную транзакцию перевода токена KLV или KDA в блокчейне Klever. Возвращает неподписанные данные транзакции и хэш для подписания на стороне клиента. MCP-сервер НИКОГДА не обрабатывает приватные ключи — подписание должно выполняться внешне.

Параметры
  • amountintegerобязательный

    Сумма в наименьшей единице. Для KLV: 1 KLV = 1 000 000 единиц (6 знаков после запятой). Пример: чтобы отправить 10 KLV, укажите 10000000.

  • assetIdstring

    Необязательный идентификатор токена KDA для переводов, не связанных с KLV (например, "USDT-A1B2"). Опустите для KLV.

  • networkenum

    Сеть для использования. Варианты: "mainnet", "testnet", "devnet", "local". По умолчанию используется серверный стандарт (mainnet).

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

    Адрес получателя (формат klv1... bech32).

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

    Адрес отправителя (формат klv1... bech32).

1.3.0основная
1.2.5
1.2.4
1.2.3
1.1.1

Выберите клиент, чтобы установить klever-io/mcp-klever-vm:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "klever-io-mcp-klever-vm-7tb504bj8r": {
      "command": "npx",
      "args": [
        "-y",
        "@klever/mcp-server"
      ]
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "klever-io-mcp-klever-vm-7tb504bj8r": {
      "command": "npx",
      "args": [
        "-y",
        "@klever/mcp-server"
      ]
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "klever-io-mcp-klever-vm-7tb504bj8r": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@klever/mcp-server"
      ]
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"klever-io-mcp-klever-vm-7tb504bj8r\",\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"-y\",\"@klever/mcp-server\"]}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "klever-io-mcp-klever-vm-7tb504bj8r": {
      "command": "npx",
      "args": [
        "-y",
        "@klever/mcp-server"
      ]
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add klever-io-mcp-klever-vm-7tb504bj8r -- npx -y @klever/mcp-server

Либо через JSON-конфиг:

claude mcp add-json klever-io-mcp-klever-vm-7tb504bj8r "{\"command\":\"npx\",\"args\":[\"-y\",\"@klever/mcp-server\"]}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add klever-io-mcp-klever-vm-7tb504bj8r -- npx -y @klever/mcp-server

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.klever-io-mcp-klever-vm-7tb504bj8r]
command = "npx"
args = ["-y", "@klever/mcp-server"]
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите klever-io/mcp-klever-vm, а в поле команды запуска — строку ниже:
npx -y @klever/mcp-server

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "klever-io-mcp-klever-vm-7tb504bj8r": {
      "command": "npx",
      "args": [
        "-y",
        "@klever/mcp-server"
      ]
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "klever-io-mcp-klever-vm-7tb504bj8r": {
      "command": "npx",
      "args": [
        "-y",
        "@klever/mcp-server"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например klever-io-mcp-klever-vm-7tb504bj8r.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: klever-io-mcp-klever-vm-7tb504bj8r
    command: npx
    args:
      - "-y"
      - "@klever/mcp-server"
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "klever-io-mcp-klever-vm-7tb504bj8r": {
      "command": "npx",
      "args": [
        "-y",
        "@klever/mcp-server"
      ]
    }
  }
}

Похожие MCP-сервера

mcpdotdirect/starknet-mcp-server

mcpdotdirect/starknet-mcp-server

от mcpdotdirect

MCP-сервер для интеграции AI-агентов с блокчейном Starknet. Предоставляет инструменты для запросов данных сети, управления кошельками, работы со смарт-контрактами и StarknetID. Полезен разработчика...

TypeScript⭐ 7
nearai/near-mcp

nearai/near-mcp

от nearai

MCP сервер для блокчейна NEAR дает AI-агентам возможность управлять аккаунтами, подписывать транзакции и выполнять смарт-контракты. Полезен разработчикам, интегрирующим NEAR в AI-решения.

TypeScript⭐ 31
izzzzzi/izTolkMcp

izzzzzi/izTolkMcp

от izzzzzi

MCP-сервер для компилятора Tolk — разрабатывай смарт-контракты TON прямо в AI-ассистенте. Компилируй код, проверяй синтаксис и генерируй ссылки для деплоя без выхода из чата. Полезен разработчикам TON, работающим с Tolk.

TypeScript⭐ 2
sei-protocol/sei-mcp-server

sei-protocol/sei-mcp-server

от sei-protocol

MCP сервер для Sei блокчейна, который даёт AI-агентам доступ к данным on-chain, смарт-контрактам и токенам. Включает балансы, транзакции, переводы ERC20 и NFT - всё через единый интерфейс.

TypeScript⭐ 13
vezlo/src-to-kb

vezlo/src-to-kb

от vezlo

Преобразует любой репозиторий исходного кода в поисковую базу знаний с автоматической разбивкой, эмбеддингами и интеллектуальным поиском. Поддерживает MCP для интеграции с Claude Code и Cursor, пол...

JavaScript⭐ 40
Quantum3-Labs/ARBuilder

Quantum3-Labs/ARBuilder

от quantum3-labs

MCP сервер для создания смарт-контрактов и dApps в экосистеме Arbitrum. ARBuilder по текстовому описанию генерирует Stylus контракты на Rust, настраивает кросс-чейн взаимодействие и помогает с развёртыванием Orbit chain. Полезен разработчикам, работающим с Arbitrum.

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

Лука Никитин