vertaaux-mcp
MCP-сервер VertaaUX
Единственный MCP-сервер с автономным циклом аудита, исправления и проверки. Обнаруживает проблемы UX и доступности по 7 категориям, генерирует патчи с учетом фреймворка (React, Vue, Angular, Svelte), открывает атомарные PR в GitHub через Git Trees API и проверяет, что исправление успешно внедрено. Создан для CI/CD-конвейеров с использованием пороговых значений policy-as-code.
Почему этот сервер отличается
Цикл
verify_fixes: замыкает цикл аудита, исправления и повторного аудита, не покидая цикл агента. Ограничен 3 итерациями для предотвращения неконтролируемых расходов.Патчи с учетом фреймворка:
suggest_fixопределяет React/Vue/Angular/Svelte/Nuxt через ближайшийpackage.jsonи создает идиоматические патчи (переписывание JSX для React, сохранение HTML-атрибутов в других случаях).Атомарные PR через Git Trees:
generate_prприменяет N патчей в одном коммите или ни одного. Граф конфликтов + проверка AST (Babel, vue-eslint-parser, svelte/compiler) отклоняют неразбираемые патчи до того, как они попадут в PR.Детерминированные ID находок: формат
rule:hashстабилен между запусками аудита, поэтому агенты могут ссылаться на находки без хранения состояния.Мультидвижковая доступность (a11y):
audit_a11yобъединяет анализаторы axe-core, AccessLint и VertaaUX в одном вызове.Policy-as-code:
policy_checkв точности повторяет оценщик пороговых значений GitHub Action, поэтому вердикты CI и агента совпадают.
Related MCP server: MCP Quality Hub
Возможности
38 инструментов в категориях аудита, исправлений, PR, расписаний, вебхуков, политик и доступности (a11y)
7 шаблонов промптов для типичных рабочих процессов
8 URI ресурсов для данных аудита и руководств по UX
Корпоративный контроль: белый список доменов, ограничение частоты запросов, удаление PII
Двойной транспорт: stdio (CLI/Desktop) + HTTP-стриминг (веб)
Официальный MCP SDK: соответствует спецификации через
@modelcontextprotocol/sdk
Установка
Официальный реестр MCP
npx -y @modelcontextprotocol/cli install io.github.PetriLahdelma/vertaaux-mcpnpm
npm install -g @vertaaux/mcp-server
VERTAAUX_API_KEY=vx_live_... vertaaux-mcpПолитика дрейфа:
smithery.yaml,glama.jsonиserver.jsonавтоматически генерируются из реестра инструментов MCP с помощьюnpm run generate:manifests. Никогда не редактируйте их вручную. См.docs/REGISTRY-PUBLISHING.mdдля руководства.
Быстрый старт
# Install & build
npm install && npm run build
# Run (stdio transport, for Claude Desktop, VS Code, Cursor)
VERTAAUX_API_KEY=vx_live_... npm start
# Run (HTTP transport, for web clients)
VERTAAUX_API_KEY=vx_live_... npm run start:httpИнтеграция с IDE
Claude Desktop
Добавьте в ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"vertaaux": {
"command": "node",
"args": ["/path/to/mcp-server/dist/index.js"],
"env": {
"VERTAAUX_API_KEY": "vx_live_..."
}
}
}
}VS Code (с расширением MCP)
Добавьте в .vscode/settings.json:
{
"mcp.servers": {
"vertaaux": {
"command": "node",
"args": ["./mcp-server/dist/index.js"],
"env": {
"VERTAAUX_API_KEY": "vx_live_..."
}
}
}
}Cursor
Добавьте в .cursor/mcp.json:
{
"mcpServers": {
"vertaaux": {
"command": "node",
"args": ["/path/to/mcp-server/dist/index.js"],
"env": {
"VERTAAUX_API_KEY": "vx_live_..."
}
}
}
}Переменные окружения
Переменная | Обязательно | По умолчанию | Назначение |
| Да | — | Ключ аутентификации API |
| Нет |
| URL конечной точки API |
| Нет |
| Порт HTTP-транспорта |
| Нет | — | Доступ к GitHub API для |
Инструменты
Инструменты аудита (основные)
Инструмент | Описание |
| Проведение аудита UX и доступности по развернутому URL. Возвращает 5 главных проблем с разбивкой по серьезности. |
| Статический анализ локальной кодовой базы (React/Vue/Svelte/HTML). Находит отсутствующий замещающий текст, немаркированные кнопки/поля ввода/ссылки. |
| Аудит из HAR-файлов (время ответа, неудачные запросы, большие полезные нагрузки) или JSON Lighthouse (находки по доступности). |
| Получение находок из завершенного аудита с фильтрацией по серьезности, правилу и пагинацией. |
| Получение статуса задания аудита и результатов по ID задания. |
Инструменты исправления и проверки
Инструмент | Описание |
| Глубокий анализ находки: критерии WCAG, шаги воспроизведения, руководство по исправлению, примеры кода до/после. |
| Генерация патча поиска/замены с оценкой уверенности. Поддерживает одиночный и пакетный режимы. |
| Генерация патча исправления доступности для конкретной проблемы из аудита. |
| Проверка того, что патч исправляет проблему без регрессий, через аудит до/после. |
| Создание черновика PR в GitHub с патчами исправлений. Требует |
| Генерация комментария к PR с блоками предложений, отсортированными по серьезности. |
Инструменты анализа
Инструмент | Описание |
| Эвристический UX-обзор кода компонента (браузер не требуется). Проверяет изображения, кнопки, поля ввода, ссылки. |
| LLM-аудит, не зависящий от провайдера (Mistral/OpenAI через адаптер Vertaa). |
| Создание снимка экрана путем запуска быстрого аудита. |
| Сравнение UX-метрик с URL конкурентов с дельтами оценок по категориям. |
| Форматирование проблемы в удобное для разработчика руководство в формате markdown. |
Инструменты управления
Инструмент | Описание |
| Регистрация вебхука для уведомлений об аудите. |
| Управление вебхуками. |
| Планирование аудитов на основе Cron с оповещениями о пороговых значениях оценок. |
| Управление расписаниями. |
| Проверка плана и оставшихся кредитов. |
| Список доступных версий движков. |
Инструменты доступности (мультидвижковые)
Инструмент | Описание |
| Мультидвижковый аудит доступности с использованием axe-core, AccessLint и пользовательских анализаторов. Возвращает находки, сопоставленные с WCAG, со структурированными предложениями по исправлению и рейтингами исправимости. Поддерживает фильтрацию |
| Сравнение текущих находок доступности с сохраненной базовой линией. Возвращает исправленные, новые и неизмененные находки со сводкой чистого изменения. Требует предварительного вызова |
Устаревшие
Инструмент | Описание |
| УСТАРЕЛО — используйте |
Шаблоны промптов
Готовые рабочие промпты для типичных сценариев аудита:
Промпт | Описание | Аргументы |
| Аудит URL и сводка главных проблем с рекомендациями по исправлению |
|
| Полный цикл: аудит → патч → комментарий к PR |
|
| Сравнение с конкурентами и выявление UX-пробелов |
|
| Настройка запланированного мониторинга с оповещениями |
|
| Статический анализ локальной кодовой базы |
|
Ресурсы
Сервер предоставляет ресурсы MCP через URI vertaa://:
Шаблон URI | Описание |
| Полный результат аудита |
| Легкая сводка |
| Детали одной находки |
| Метаданные снимка экрана |
| Аннотированный снимок экрана |
| История аудита для URL |
| Анализ тренда оценок |
| Руководства по UX (кнопки, формы, навигация, цветовой контраст, ошибки, контент) |
Корпоративный контроль
Настраивайте программно белые списки доменов, ограничения частоты запросов и удаление PII:
import { configureEnterpriseControls } from './server.js';
configureEnterpriseControls({
allowlist: {
allowed_domains: ['*.example.com'],
denied_domains: ['internal.example.com'],
},
budget: {
max_requests: 100,
max_pages: 50,
max_duration_ms: 60000,
max_concurrency: 3,
},
redaction: {
redact_emails: true,
redact_phone_numbers: true,
redact_credit_cards: true,
custom_patterns: [
{ name: 'api_key', pattern: 'sk_[a-zA-Z0-9]{20,}', replacement: '[REDACTED]' }
],
},
});Пример: рабочий процесс от аудита до PR
1. audit_url({ url: "https://example.com", mode: "deep" })
→ Returns audit_id with top 5 issues
2. get_findings({ audit_id: "...", severity: "critical" })
→ Returns all critical findings with deterministic IDs
3. suggest_fix({ audit_id: "...", finding_id: "button-name:a1b2c3d4" })
→ Returns search/replace patch with 85% confidence
4. run_verification_suite({ url: "...", selector: "button.submit", rule_id: "button-name" })
→ Verifies fix resolves the issue
5. create_pr_comment({ file_path: "src/Button.tsx", patches: [...] })
→ Generates PR comment with suggestion blocksРазработка
Структура проекта
mcp-server/
├── src/
│ ├── index.ts # Main entry, tool registration
│ ├── server.ts # MCP server config, resources, middleware
│ ├── a11y-tools.ts # Multi-engine a11y audit & baseline diffing tools
│ ├── http.ts # HTTP transport entry point
│ ├── prompts.ts # MCP prompt templates
│ ├── analysis.ts # Component analysis engine
│ ├── patch.ts # Patch generation
│ ├── verification.ts # Patch verification
│ ├── pr-comment.ts # PR comment generation
│ ├── tools/
│ │ ├── audit-url.ts # audit_url tool
│ │ ├── audit-repo.ts # audit_repo tool (static analysis)
│ │ ├── audit-artifact.ts # audit_artifact tool (HAR/Lighthouse)
│ │ ├── get-findings.ts # get_findings tool
│ │ ├── explain-finding.ts# explain_finding tool
│ │ ├── suggest-fix.ts # suggest_fix tool
│ │ ├── generate-pr.ts # generate_pr tool
│ │ └── index.ts # Tool exports
│ ├── transports/
│ │ ├── stdio.ts # Stdio transport (default)
│ │ └── http.ts # HTTP streaming transport
│ ├── middleware/
│ │ ├── allowlist.ts # Domain/path allowlist
│ │ ├── budget.ts # Rate limiting & quotas
│ │ ├── redaction.ts # PII redaction
│ │ └── index.ts # Middleware stack
│ ├── resources/
│ │ ├── audit-results.ts # vertaa://audits/* resources
│ │ ├── screenshots.ts # vertaa://screenshots/* resources
│ │ ├── historical.ts # vertaa://history/* resources
│ │ ├── legacy.ts # Guidelines resources
│ │ └── index.ts # Resource exports
│ ├── schemas/
│ │ ├── audit.ts # Audit schemas (mode, findings)
│ │ ├── findings.ts # Finding schemas
│ │ ├── controls.ts # Enterprise control schemas
│ │ ├── errors.ts # Error schemas
│ │ └── index.ts
│ ├── utils/
│ │ ├── error-recovery.ts # Structured errors with recovery guidance
│ │ ├── change-tracker.ts # Baseline change tracking
│ │ └── deterministic-id.ts # Stable finding IDs
│ └── index.test.ts # Test suite
├── README.md
├── package.json
├── tsconfig.json
└── vitest.config.tsТестирование
npm test # Run test suite
npm run test:watch # Watch mode
npm run test:coverage # Coverage reportСборка
npm run build # TypeScript → dist/Обработка ошибок
Все ошибки включают структурированные рекомендации по восстановлению:
{
"code": "AUDIT_NOT_FOUND",
"message": "Audit abc123 not found.",
"recovery": {
"action": "Start a new audit for this URL",
"tool": "audit_url",
"params": { "url": "https://example.com" }
}
}Коды ошибок соответствуют JSON-RPC 2.0: -32700 (парсинг), -32600 (неверный запрос), -32601 (метод не найден), -32602 (неверные параметры), -32603 (внутренняя ошибка).
Справочник API
MCP-сервер взаимодействует с VertaaUX API v1. См. документацию API.
Лицензия
MIT
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
- AlicenseBqualityDmaintenanceAn MCP (Model Context Protocol) server for performing accessibility audits on webpages using axe-core. Use the results in an agentic loop with your favorite AI assistants (Cline/Cursor/GH Copilot) and let them fix a11y issues for you!Last updated243548Mozilla Public 2.0
- -license-quality-maintenanceProvides comprehensive code quality tools including linting, security scanning, TypeScript checking, and testing through a single MCP server. Integrates multiple quality analysis tools like Biome, ESLint, and Playwright for streamlined development workflows.Last updated
- AlicenseAqualityBmaintenanceAn MCP server that helps AI assistants generate valid, accessible Adaptive Cards for Teams, Outlook, Copilot, and other Microsoft and non-microsoft surfaces. 9 tools, 3 guided workflows, 924 tests to help you build an awesome AI experience.Last updated931MIT
- AlicenseBqualityDmaintenanceAn MCP server that provides comprehensive UX best practices covering accessibility, usability, UI patterns, design systems, performance, and more, enabling clients to analyze and generate UX-optimized code and recommendations.Last updated2310324MIT
Related MCP Connectors
Official MCP server for Qase — manage test cases, runs, suites, defects via AI tools.
MCP server for Google Veo AI video generation
MCP server providing access to the Scorecard API to evaluate and optimize LLM systems.
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/VertaaUX/mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server