
cowork-qa
inSideos-designsMIT
Ручное тестирование сценариев в браузере через AI-агентов часто превращается в угадайку. Агент отправляет команду, получает HTML и снова отправляет команду. Нет записи о том, почему он сделал именно этот клик и достиг ли цели. cowork-qa-mcp решает эту задачу добавлением полной трассировки.
Когда LLM начинает сессию, она формулирует конкретную цель. Например: «Найти билет на концерт до 5000 рублей». Каждое действие фиксируется: «Перешёл по URL», «Кликнул по кнопке "Купить"», «Ввёл текст в поле поиска». После каждого шага сервер сохраняет URL и aria-snapshot страницы. Когда вкладка закрывается, на диск записывается JSON-файл со структурой: цель, список всех шагов с таймстемпами, финальный URL и финальный снимок страницы.
Этот трейс вы передаёте второму агенту (или проверяете сами), чтобы оценить качество выполнения. Агент мог найти билет за 6000 рублей, хотя цель была «до 5000». Стандартный браузерный MCP просто вернёт «я кликнул, вот HTML». cowork-qa-mcp даёт полную историю для объективного анализа.
Установка
npx -y cowork-qa-mcpХарактеристики
Общее
- СтатусСообщество
- РазработчикinSideos-designs
- ЛицензияMIT
Технологии
- ЯзыкиJavaScript
- Транспортstdio
Описание
Возможности
- Запуск сессии с указанием цели на естественном языке и опционального стартового URL. Сервер возвращает идентификатор сессии.
- Выполнение действий: переход по адресу (
goto), клик по элементу (click), заполнение поля (fill), нажатие клавиши (press), выполнение JavaScript на странице (eval). Каждое действие записывается в трейс. - Получение текущего URL и aria-снимка страницы без записи действия в историю. Нужно для инспекции страницы между шагами.
- Завершение сессии: вкладка закрывается, полный JSON-трейс сохраняется на диск.
- Извлечение готового трейса через инструмент
qa_get_trace: цель, список шагов с таймстемпами, финальный URL и финальный aria-snapshot. Формат заточен под чтение LLM. - Поддержка headless-режима по умолчанию и headed-режима с видимым окном браузера через переменную окружения
COWORK_QA_HEADED=1. - Отсутствие облачных зависимостей. Всё работает локально. Браузер Chromium загружается автоматически через Playwright при первой установке.
Как подключить
Установите пакет глобально через npm:
npm install -g cowork-qa-mcp
Или запустите сервер без установки через npx:
npx -y cowork-qa-mcp
Настройте MCP-клиент. Для Claude Desktop отредактируйте конфигурационный файл (claude_desktop_config.json):
{
"mcpServers": {
"cowork-qa": {
"command": "npx",
"args": ["-y", "cowork-qa-mcp"]
}
}
}
Для Claude Code используйте встроенную команду:
claude mcp add cowork-qa --scope user -- npx -y cowork-qa-mcp
Если нужно видеть окно браузера, добавьте флаг -e COWORK_QA_HEADED=1.
Перезапустите клиент. В Claude Code проверьте подключение командой /mcp — появится статус «cowork-qa ✓ connected» и список из пяти инструментов.
Примеры запросов
- «Открой браузер и зайди на github.com. Найди репозиторий cowork-qa-mcp. Кликни по первой ссылке в результатах поиска. Покажи, что нашлось.»
- «Начни новую сессию с целью "проверить цену подписки". Перейди на страницу тарифов сервиса. Кликни на кнопку "Купить". Запиши цену из появившегося окна.»
- «Запусти браузер на странице example.com и выполни JavaScript-код: собери все ссылки на странице и верни их списком.»
- «Проверь форму входа: открой страницу логина, введи неверный пароль, нажми кнопку "Войти". Посмотри aria-snapshot страницы после попытки. Скажи, появилась ли ошибка.»
Технические детали
- Язык разработки: JavaScript (TypeScript в исходном коде).
- Транспорт: stdio — совместим со всеми MCP-клиентами (Claude Desktop, Claude Code, Cursor, Windsurf).
- Лицензия: MIT.
- Движок браузера: Chromium. Загружается автоматически при первой установке через Playwright (~150 МБ).
- Требования к среде: Node.js 20+.
- Режимы: Headless (по умолчанию, для серверов и CI) и Headed (с окном, через
COWORK_QA_HEADED).