Skip to main content
Glama

Substrate MCP Server

Integrations
  • Uses .env files for configuration, allowing easy setup of node endpoints, signing keypairs, and other environment-specific settings.

  • Enables interaction with Substrate/Polkadot blockchain networks, including querying account balances, listing pallets, sending transactions, accessing blockchain storage, and monitoring events and extrinsics.

  • Built with Rust and integrates with the Subxt crate to provide comprehensive access to Substrate blockchain operations and data.

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

Сервер 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