Перейти к содержимому

Подключение ИИ-агента к Moonpool по MCP

Исполняемый файл Moonpool сам является своим MCP-сервером. Зарегистрируйте его в хосте как stdio-сервер, который запускает moonpool.exe с единственным аргументом mcp.

В установленной версии программа - это %USERPROFILE%\.moonpool\moonpool.exe. В портативной - moonpool.exe внутри вашей папки .moonpool\. Укажите этот полный путь как command. Для хоста, читающего .mcp.json:

.mcp.json
{
"mcpServers": {
"moonpool": {
"type": "stdio",
"command": "C:\\Users\\you\\.moonpool\\moonpool.exe",
"args": ["mcp"]
}
}
}

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

Окно терминала
claude mcp add moonpool -- "$env:USERPROFILE\.moonpool\moonpool.exe" mcp

Сервер представляется как moonpool, говорит на версии протокола MCP 2025-06-18 и предоставляет только инструменты (ресурсов и подсказок у него нет). Для агента инструменты выглядят как moonpool_*; см. Инструменты MCP.

Установленный Moonpool и каждая портативная копия - это отдельные панели запуска, у каждой свои приложения, и все они могут работать одновременно. moonpool.exe mcp копии всегда управляет именно этой копией. Чтобы агент мог работать с несколькими, зарегистрируйте каждую под своим именем, указав exe этой копии:

.mcp.json
{
"mcpServers": {
"moonpool": {
"type": "stdio",
"command": "C:\\Users\\you\\.moonpool\\moonpool.exe",
"args": ["mcp"]
},
"moonpool-work": {
"type": "stdio",
"command": "D:\\Work\\.moonpool\\moonpool.exe",
"args": ["mcp"]
}
}
}
Окно терминала
claude mcp add moonpool-work -- "D:\Work\.moonpool\moonpool.exe" mcp

Регистрация двух копий под одним именем в большинстве хостов приводит к тому, что одна заменяет другую. Имена инструментов одинаковы у всех копий, поэтому хост различает их по имени, под которым вы их зарегистрировали. Портативная копия также представляется как moonpool (<folder>), а её инструкции для сервера называют папку, так что агент видит, с какой копией он разговаривает.

  • moonpool.exe mcp никогда не открывает окно и никогда не запускает установщик. Он завершается, когда хост закрывает его ввод.
  • Он использует папку конфигурации и канал управления того exe, из которого был запущен, поэтому портативный exe читает данные портативной папки и управляет этой портативной копией. Exe считается портативным, только пока рядом с ним лежит moonpool.portable. Любой другой moonpool.exe, где бы он ни находился, использует папку установленного Moonpool (%USERPROFILE%\.moonpool\moonpool-config\) и управляет установленным Moonpool.
  • Большинству инструментов нужен работающий Moonpool. Если он не работает, агент может сначала вызвать moonpool_bootup_launcher.
  • moonpool_launcher_paths показывает папки, которые использует хаб, рядом с теми, которые определяет процесс MCP. Различие означает, что агент смотрит на другой apps.json, не тот, что хаб.

Некоторые хосты запускают свои инструменты внутри упакованной песочницы (Store/MSIX), которая перенаправляет AppData в закрытую копию для каждого пакета. Moonpool обнаруживает это, когда его папка конфигурации или exe разрешаются в путь вида ...\Packages\<package>\LocalCache\....

Он также обнаруживает это, когда канал управления отвечает, но state.json прочитать нельзя. Инструменты, которые читают или записывают файлы (moonpool_app_output, moonpool_read_config, moonpool_write_config, moonpool_restore_config), тогда возвращают ошибку, называющую причину, а не пустые или устаревшие данные. Инструменты, использующие только канал управления, например moonpool_list_apps, не блокируются, пока канал доступен. Если песочница скрывает и канал, инструменты сообщают о песочнице вместо «Moonpool is not running». Вместо этого используйте командную строку из оболочки вне песочницы.

До многих приложений в Moonpool MCP-хост сам достаёт через вспомогательный процесс <exe> mcp. Moonpool ищет процесс, имя которого совпадает с processName приложения, а первый аргумент равен mcp, например notes-app.exe mcp. Если сервер работает под другим именем, например это переименованная копия, задайте для приложения шаблон mcpProcessName (см. Поля); подходящий под него процесс учитывается и без аргумента mcp.

  • Пока он подключён, на боковой панели приложения вложенная строка MCP показана как работающая, а moonpool_list_apps добавляет [mcp: running] к строке приложения. Сам помощник не считается работой приложения.
  • Один раз увидев помощника, Moonpool запоминает его (в mcp_seen.json в папке конфигурации), поэтому вложенная строка MCP остаётся видимой как остановленная, а moonpool_list_apps показывает [mcp: stopped] после того, как помощник завершился.
  • Вложенной строкой MCP управляет параметр showMcpProcesses (окно «Настройки»).
  • moonpool_stop_mcp_server завершает помощника и не трогает приложение. Обратной операции запуска нет: хост, которому принадлежит помощник, запускает его снова при следующем вызове инструмента.
  • Хост не показывает инструменты moonpool_*. Проверьте, что command - полный путь к moonpool.exe, а args равен ["mcp"], затем перезапустите хост.
  • Каждый инструмент сообщает, что Moonpool не работает. Запустите Moonpool или вызовите moonpool_bootup_launcher. Убедитесь, что зарегистрированный exe - это та копия, которую вы запустили.
  • Правка не появляется. Вызовите moonpool_launcher_paths и сравните папки хаба с папками процесса MCP. См. Хосты в песочнице.

Подробнее в разделе Устранение неполадок.

Moonpool: бесплатное программное обеспечение от FasterDB