QualityMax QA MCP
OfficialQualityMax QA MCP
Предоставьте агенту разработки независимые доказательства качества, прежде чем он объявит изменение веб-страницы завершённым: просканируйте страницу, проверьте интерфейс, сгенерируйте точечный Playwright-репро и затем просмотрите результат выполнения.
npx -y @qualitymax/qmax-mcpЧетыре локальных инструмента не требуют учётной записи QualityMax, API-ключа или размещённого сервиса.
Начните с полезного результата
Попросите агента с поддержкой MCP просканировать URL, который он изменил, или запустите локальный CLI:
npx -y @qualitymax/qmax-mcp scan https://example.com --format markdownОтчёт включает сводку с оценкой, найденные проблемы, конкретные шаги воспроизведения и предлагаемые исправления. Одна команда задействует все четыре инструмента на фикстуре, включённой в репозиторий и не требующей зависимостей, — см. воспроизводимое демо.
Что измеряет одно сканирование
Все девять проверок выполняются на основе одной загрузки страницы. Передайте checks, чтобы запустить подмножество.
Проверка | Что сообщает |
| Ошибки JavaScript, предупреждения и неудачные запросы |
| Битые и перенаправляющие ссылки, до |
| Отсутствующие alt-тексты, элементы управления без подписей, интерактивные элементы без имени, структура заголовков |
| Основные веб-показатели: LCP, CLS, TTFB, FCP |
| Заголовок и мета-описание |
| CSP, HSTS, |
| Отсутствующие |
| HTTP-субресурсы и действия форм на HTTPS-странице, разделённые на блокируемые браузером активные и пассивные |
| Передаваемые байты, количество запросов, блокирующие рендеринг ресурсы, избыточно большие и несжатые ресурсы, стоимость сторонних ресурсов |
scan_url также возвращает блок metrics с измеренными показателями и разбивкой веса страницы, включая самые медленные запросы. В этом блоке явно указаны два ограничения, а не скрыты: INP не измеряется, поскольку требует реального взаимодействия пользователя, а показатели получены из одной холодной загрузки на сканирующей машине, а не из полевых данных. Установите weightBudget, чтобы сканировать с учётом собственного бюджета производительности.
Как выглядит отчёт
--format markdown начинается с общей картины результата, чтобы человек или агент мог увидеть, где находятся проблемы, не читая ещё ни одной находки:
Оценка: 🔴 F (0 / 100) · найдено 17 проблем
░░░░░░░░░░░░░░░░░░░░░░░░0 / 100
Категория
Проблемы
Наихудшая
Ошибки консоли
██░░░░░░░░1🔴 высокая
Доступность
████████░░3🔴 высокая
Заголовки безопасности
██████████4🟠 средняя
Куки и трекеры
█████░░░░░2🟠 средняя
Вес страницы
██████████4🟠 средняя
Каждая полоса масштабируется по самой шумной категории в этом запуске, поэтому самая длинная полоса — то, что нужно исправлять в первую очередь. Когда выполняется weight, раздел измерений также распределяет байты по источникам:
script ████████████████ 18 kB
document ██░░░░░░░░░░░░░░ 3 kB
stylesheet ██░░░░░░░░░░░░░░ 1 kB
image ░░░░░░░░░░░░░░░░ 417 BЗатем каждая найденная проблема идёт с указанием серьёзности, воспроизведением, которое можно скопировать, и предлагаемым исправлением. Используйте --format json для получения тех же данных в виде структурированного вывода.
Related MCP server: Playwright MCP Server
Что умеет агент
Инструмент | Локальная возможность | Граница для проверки |
| Сканирует URL на предмет ошибок консоли, сети, ссылок, доступности, SEO, заголовков безопасности, куки/трекеров, смешанного контента, веса страницы и основных веб-показателей. | Он выполняет исходящие запросы и может сохранить скриншот. |
| Возвращает структуру страницы и кандидатов в локаторы по роли/имени. | Он выполняет исходящие запросы. |
| Пишет детерминированный Playwright-репро в пределах рабочей области. | Он пишет в каталог ниже |
| Выполняет один локальный Playwright-тест и возвращает структурированный статус. | Он выполняет код и записывает контролируемые артефакты; по умолчанию требует принятого человеком запроса на подтверждение через MCP, привязанного к дайджесту. |
Локальный сервер не требует учётной записи. Режим размещённого прокси — это отдельное подключаемое вручную соединение для возможностей QualityMax, требующих учётной записи; не добавляйте его, пока эта возможность не нужна.
Подключите его к своему агенту разработки
Скопируйте готовую конфигурацию без учётных данных и прилагаемый файл инструкций для вашего клиента:
Claude Code | Cursor | Codex | VS Code |
В руководстве по настройке агента объясняются ожидаемые механизмы подтверждения и приведена универсальная конфигурация stdio. Корневой AGENTS.md — это переносимая инструкция: собирайте доказательства, сообщайте о нерешённых сбоях и запрашивайте подтверждение перед изменением файлов или выполнением предоставленного кода, если только сервер явно не объявляет режим без участия человека.
Автоматизация без участия человека
Для доверенной изолированной среды автоматизации, в которой ни один человек не может ответить на MCP-запросы на подтверждение, запустите сервер с явным флагом --unattended:
{
"mcpServers": {
"qmax": {
"command": "npx",
"args": ["-y", "@qualitymax/qmax-mcp", "--unattended"]
}
}
}For Codex TOML, use args = ["-y", "@qualitymax/qmax-mcp", "--unattended"].
Это согласие, включаемое при запуске процесса, разрешает каждый вызов run_playwright_test, обрабатываемый этим сервером; намеренно оно недоступно ни как аргумент инструмента, ни как переменная окружения. Сервер сообщает агенту активный режим, выводит предупреждение UNATTENDED при запуске и возвращает approval.mechanism: "unattended-cli-opt-in-v1" при каждом выполнении. Точный тест по-прежнему фиксируется в снепшот и проверяется по дайджесту, а существующие контроли рабочей области, окружения, тайм-аута, отмены и вывода остаются активными.
Смежные инструменты QualityMax
Сервер сообщает подключённому агенту о трёх отдельных инструментах QualityMax, которые покрывают задачи QA, не выполняемые этими четырьмя инструментами. Это независимые программы — qmax-mcp не устанавливает, не запускает, не включает в свой состав и не проксирует ни одну из них, и ни одной из них не нужна учётная запись QualityMax. Агенту предписано называть такой инструмент, только когда присутствует его триггер, и только один раз, а решение о его запуске оставить вам.
Инструмент | Команда | Когда обращаться к нему |
9lives (MIT) |
| Playwright-спек, который раньше проходил, становится красным после изменения, и сбой выглядит как дрейф. Вылечите локатор, а не ослабляйте утверждение. |
qualitymax-grader (Apache-2.0) |
| Спек вот-вот будет закоммичен, либо набор оценивается по качеству тестов, а не по факту прохождения. Офлайн-оценка от A до F, без модели и сети. |
free-qa-skills (Apache-2.0) | установите из skills.sh | Запрос по QA касается репозитория, а не работающего URL, либо у агента нет доступного MCP-сервера. |
Вместе с локальными инструментами они образуют один цикл: scan_url находит сбой, generate_playwright_repro пишет спек, qualitymax-grader оценивает его до того, как он попадёт в кодовую базу, run_playwright_test выполняет его в выбранном сервером режиме авторизации, а 9lives лечит его, когда последующее изменение вызывает дрейф.
Безопасность и честные ограничения
Локальное сканирование работает по сети. Частные цели отклоняются по умолчанию;
allowPrivateNetwork: true— это лишь намеренное согласие со стороны вызывающего кода для узкой loopback-цели.Сгенерированные repro остаются в контролируемой рабочей директории. Тестовые запуски используют минимальное окружение и контролируемую директорию артефактов.
По умолчанию
run_playwright_testперед выполнением использует MCP-механизм запроса данных через форму (form elicitation). Сервер показывает клиенту цель, побочные эффекты и SHA-256-дайджест и запускает выполнение только после того, как клиент вернёт одобрение человека, данное именно для этого дайджеста. Клиенты без поддержки такого механизма по умолчанию блокируют выполнение (fail closed); один лишь булев флаг, переданный вызывающим кодом, не принимается как подтверждение.--unattended— это явное исключение на уровне процесса для изолированной автоматизации: оно позволяет переданному коду выполняться с файловыми и сетевыми правами локального пользователя без дополнительного запроса человеку.Прочтите полный контракт безопасности MCP и модель угроз безопасности перед публикацией или включением хостируемых возможностей.
Архитектура
В сравнении для запуска зафиксированы датированные ссылки на возможности из первоисточников (first-party) для TestSprite, BrowserStack, mabl и Momentic. Это фактическое сравнение границ возможностей, а не рейтинг.
Режим хостируемого прокси
Локальные инструменты — это открытый локально-ориентированный слой (local-first). Хостируемый QualityMax — это явный прокси для рабочих процессов на базе рабочего пространства: проектов, тест-кейсов, скриптов и наблюдаемости:
QUALITYMAX_API_KEY="<your-api-key>" npx -y @qualitymax/qmax-mcp proxyНастраивайте прокси только тогда, когда нужна возможность, доступная лишь в хостируемой версии. Учётные данные Bearer отправляются только на закреплённую конечную точку https://app.qualitymax.io/api/mcp/; переопределения конечной точки и перенаправления отклоняются.
Поддержка и ответственное раскрытие
Для неконфиденциальных вопросов об использовании и поддержке документации используйте GitHub Issues. Не сообщайте об уязвимостях в публичных issue; следуйте политике безопасности репозитория. Чек-лист запуска содержит проверки владельца, обязательные перед любым публичным анонсом.
Разработка
Среда выполнения требует Node.js 22.13.0 или новее.
npm install
npx playwright install chromium
npm run check
npm run demonpm run demo запускает локальную фикстуру без внешних зависимостей, по умолчанию выводит Markdown-отчёт о качестве и оставляет сгенерированные repro- и Playwright-артефакты в каталоге .qmax-mcp/ для просмотра. Используйте npm run demo -- --format json для машиночитаемого отчёта.
Работы, рассматриваемые как кандидаты после версии 0.4.0, — и границы, которые они должны соблюдать, — зафиксированы в дорожной карте. Это направление, а не обязательство по поставке; выпущенные изменения перечислены в журнале изменений.
Метаданные пакета и релиза
server.json — это канонический манифест реестра MCP. npm run validate:registry проверяет его на соответствие официальной схеме без публикации чего-либо. Используйте npm run version:sync -- <semver>, чтобы обновить вместе все публичные точки метаданных — package.json, package-lock.json, server.json, smithery.yaml и src/metadata.ts; npm run check проверяет их согласованность и завершается ошибкой при расхождении, а npm publish ограничен рабочим процессом выпуска с поддержкой provenance. Процесс выпуска и процедура отката описаны в руководстве по выпуску.
Лицензия
MIT — Copyright (c) 2026 QualityMax.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityFmaintenanceEnables AI assistants to inspect, debug, and test web pages using Playwright. Provides comprehensive DOM inspection, visibility debugging, layout validation, and element finding capabilities in real browser environments.34923MIT
- FlicenseNot gradedqualityDmaintenanceEnables web browser automation and inspection using structured data instead of screenshots, allowing AI agents to interact with web pages programmatically through the Playwright framework.
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to control web browsers through Playwright automation, providing 50+ tools for navigation, interaction, testing, accessibility audits, and visual testing across Chromium, Firefox, and WebKit.10MIT
- AlicenseNot gradedqualityBmaintenanceEnables autonomous web QA by exposing Playwright browser control as MCP tools for navigation, accessibility snapshotting, interaction, and bug detection.3MIT
Related MCP Connectors
Browser-backed QA with evidence and fix-ready reports for coding agents.
AI QA tester — real browsers scan sites for bugs, SEO, perf, and accessibility issues via chat.
Website QA for your coding agent: audit SEO, performance, security, accessibility over MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Quality-Max/qmax-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server