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
🚀 Возможные варианты использования
- Операции блокчейна на основе искусственного интеллекта
- Интеграция с LLM (например, Cursor или Claude), чтобы позволить пользователям задавать вопросы на естественном языке (например, «Какой был последний перевод от Алисы?»), которые преобразуются в вызовы инструментов MCP.
- Создайте чат-бота, который сможет отвечать на вопросы, получать балансы или объяснять активность в цепочке, используя ваш сервер MCP в качестве бэкэнда.
- Используйте сервер MCP для предоставления оперативных обновлений активности в цепочке, например, изменений баланса или статусов транзакций, для инструментов разработки, таких как VSCode, Cursor, Claude Code и т. д.
- Пользовательские панели мониторинга и мониторинга
- Создавайте индивидуальные панели мониторинга и системы мониторинга для вашего блокчейна Substrate
- Отображение данных и аналитики в реальном времени по вашим блокчейн-операциям
- Настройте оповещения и уведомления о критических событиях
- Используйте агентов ИИ для обнаружения подозрительной активности путем анализа событий и внешних факторов в режиме реального времени.
🛠️ Требования
- Ржавчина
- Доступ к конечной точке узла Substrate (WebSocket)
- Действительная пара ключей подписи (в шестнадцатеричном формате)
- Файл метаданных времени выполнения для вашей целевой цепочки (наименование и размещение см. ниже)
📦 Установка
Клонируйте репозиторий и соберите:
⚙️ Конфигурация
Создайте файл .env
в корне проекта со следующими переменными:
Создание пары ключей подписи
Вы можете сгенерировать пару ключей и получить секретное начальное число в шестнадцатеричном формате, используя подключ :
Используйте поле secretSeed
(удалив префикс 0x, если он есть) для SIGNING_KEYPAIR_HEX
.
Получение и размещение метаданных времени выполнения
Экспортируйте метаданные времени выполнения из вашего узла и поместите их в artifacts/metadata.scale
:
Важно: Файл должен называться metadata.scale
и располагаться в каталоге artifacts/
перед сборкой. Сборка завершится ошибкой, если этот файл отсутствует или имеет неправильное имя.
▶️ Использование
Чтобы запустить сервер MCP:
Сервер запустится и будет прослушивать запросы MCP через stdio.
🖇️ Интеграция с курсором
Чтобы использовать этот сервер MCP с Cursor , вам нужно добавить его в конфигурацию Cursor MCP. Это позволяет Cursor обнаруживать и взаимодействовать с вашим сервером Substrate MCP.
- Соберите свой сервер в режиме релиза:
- Найдите путь к собранному двоичному файлу (обычно
target/release/substrate-mcp-rs
). - В вашем проекте (или глобальном) файле
.cursor/mcp.json
добавьте запись для вашего сервера. Например:- Замените путь
command
на абсолютный путь к собранному вами двоичному файлу, если он отличается.
- Замените путь
- Перезапустите курсор. Теперь он должен обнаружить и подключиться к вашему серверу 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
: Получить информацию о системе через RPCcustom_rpc
: сделать пользовательский вызов RPC
Полную информацию и параметры см. на сайте src/tooling/substrate.rs
🗂️ Структура проекта
src/main.rs
: точка входа, настраивает ведение журнала и запускает сервер MCPsrc/tooling/
: Содержит реализацию инструмента Substrateartifacts/
: Поместите здесь файл метаданных времени выполнения какmetadata.scale
(обязательно перед сборкой)
📈 Дальнейшие шаги и цели
- [ ] Добавить тесты E2E
- [ ] Добавить модульные тесты
- [ ] Добавить больше инструментов
🤝 Вклад
Вклады приветствуются! Пожалуйста, открывайте проблемы или запросы на извлечение. Для более крупных изменений сначала откройте проблему, чтобы обсудить ваше предложение.
- Следуйте лучшим практикам Rust и обеспечьте документирование кода
- Запустите
cargo fmt
иcargo clippy
перед отправкой - Добавьте тесты, где это возможно
📄 Лицензия
Массачусетский технологический институт
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Субстрат MCP-сервер
Related MCP Servers
- JavaScriptMIT License
- Python
- Python
- -securityAlicense-qualityMarineTraffic MCP ServerLast updated -1TypeScriptMIT License