Добавьте решение CAPTCHA в своего ИИ-агента через MCP

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

Запустите solvethree-mcp как локальный stdio-сервер в вашем MCP-хосте. Он позволяет агенту запрашивать решения CAPTCHA; для их отправки агенту по-прежнему нужна собственная интеграция с браузером или приложением.

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

1. Настройте локальный сервер

Официальный загружаемый пакет @solvethree/sdk включает исполняемый файл solvethree-mcp. Конфигурации ниже используют npx для его запуска по указанному URL пакета. Размещённой на сервере конечной точки MCP, адрес которой можно было бы указать, нет.

  • Обеспечьте доступность npx в окружении, где работает ваш MCP-хост.
  • Задайте в окружении хоста переменную SOLVETHREE_API_KEY со значением API-ключа рабочего пространства. Не включайте его в браузерный код и промпты.
  • Задайте SOLVETHREE_PROXY в этом окружении. Инструмент reCAPTCHA считывает свой единственный прокси из этой переменной, а не из запроса к инструменту.

Для хоста, принимающего конфигурацию MCP в JSON, добавьте эту запись сервера:

Хост MCP · локальная конфигурация stdio
{
  "mcpServers": {
    "solvethree": {
      "command": "npx",
      "args": [
        "--yes",
        "--package=https://solvethree.com/downloads/solvethree-sdk-0.1.0.tgz",
        "solvethree-mcp"
      ]
    }
  }
}

Для Codex используйте вместо этого следующую конфигурацию TOML. Запись env_vars передаёт две переменные из окружения хоста, а не задаёт их значения.

Codex · config.toml
[mcp_servers.solvethree]
command = "npx"
args = ["--yes", "--package=https://solvethree.com/downloads/solvethree-sdk-0.1.0.tgz", "solvethree-mcp"]
env_vars = ["SOLVETHREE_API_KEY", "SOLVETHREE_PROXY"]
startup_timeout_sec = 60
tool_timeout_sec = 100

Запустите или перезагрузите хост так, чтобы эти переменные окружения были доступны. Убедитесь, что он предоставляет solvethree_capabilities, solvethree_create_recaptcha, solvethree_create_kasada, solvethree_create_tmpt и solvethree_get_task.

2. Создайте задачу reCAPTCHA

Перед созданием задачи reCAPTCHA настройте профиль целевого сайта и убедитесь, что он активен для вашего рабочего пространства. Передача имени хоста и действия через MCP не создаёт этот профиль.

Используйте solvethree_capabilities, чтобы просмотреть доступные возможности. Для reCAPTCHA v3 Enterprise вызовите solvethree_create_recaptcha со следующим запросом:

Вызов инструмента · solvethree_create_recaptcha
{
  "site": "accounts.example.com",
  "action": "login",
  "requestId": "agent-login-001",
  "waitMs": 0
}

Замените accounts.example.com на ваш целевой сайт, а login — на действие, необходимое вашему приложению. Выберите requestId для этой логической задачи и сохраните его вместе с запросом. Если waitMs равен нулю, получайте результат отдельно, не ожидая завершения в этом вызове.

Каждый вызов создания через MCP требует requestId, хотя в базовом API задач это поле необязательно. Используйте 1–64 символа: буквы ASCII, цифры, знаки подчёркивания или дефисы.

3. Получите решение и отправьте его

  1. 1.

    Сохраните возвращённый идентификатор задачи

    Создание задачи — ещё не результат. Сохраните идентификатор задачи, чтобы агент мог получить именно эту задачу.

  2. 2.

    Вызовите solvethree_get_task

    Используйте идентификатор задачи, возвращённый вызовом создания. Если статус — pending или solving, запросите задачу повторно позже. Ни один из этих статусов не содержит пригодного для использования решения.

  3. 3.

    Обработайте конечный статус

    При ready передайте решение в интеграцию с браузером или приложением. При failed проверьте errorCode и error и прекратите опрос этой задачи.

Для reCAPTCHA отправьте solution.token через браузер или запрос приложения. Задайте заголовки User-Agent и sec-ch-ua по возвращённым значениям userAgent и secChUa и повторно используйте прокси, настроенный в SOLVETHREE_PROXY. Сохраняйте привязку к этой прокси-сессии, если ваш провайдер меняет выходные узлы.

Kasada возвращает заголовки, а Ticketmaster TMPT — необработанное значение cookie. Используйте результат для запрошенной задачи: эти результаты не взаимозаменяемы.

MCP-сервер не управляет браузером и не заполняет формы. Его хост получает конфиденциальные данные решения, а ваше приложение отправляет их целевому сайту. Проверяйте ответ целевого сайта отдельно: статус ready означает, что solvethree сгенерировал решение, а не что целевой сайт его принял.

Восстановление результата создания задачи после тайм-аута без повторного создания

Тайм-аут соединения не доказывает, что создать задачу не удалось. Если вы получили ID задачи, запросите её. В противном случае повторите тот же запрос на создание с тем же requestId и неизменными входными данными задачи, чтобы получить существующую задачу. Не генерируйте новый ID только потому, что ответ потерялся.

Повторное использование ID запроса с другими входными данными задачи вызывает конфликт. Если завершилась ошибкой сама задача, прочитайте её ошибку, прежде чем решать, что менять: повторная отправка некорректных данных вслепую их не исправит. Различия между ошибками запросов и ошибками задач описаны в разделе Ошибки CAPTCHA API.

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

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

Создать рабочее пространство
Добавьте решение CAPTCHA в своего ИИ-агента через MCP · solvethree