Wopee MCP Server
AI-подключаемое автономное тестирование ваших приложений — подключите Claude, Cursor или любого MCP-совместимого AI-агента к Wopee.io и генерируйте тест-кейсы, пользовательские истории и запускайте автономные тесты за считанные секунды.
npx wopee-mcp
Установка
Требования
-
Node.js (рекомендуется версия 18 и выше)
-
IDE, поддерживающее MCP (Model Context Protocol), например Cursor или VSCode
Конфигурация MCP Server
Добавьте этот сервер в вашу конфигурацию MCP.
Пример конфигурации
{
"mcpServers": {
"wopee": {
"command": "npx wopee-mcp",
"env": {
"WOPEE_PROJECT_UUID": "your-project-uuid-here",
"WOPEE_API_KEY": "your-api-key-here"
}
}
}
}
Обязательные переменные окружения
-
WOPEE_PROJECT_UUID— UUID вашего проекта Wopee. Определяет, с каким проектом вы работаете. -
WOPEE_API_KEY— Ваш API-ключ Wopee. Можно создать на cmd.wopee.io, в настройках проекта.
Необязательные переменные окружения
WOPEE_API_URL— URL-адрес точки доступа Wopee API. Указывается только для тестирования/разработки.
Конфигурация корпоративного прокси
Если вы находитесь за корпоративным прокси/VPN и возникают тайм-ауты соединения, можно задать настройки прокси через стандартные переменные окружения:
{
"mcpServers": {
"wopee": {
"command": "npx wopee-mcp",
"env": {
"WOPEE_PROJECT_UUID": "your-project-uuid-here",
"WOPEE_API_KEY": "your-api-key-here",
"HTTPS_PROXY": "http://your-proxy-server:8080"
}
}
}
}
Поддерживаемые переменные окружения прокси
-
HTTPS_PROXYилиhttps_proxy— URL прокси-сервера для HTTPS-подключений (рекомендуется) -
HTTP_PROXYилиhttp_proxy— URL прокси-сервера на случай отсутствия HTTPS-прокси
Поиск настроек прокси
Если сомневаетесь в настройки прокси, проверьте в VS Code в файле settings.json значение http.proxy, либо проконсультируйтесь с вашим IT-отделом. Распространенные форматы прокси:
http://proxy.company.com:8080http://10.x.x.x:8080http://username:password@proxy.company.com:8080(при аутентификации)
Проблемы TLS / сертификатов
Это не требуется для работы MCP. Если появляются ошибки, связанные с HTTPS или сертификатами, это указывает на проблему доверия TLS/сертификатов в вашей среде.
Если сервер падает с ошибками вроде UNABLE_TO_VERIFY_LEAF_SIGNATURE или certificate has expired, это может быть вызвано:
-
Самоподписанные сертификаты (например, когда
WOPEE_API_URLуказывает на внутренний или тестовый сервер) -
Корпоративный прокси / SSL-Inspection (трафик повторно шифруется с использованием корпоративного CA, которому ваша машина не доверяет)
-
Отсутствие CA-сертификатов в хранилище доверия Node
Предпочтительные безопасные решения
-
Используйте валидный TLS-сертификат — например, Let’s Encrypt, или внутренний CA — и обеспечьте передачу полного цепочки сертификатов.
-
Установите корпоративный или внутренний CA так, чтобы Node ему доверял:
Пример:
export NODE_EXTRA_CA_CERTS=/etc/ssl/certs/internal-ca.pem
В конфигурации MCP env:
"env": {
"WOPEE_PROJECT_UUID": "your-project-uuid-here",
"WOPEE_API_KEY": "your-api-key-here",
"NODE_EXTRA_CA_CERTS": "/path/to/ca.pem"
}
Небезопасная обходная мера (не рекомендуется)
Только для локальной отладки, можно отключить верификацию TLS в Node. Это НЕ следует использовать в продакшене, так как отключает HTTPS-защиту и делает трафик уязвимым к перехвату.
export NODE_TLS_REJECT_UNAUTHORIZED=0
Или в конфигурации MCP env:
"env": {
"WOPEE_PROJECT_UUID": "your-project-uuid-here",
"WOPEE_API_KEY": "your-api-key-here",
"NODE_TLS_REJECT_UNAUTHORIZED": "0"
}
Рассматривать как режим только для отладки, а не как обычный шаг настройки.
Примечание: Некоторые пользователи также сообщали о установке PYTHONHTTPSVERIFY=0. Этот MCP-сервер не использует Python; данная переменная не влияет на него. Она может применяться только если вы запускаете Python-основанный MCP-хост или другой инструмент, выполняющий HTTPS в той же среде — вне рамок данного сервера.
Начало работы
Большинство инструментов этого MCP-сервера требуют suiteUuid для работы. Есть два варианта начать работу:
Вариант 1: Использовать существующие наборы
Сначала получите ваши существующие наборы анализа:
Use the wopee_fetch_analysis_suites tool to retrieve all available suites for your project.
Это вернет список всех наборов анализа с их UUID, которые затем можно использовать с другими инструментами.
Вариант 2: Создать новый набор
Если у вас ещё нет наборов, есть два варианта:
Автоматический анализ: создать и запустить полный набор анализа/краулинга:
Use the wopee_dispatch_analysis tool to create and dispatch a new analysis/crawling suite.
Пустой набор: создать пустой набор для ручной настройки:
Use the wopee_create_blank_suite tool to create a blank analysis suite.
Оба варианта вернут UUID набора, который можно использовать в последующих операциях.
Доступные инструменты
Управление наборами
wopee_fetch_analysis_suites
Извлекает все наборы анализа для вашего проекта. Хорошая точка старта, чтобы увидеть, какие наборы доступны.
- Returns: Массив наборов анализа с их UUID, именами, статусами и метаданными
Пример использования:
Fetch all existing analysis suites for my project
wopee_dispatch_analysis
Создает и отправляет новый набор анализа/краулинга для вашего проекта, или повторно запускает уже существующий. Используйте для старта новой сессии анализа или повторной активации предыдущего анализа.
- Параметры:
additionalInstructions (optional) — Дополнительные инструкции для направления агента во время фазы анализа/краулинга (например, зоны фокуса, что игнорировать, шаги входа и т. п.)
additionalVariables (optional) — Дополнительные переменные окружения, передаваемые в анализ. Массив объектов, каждый из которых содержит:
key — имя переменной, должно быть заглавным и содержать только подчеркивания (например, MY_VAR, BASE_URL)
value— значение переменной (непустая строка)
rerun (optional) — Если задано, повторно запустить существующий набор анализа вместо создания нового. Объект с:
suiteUuid — UUID существующего набора для повторного запуска
-
analysisIdentifier— Аналитический идентификатор существующего набора -
mode— Режим повторного запуска:FULL(повторяет полный анализ, включая краулинг и генерацию) илиCRAWLING(повторяет только фазу краулинга) -
Returns: Сообщение об успешном создании/повторной отправке набора и информация о наборе
Пример использования:
Dispatch a new analysis suite
Dispatch a new analysis suite and focus on the checkout flow
Dispatch a new analysis suite with additional variables CARD_FILAMENT=123321123 and AUTH_TOKEN=abc123
Rerun the full analysis for suite <suiteUuid> with analysis identifier <analysisIdentifier>
Rerun only the crawling phase for suite <suiteUuid> with analysis identifier <analysisIdentifier>
wopee_create_blank_suite
Создает пустой набор анализа для вашего проекта. Используйте, когда нужно вручную настроить и заполнить набор, а не позволять ему автоматически анализироваться.
- Returns: Информация о созданном наборе, включая его UUID
Пример использования:
Create a blank analysis suite for my project
Инструменты генерации
Эти инструменты создают различные артефакты для конкретного набора. Все требуют suiteUuid и type для генерации.
wopee_generate_artifact
Генерирует конкретный файл(артефакт) для выбранного набора.
- Параметры:
suiteUuid — UUID набора
-
type—"APP_CONTEXT" | "GENERAL_USER_STORIES" | "USER_STORIES_WITH_TEST_CASES" | "TEST_CASES" | "TEST_CASE_STEPS" | "REUSABLE_TEST_CASES" | "REUSABLE_TEST_CASE_STEPS" -
Returns: Сгенерированный вывод при успешной генерации
Пример использования:
Generate app context for my most recent analysis suite
Инструменты получения
Эти инструменты извлекают сгенерированные артефакты для конкретного набора. Все требуют suiteUuid и type.
wopee_fetch_artifact
Извлекает запрашиваемый файл(артефакт) из выбранного набора.
- Параметры:
suiteUuid — UUID набора
-
type—"APP_CONTEXT" | "GENERAL_USER_STORIES" | "USER_STORIES" | "PLAYWRIGHT_CODE" | "PROJECT_CONTEXT" -
identifier— Идентификатор тест-кейса для получения Playwright-кода, напримерUS003:TC004 -
Returns: Содержимое файла при успешном извлечении
Пример использования:
Fetch user stories for the latest suite
Инструменты обновления
Эти инструменты используются для обновления или установки определённых файлов(артефактов) для конкретного набора. Необходимы suiteUuid, type и content.
wopee_update_artifact
Обновляет/замещает существующий файл(артефакт) для конкретного набора
- Параметры:
suiteUuid — UUID набора
-
type—"APP_CONTEXT" | "GENERAL_USER_STORIES" | "USER_STORIES" | "PLAYWRIGHT_CODE" | "PROJECT_CONTEXT" -
content— Markdown-содержимое дляapp context,general user storiesиproject context, структурированный JSON дляuser stories -
identifier— Идентификатор тест-кейса для получения Playwright-кода, напримерUS003:TC004 -
Returns: Булево значение, отражающее статус выполнения вызова инструмента
Пример использования:
Update app context file for the most recent suite with this content: <YourMarkdown>
Тестирование агента
wopee_dispatch_agent
Отправляет автономного тестового агента для выполнения тест-кейсов выбранного набора. Тесты выполняются асинхронно (обычно 1–3 минуты). Этот инструмент возвращает подтверждение запуска и информацию для отслеживания — итоговые результаты не возвращаются.
- Параметры:
suiteUuid — UUID набора, содержащего тест-кейсы
-
analysisIdentifier— Аналитический идентификатор набора -
testCases— Массив объектов тест-кейсов для исполнения, каждый содержит:
testCaseId — ID тест-кейса
-
userStoryId— ID связанной пользовательской истории -
Returns: Подтверждение запуска с информацией для отслеживания (UUID набора, аналитический идентификатор, статус исполнения по каждому тесту). Результаты прохождения/провала возвращаются позже через
wopee_fetch_recent_executionsилиwopee_fetch_executed_test_cases.
Пример использования:
Dispatch agent for my latest suite's user story US001 and test case TC003
Результаты тестирования
wopee_fetch_recent_executions
Получает наиболее свежие исполнения тестов для текущего проекта (до 20, новые вверху). Используйте этот инструмент, чтобы быстро проверить статус недавно запущенных тестов, не запоминая конкретные UUID наборов.
-
Параметры: отсутствуют (используется
WOPEE_PROJECT_UUIDиз окружения) -
Returns: Список последних исполнений с статусом выполнения (IN_PROGRESS, IN_QUEUE, FINISHED, FAILED), отчетами агента и результатами прохождения/провала
Пример использования:
What's the status of my recent test runs?
How did my tests go?
wopee_fetch_executed_test_cases
Извлекает выполненные тест-кейсы и их результаты для заданного набора анализа. Используйте этот инструмент для проверки статуса и отчетов по запущенным агентам.
- Параметры:
suiteUuid — UUID набора анализа, для которого нужно получить результаты
-
analysisIdentifier(optional) — Аналитический идентификатор, чтобы сузить результаты (например,A068) -
Returns: Массив результатов, сгруппированных по пользовательской истории, каждый элемент содержит выполненные тест-кейсы с статусом выполнения, отчетом агента, статусом отчета агента, отчетом по коду и статусом этого отчета
Пример использования:
Fetch test results for suite <suiteUuid>
Show me the executed test cases for my latest analysis suite
Типичный рабочий процесс
Начните с набора:
Используйте wopee_fetch_analysis_suites, чтобы увидеть существующие наборы, или
-
Используйте
wopee_dispatch_analysis, чтобы создать новый набор
Генерация артефактов:
Генерируйте контекст приложения: wopee_generate_artifact с APP_CONTEXT и указанным suiteUuid
-
Генерация общих пользовательских историй:
wopee_generate_artifactсGENERAL_USER_STORIESи указаннымsuiteUuid -
Генерация пользовательских историй с тест-кейсами:
wopee_generate_artifactсUSER_STORIES_WITH_TEST_CASESи указаннымsuiteUuid -
Генерация повторно используемых тест-кейсов:
wopee_generate_artifactсREUSABLE_TEST_CASESи указаннымsuiteUuid -
Генерация повторно используемых шагов тест-кейсов:
wopee_generate_artifactсREUSABLE_TEST_CASE_STEPSи указаннымsuiteUuid -
Генерация шагов тест-кейсов:
wopee_generate_artifactсTEST_CASE_STEPSи указаннымsuiteUuid
Получение сгенерированного контента:
Используйте инструменты извлечения для получения сгенерированных файлов в формате Markdown/JSON
Запуск тестов:
Используйте wopee_dispatch_agent для выполнения тест-кейсов автономным агентом
Проверка результатов:
Используйте wopee_fetch_recent_executions, чтобы быстро проверить статус последних запусков
-
Или используйте
wopee_fetch_executed_test_casesдля детального статуса и отчетов по конкретному набору -
Либо используйте подсказку
fetch-test-resultsдля форматированного обзора всех результатов тестов
Доступные подсказки
fetch-project-summary
Получает наборы анализа и их пользовательские истории/тест-кейсы, затем отображает отформатированное резюме двумя markdown-таблицами: обзор набора и подробная разбивка по тест-кейсам.
fetch-test-results
Извлекает наборы анализа и их результаты выполненных тест-кейсов, затем отображает форматированные markdown-таблицы, показывающие статус выполнения, статус отчета агента и статус отчета по коду для каждого тест-кейса. Также выводятся детали неудачных отчетов.
Примечания
-
Большинство инструментов требуют
suiteUuid. Всегда начинайте с извлечения или создания набора. -
Инструмент
wopee_dispatch_analysisпроходит весь цикл обработки — сканирование приложения и последовательную генерацию всех файлов(артефактов). -
Рекомендуется использовать cmd.wopee.io для удобного визуального отображения сгенерированных данных и результатов запусков агента.