Монада MCP Сервер
Этот сервер MCP (Model Context Protocol) предназначен для взаимодействия с тестовой сетью Monad. Он предоставляет разработчикам набор инструментов и возможностей для взаимодействия с блокчейном Monad, включая проверку балансов токенов MON, отправку транзакций, развертывание смарт-контрактов и мониторинг событий блокчейна.
Что такое МКП?
Model Context Protocol (MCP) — это стандартизированный интерфейс, который позволяет моделям ИИ безопасно и эффективно взаимодействовать с внешними инструментами, службами и источниками данных. Этот сервер реализует MCP для предоставления функциональных возможностей блокчейна Monad совместимым агентам или приложениям ИИ.
Related MCP server: TON Access MCP Server
Структура проекта
Проект организован следующим образом:
Ключевые компоненты
src/index.ts: Это главная точка входа для сервера. Она инициализирует экземпляр сервера MCP и регистрирует все доступные инструменты (кошелек, контракт, NFT, блок).src/config/server.ts: Этот файл управляет конфигурацией основного сервера. Он настраивает экземплярMcpServerс его именем, версией и списком возможностей. Он также инициализирует публичный клиентViemдля взаимодействия с тестовой сетью Monad и предоставляет функцию для создания клиента кошелькаViemс использованием закрытого ключа из переменных среды. Сервер используетStdioServerTransportдля связи.src/tools/: Этот каталог содержит реализации различных инструментов MCP. Каждый подкаталог обычно фокусируется на определенном аспекте взаимодействия Monad:walletProvider: управляет балансами и транзакциями токенов MON.contractProvider: управляет развертыванием смарт-контрактов и отслеживанием событий.nftProvider: предоставляет функциональность для запроса NFT в сети Monad.blockProvider: предлагает инструменты для получения информации о блоках.
Предпосылки
Прежде чем начать, убедитесь, что у вас установлено следующее:
Node.js (версия 16 или более поздняя)
Менеджер пакетов Node.js:
npm,yarnилиpnpm(в этом проекте в примерах используетсяpnpm)Claude Desktop (или любой MCP-совместимый клиент) для взаимодействия с сервером.
Переменные среды (.env)
Этот проект использует переменные среды для управления конфиденциальной информацией, в первую очередь закрытым ключом вашей учетной записи Monad.
Скопируйте файл примера : создайте копию
.env.exampleи переименуйте ее в.env.cp .env.example .envРедактировать : Откройте только что созданный файл
.envв текстовом редакторе.Set : Заполните переменную
PRIVATE_KEYзакрытым ключом вашего аккаунта Monad. Этот ключ необходим для таких операций, как отправка транзакций или развертывание контрактов.PRIVATE_KEY="0xyourprivatekeyhere"Важно : убедитесь, что ваш закрытый ключ начинается с
0x.Безопасность : Никогда не фиксируйте свой файл Файл
.gitignoreуже настроен на предотвращение этого, но всегда помните о защите своих закрытых ключей.
Начиная
Для настройки и запуска сервера Monad MCP выполните следующие действия:
Клонировать репозиторий :
Если вы еще этого не сделали, клонируйте проект с GitHub:
git clone https://github.com/lispking/monad-mcp-server.git cd monad-mcp-serverУстановить зависимости :
Используйте
pnpm(или предпочитаемый вами менеджер пакетов) для установки зависимостей проекта, перечисленных вpackage.json:pnpm installПостройте проект :
Сервер написан на TypeScript и его нужно скомпилировать в JavaScript. Запустите скрипт сборки:
pnpm buildЭта команда будет использовать
tsc(компилятор TypeScript), как определено вpackage.json, для компиляции исходных файлов из каталогаsrcв каталогbuild.
Теперь сервер собран и готов к использованию клиентом MCP.
Возможности сервера
Как определено в src/config/server.ts , сервер предоставляет следующие возможности:
get-mon-balance: получение баланса токенов MON для учетной записи.send-mon-transaction: отправка токенов MON с одного счета на другой.deploy-mon-contract: Развертывание смарт-контракта в тестовой сети Monad.watch-contract-events: Отслеживайте и сообщайте о событиях, создаваемых определенным смарт-контрактом.query-mon-nft: Запрос информации о невзаимозаменяемых токенах в сети Monad.get-latest-block: получение сведений о самом последнем блоке в тестовой сети Monad.get-block-by-number: Извлечение определенного блока по его номеру.
Добавление конфигурации сервера MCP к вашему клиенту
Чтобы использовать этот сервер с клиентом, совместимым с MCP (например, Claude Desktop), вам нужно добавить его конфигурацию в настройки клиента. Точный метод может различаться в зависимости от клиента, но обычно включает указание способа запуска сервера.
Вот пример фрагмента конфигурации:
Пояснение полей конфигурации :
"monad-mcp": уникальное имя, которое вы назначаете этой конфигурации сервера в своем клиенте."command": "node": Указывает, что сервер является приложением Node.js."args": массив аргументов для передачи командеnode.Первый аргумент — это путь к скомпилированной точке входа сервера:
/absolute/path/to/your/project/monad-mcp-server/build/index.js. Замените
"env": объект для установки переменных среды для серверного процесса."PRIVATE_KEY": Здесь вы можете задать свой закрытый ключ. Однако обычно рекомендуется использовать файл.envдля лучшей безопасности. Если задать здесь, он может переопределить значение в.envв зависимости от поведения клиента и порядка загрузки переменных среды сервера.
Примечание : убедитесь, что путь в "args" указан правильно и указывает на файл build/index.js в каталоге вашего проекта.
Дополнительные ресурсы
Более подробную информацию об используемых технологиях и концепциях можно найти в следующей официальной документации:
Документация Viem (Viem — клиентская библиотека Ethereum/Monad, используемая в этом проекте)
Этот подробный файл README должен обеспечить четкое понимание Monad MCP Server, его настройки и использования.