Skip to main content
Glama
Quality-Max

QualityMax QA MCP

Official
by Quality-Max

QualityMax QA MCP

npm version npm downloads License: MIT Node.js Website Discord Buy Me a Coffee

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

npx -y @qualitymax/qmax-mcp

Четыре локальных инструмента не требуют учётной записи QualityMax, API-ключа или размещённого сервиса.

Начните с полезного результата

Попросите агента с поддержкой MCP просканировать URL, который он изменил, или запустите локальный CLI:

npx -y @qualitymax/qmax-mcp scan https://example.com --format markdown

Отчёт включает сводку с оценкой, найденные проблемы, конкретные шаги воспроизведения и предлагаемые исправления. Одна команда задействует все четыре инструмента на фикстуре, включённой в репозиторий и не требующей зависимостей, — см. воспроизводимое демо.

Демонстрационный процесс: scan_url, inspect_page, generate_playwright_repro, затем run_playwright_test за шлюзом одобрения человеком

Что измеряет одно сканирование

Все девять проверок выполняются на основе одной загрузки страницы. Передайте checks, чтобы запустить подмножество.

Проверка

Что сообщает

console

Ошибки JavaScript, предупреждения и неудачные запросы

links

Битые и перенаправляющие ссылки, до maxLinks

accessibility

Отсутствующие alt-тексты, элементы управления без подписей, интерактивные элементы без имени, структура заголовков

performance

Основные веб-показатели: LCP, CLS, TTFB, FCP

seo

Заголовок и мета-описание

security_headers

CSP, HSTS, X-Content-Type-Options, Referrer-Policy

cookies

Отсутствующие Secure/HttpOnly/SameSite, сторонние куки, известные трекеры, отслеживание до согласия

mixed_content

HTTP-субресурсы и действия форм на HTTPS-странице, разделённые на блокируемые браузером активные и пассивные

weight

Передаваемые байты, количество запросов, блокирующие рендеринг ресурсы, избыточно большие и несжатые ресурсы, стоимость сторонних ресурсов

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

Что умеет агент

Инструмент

Локальная возможность

Граница для проверки

scan_url

Сканирует URL на предмет ошибок консоли, сети, ссылок, доступности, SEO, заголовков безопасности, куки/трекеров, смешанного контента, веса страницы и основных веб-показателей.

Он выполняет исходящие запросы и может сохранить скриншот.

inspect_page

Возвращает структуру страницы и кандидатов в локаторы по роли/имени.

Он выполняет исходящие запросы.

generate_playwright_repro

Пишет детерминированный Playwright-репро в пределах рабочей области.

Он пишет в каталог ниже .qmax-mcp/repros; перезапись явная.

run_playwright_test

Выполняет один локальный Playwright-тест и возвращает структурированный статус.

Он выполняет код и записывает контролируемые артефакты; по умолчанию требует принятого человеком запроса на подтверждение через MCP, привязанного к дайджесту.

Локальный сервер не требует учётной записи. Режим размещённого прокси — это отдельное подключаемое вручную соединение для возможностей QualityMax, требующих учётной записи; не добавляйте его, пока эта возможность не нужна.

Подключите его к своему агенту разработки

Скопируйте готовую конфигурацию без учётных данных и прилагаемый файл инструкций для вашего клиента:

В руководстве по настройке агента объясняются ожидаемые механизмы подтверждения и приведена универсальная конфигурация 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)

uv tool install 9lives, затем 9l heal <spec>

Playwright-спек, который раньше проходил, становится красным после изменения, и сбой выглядит как дрейф. Вылечите локатор, а не ослабляйте утверждение.

qualitymax-grader (Apache-2.0)

npx qualitymax-grader <spec>

Спек вот-вот будет закоммичен, либо набор оценивается по качеству тестов, а не по факту прохождения. Офлайн-оценка от 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 demo

npm 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.

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
2Releases (12mo)
Commit activity

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

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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