Запуск MCP-сервера solvethree в Docker

Автор: solvethree3 мин на чтение

Соберите локальный образ из официального дистрибутива SDK с указанной версией, затем настройте MCP-хост для его запуска через Docker. Оставьте stdin открытым с помощью -i и не добавляйте -t: сервер использует JSON-RPC через stdio, а не терминальный протокол.

На этой странице

Соберите локальный образ

Сохраните это как Dockerfile. Он устанавливает официальный пакет на Node 22, переключается на пользователя node без прав root и задаёт solvethree-mcp в качестве точки входа контейнера. Команды сборки и запуска приведены ниже.

Dockerfile · локальный сервер stdio
FROM node:22.23.4-alpine
RUN npm install --global https://solvethree.com/downloads/solvethree-sdk-0.1.0.tgz
USER node
ENTRYPOINT ["solvethree-mcp"]

# Build: docker build -t solvethree-mcp-local .
# Forward variables already set in the host; do not add their values to this file.
# Run: docker run --rm -i -e SOLVETHREE_API_KEY -e SOLVETHREE_PROXY solvethree-mcp-local

Перед запуском задайте SOLVETHREE_API_KEY равным API-ключу вашего рабочего пространства, а SOLVETHREE_PROXY — вашему прокси в окружении, из которого запускается Docker. Каждый аргумент -e NAME передаёт существующую переменную, а не задаёт её значение. Не включайте учётные данные в Dockerfile и образ.

Образ собирается локально под именем solvethree-mcp-local; учётная запись Docker Hub не нужна. Его запуск не создаёт размещённую на сервере конечную точку MCP и не добавляет автоматизацию браузера.

Настройте MCP-хост для запуска Docker

Настройте stdio-сервер в MCP-хосте. В качестве команды используйте Docker, а не solvethree-mcp: точка входа образа запускает исполняемый файл внутри контейнера.

Параметры запуска для MCP-хоста
Параметры запуска для MCP-хоста
НастройкаЗначение
Командаdocker
Аргументы по порядкуrun, --rm, -i, -e, SOLVETHREE_API_KEY, -e, SOLVETHREE_PROXY, solvethree-mcp-local

Не добавляйте -t. Хосту нужны stdin и stdout контейнера для JSON-RPC. --rm удаляет контейнер после завершения его работы.

Обе переменные окружения должны быть доступны процессу MCP-хоста. Их установка в терминале не поможет хосту, запущенному другим способом, если он их не унаследует. Если хост ограничивает передачу переменных окружения, разрешите оба имени.

Для конфигурации TOML в стиле Codex используйте таблицу mcp_servers.solvethree с командой и аргументами, указанными выше. Добавьте имена обеих переменных в env_vars, задайте startup_timeout_sec равным 60, а tool_timeout_sec — 100. Базовый контракт сервера описан в документации по интеграции MCP.

Создайте задачу и передайте результат

  1. 1.

    Проверьте доступные инструменты

    После подключения вызовите solvethree_capabilities. Сервер предоставляет инструменты решения и получения задач; он не управляет браузером и не заполняет формы.

  2. 2.

    Подготовьте профиль reCAPTCHA

    Для reCAPTCHA настройте активный профиль в разделе Профили сайтов, прежде чем запрашивать решение. Убедитесь, что имя хоста, действие захвата и тип reCAPTCHA совпадают; не считайте, что один профиль домена охватывает все действия. Отправка задачи не создаёт профиль. Это предварительное требование описано в руководстве по настройке профиля.

  3. 3.

    Создайте одну логическую задачу

    Вызовите solvethree_create_recaptcha с site, action и requestId; recaptchaType и waitMs необязательны. Этот инструмент считывает единственный прокси из SOLVETHREE_PROXY. Каждый вызов создания создаёт не более одной задачи. Если время ожидания создания истекло, повторно используйте тот же ID запроса с неизменными входными данными, чтобы восстановить существующую задачу, а не создавать новую.

  4. 4.

    Дождитесь пригодного для использования результата

    Если статус задачи — pending или solving, получите её через solvethree_get_task. Только ready содержит пригодное для использования решение. При failed прекратите опрос и изучите errorCode и error, прежде чем решать, что изменить.

  5. 5.

    Отправьте результат из приложения

    Для reCAPTCHA отправляйте solution.token, а не ID задачи. Используйте возвращённые параметры идентификации userAgent и secChUa с прокси, на котором решение было успешно получено. Готовая задача означает, что решение сгенерировано, а не что целевой ресурс принял запрос вашего приложения.

MCP-хост получает конфиденциальные данные решения. Не включайте эти результаты в общие журналы; за их отправку целевому ресурсу по-прежнему отвечает ваше приложение.

Запустите первую задачу.

Начните с $5 на балансе рабочего пространства.

Создать рабочее пространство
Запуск MCP-сервера solvethree в Docker · solvethree