Добавьте решение CAPTCHA в своего ИИ-агента через MCP
Запустите solvethree-mcp как локальный stdio-сервер в вашем MCP-хосте. Он позволяет агенту запрашивать решения CAPTCHA; для их отправки агенту по-прежнему нужна собственная интеграция с браузером или приложением.
На этой странице
1. Настройте локальный сервер
Официальный загружаемый пакет @solvethree/sdk включает исполняемый файл solvethree-mcp. Конфигурации ниже используют npx для его запуска по указанному URL пакета. Размещённой на сервере конечной точки MCP, адрес которой можно было бы указать, нет.
- Обеспечьте доступность
npxв окружении, где работает ваш MCP-хост. - Задайте в окружении хоста переменную
SOLVETHREE_API_KEYсо значением API-ключа рабочего пространства. Не включайте его в браузерный код и промпты. - Задайте
SOLVETHREE_PROXYв этом окружении. Инструмент reCAPTCHA считывает свой единственный прокси из этой переменной, а не из запроса к инструменту.
Для хоста, принимающего конфигурацию MCP в JSON, добавьте эту запись сервера:
{
"mcpServers": {
"solvethree": {
"command": "npx",
"args": [
"--yes",
"--package=https://solvethree.com/downloads/solvethree-sdk-0.1.0.tgz",
"solvethree-mcp"
]
}
}
}Для Codex используйте вместо этого следующую конфигурацию TOML. Запись env_vars передаёт две переменные из окружения хоста, а не задаёт их значения.
[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 со следующим запросом:
{
"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.
Сохраните возвращённый идентификатор задачи
Создание задачи — ещё не результат. Сохраните идентификатор задачи, чтобы агент мог получить именно эту задачу.
- 2.
Вызовите solvethree_get_task
Используйте идентификатор задачи, возвращённый вызовом создания. Если статус — pending или solving, запросите задачу повторно позже. Ни один из этих статусов не содержит пригодного для использования решения.
- 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.
Источники и справочник API
Запустите первую задачу.
Начните с $5 на балансе рабочего пространства.