Skip to main content
Glama

Substrate MCP Server

Субстратный MCP-сервер

Лицензия Массачусетского технологического института Ржавчина Subxt

Сервер Model Context Protocol (MCP) для блокчейнов Substrate, написанный на Rust. Этот проект предоставляет динамические операции блокчейна Substrate (запрос балансов, блоков, поддонов, хранилищ, событий и т. д.) через протокол MCP и полностью настраивается через переменные среды.

Разработан для взаимодействия с ящиком subxt .

✨ Особенности

  • Динамический запрос остатков на счетах и хранилищ

  • Список поддонов и их записей

  • Извлечение и фильтрация событий и внешних данных

  • Отправка и просмотр динамически подписанных транзакций

  • Система доступа и блокировка информации

  • Пользовательские вызовы RPC к узлам Substrate

🚀 Возможные варианты использования

  1. Операции блокчейна на основе искусственного интеллекта

    • Интеграция с LLM (например, Cursor или Claude), чтобы позволить пользователям задавать вопросы на естественном языке (например, «Какой был последний перевод от Алисы?»), которые преобразуются в вызовы инструментов MCP.

    • Создайте чат-бота, который сможет отвечать на вопросы, получать балансы или объяснять активность в цепочке, используя ваш сервер MCP в качестве бэкэнда.

    • Используйте сервер MCP для предоставления оперативных обновлений активности в цепочке, например, изменений баланса или статусов транзакций, для инструментов разработки, таких как VSCode, Cursor, Claude Code и т. д.

  2. Пользовательские панели мониторинга и мониторинга

    • Создавайте индивидуальные панели мониторинга и системы мониторинга для вашего блокчейна Substrate

    • Отображение данных и аналитики в реальном времени по вашим блокчейн-операциям

    • Настройте оповещения и уведомления о критических событиях

    • Используйте агентов ИИ для обнаружения подозрительной активности путем анализа событий и внешних факторов в режиме реального времени.

🛠️ Требования

  • Ржавчина

  • Доступ к конечной точке узла Substrate (WebSocket)

  • Действительная пара ключей подписи (в шестнадцатеричном формате)

  • Файл метаданных времени выполнения для вашей целевой цепочки (наименование и размещение см. ниже)

📦 Установка

Клонируйте репозиторий и соберите:

git clone https://github.com/ThomasMarches/substrate-mcp-rs.git cd substrate-mcp-rs cargo build --release

⚙️ Конфигурация

Создайте файл .env в корне проекта со следующими переменными:

# WebSocket endpoint for the Substrate node RPC_URL=wss://your-node-url.example.com # Signing keypair as hex (32 bytes, e.g. output of subkey inspect-key --scheme Sr25519) SIGNING_KEYPAIR_HEX=your_signing_keypair_hex_here

Создание пары ключей подписи

Вы можете сгенерировать пару ключей и получить секретное начальное число в шестнадцатеричном формате, используя подключ :

subkey generate --scheme Sr25519 --output-type Json

Используйте поле secretSeed (удалив префикс 0x, если он есть) для SIGNING_KEYPAIR_HEX .

Получение и размещение метаданных времени выполнения

Экспортируйте метаданные времени выполнения из вашего узла и поместите их в artifacts/metadata.scale :

subxt metadata -f bytes > artifacts/metadata.scale

Важно: Файл должен называться metadata.scale и располагаться в каталоге artifacts/ перед сборкой. Сборка завершится ошибкой, если этот файл отсутствует или имеет неправильное имя.

▶️ Использование

Чтобы запустить сервер MCP:

cargo run --release

Сервер запустится и будет прослушивать запросы MCP через stdio.

🖇️ Интеграция с курсором

Чтобы использовать этот сервер MCP с Cursor , вам нужно добавить его в конфигурацию Cursor MCP. Это позволяет Cursor обнаруживать и взаимодействовать с вашим сервером Substrate MCP.

  1. Соберите свой сервер в режиме релиза:

    cargo build --release
  2. Найдите путь к собранному двоичному файлу (обычно target/release/substrate-mcp-rs ).

  3. В вашем проекте (или глобальном) файле .cursor/mcp.json добавьте запись для вашего сервера. Например:

    { "mcpServers": { "substrate-mcp-rs": { "command": "$PROJECT_ROOT_ABSOLUTE_PATH/target/release/substrate-mcp-rs", "args": [] } } }
    • Замените путь command на абсолютный путь к собранному вами двоичному файлу, если он отличается.

  4. Перезапустите курсор. Теперь он должен обнаружить и подключиться к вашему серверу Substrate MCP, сделав его инструменты доступными для использования.

Более подробную информацию см. в документации по курсору или во введении к протоколу контекста модели .

🧰 Доступные инструменты

Сервер предоставляет набор инструментов для взаимодействия с блокчейном Substrate, включая:

  • query_balance : Получить баланс счета

  • list_pallets : Список всех поддонов во время выполнения

  • list_pallet_entries : Список всех записей хранения для поддона

  • dynamic_runtime_call : Выполнение вызова API времени выполнения

  • send_dynamic_signed_transaction : создание, подписание и отправка транзакции

  • query_storage : Запрос хранилища по поддону и записи

  • get_latest_events : Получить все события из последнего блока

  • find_events : Поиск определенных событий по поддону и варианту

  • get_latest_block : Получить сведения о последнем блоке

  • get_block_by_hash : Получить сведения о блоке по хешу

  • find_extrinsics : Найти внешние элементы в последнем блоке

  • get_system_info : Получить информацию о системе через RPC

  • custom_rpc : сделать пользовательский вызов RPC

Полную информацию и параметры см. на сайте src/tooling/substrate.rs

🗂️ Структура проекта

  • src/main.rs : точка входа, настраивает ведение журнала и запускает сервер MCP

  • src/tooling/ : Содержит реализацию инструмента Substrate

  • artifacts/ : Поместите здесь файл метаданных времени выполнения как metadata.scale (обязательно перед сборкой)

📈 Дальнейшие шаги и цели

  • [ ] Добавить тесты E2E

  • [ ] Добавить модульные тесты

  • [ ] Добавить больше инструментов

🤝 Вклад

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

  • Следуйте лучшим практикам Rust и обеспечьте документирование кода

  • Запустите cargo fmt и cargo clippy перед отправкой

  • Добавьте тесты, где это возможно

📄 Лицензия

Массачусетский технологический институт

Related MCP Servers

View all related MCP servers

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/ThomasMarches/substrate-mcp-rs'

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