Skip to main content
Glama

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-mcp

npm

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_..."
      }
    }
  }
}

Переменные окружения

Переменная

Обязательно

По умолчанию

Назначение

VERTAAUX_API_KEY

Да

Ключ аутентификации API

VERTAAUX_API_BASE

Нет

https://vertaaux.ai/api/v1

URL конечной точки API

PORT

Нет

8787

Порт HTTP-транспорта

GITHUB_TOKEN

Нет

Доступ к GitHub API для generate_pr

Инструменты

Инструменты аудита (основные)

Инструмент

Описание

audit_url

Проведение аудита UX и доступности по развернутому URL. Возвращает 5 главных проблем с разбивкой по серьезности.

audit_repo

Статический анализ локальной кодовой базы (React/Vue/Svelte/HTML). Находит отсутствующий замещающий текст, немаркированные кнопки/поля ввода/ссылки.

audit_artifact

Аудит из HAR-файлов (время ответа, неудачные запросы, большие полезные нагрузки) или JSON Lighthouse (находки по доступности).

get_findings

Получение находок из завершенного аудита с фильтрацией по серьезности, правилу и пагинацией.

get_audit

Получение статуса задания аудита и результатов по ID задания.

Инструменты исправления и проверки

Инструмент

Описание

explain_finding

Глубокий анализ находки: критерии WCAG, шаги воспроизведения, руководство по исправлению, примеры кода до/после.

suggest_fix

Генерация патча поиска/замены с оценкой уверенности. Поддерживает одиночный и пакетный режимы.

generate_patch

Генерация патча исправления доступности для конкретной проблемы из аудита.

run_verification_suite

Проверка того, что патч исправляет проблему без регрессий, через аудит до/после.

generate_pr

Создание черновика PR в GitHub с патчами исправлений. Требует GITHUB_TOKEN.

create_pr_comment

Генерация комментария к PR с блоками предложений, отсортированными по серьезности.

Инструменты анализа

Инструмент

Описание

analyze_component

Эвристический UX-обзор кода компонента (браузер не требуется). Проверяет изображения, кнопки, поля ввода, ссылки.

run_llm_audit

LLM-аудит, не зависящий от провайдера (Mistral/OpenAI через адаптер Vertaa).

capture_screenshot

Создание снимка экрана путем запуска быстрого аудита.

compare_competitors

Сравнение UX-метрик с URL конкурентов с дельтами оценок по категориям.

explain_issue

Форматирование проблемы в удобное для разработчика руководство в формате markdown.

Инструменты управления

Инструмент

Описание

create_webhook

Регистрация вебхука для уведомлений об аудите.

list_webhooks / delete_webhook

Управление вебхуками.

create_schedule

Планирование аудитов на основе Cron с оповещениями о пороговых значениях оценок.

get_schedule / list_schedules / update_schedule / delete_schedule

Управление расписаниями.

get_quota

Проверка плана и оставшихся кредитов.

get_engines

Список доступных версий движков.

Инструменты доступности (мультидвижковые)

Инструмент

Описание

audit_a11y

Мультидвижковый аудит доступности с использованием axe-core, AccessLint и пользовательских анализаторов. Возвращает находки, сопоставленные с WCAG, со структурированными предложениями по исправлению и рейтингами исправимости. Поддерживает фильтрацию min_impact и mode (basic/standard/deep).

diff_a11y

Сравнение текущих находок доступности с сохраненной базовой линией. Возвращает исправленные, новые и неизмененные находки со сводкой чистого изменения. Требует предварительного вызова audit_a11y для установления базовой линии.

Устаревшие

Инструмент

Описание

run_audit

УСТАРЕЛО — используйте audit_url вместо этого.

Шаблоны промптов

Готовые рабочие промпты для типичных сценариев аудита:

Промпт

Описание

Аргументы

quick_audit

Аудит URL и сводка главных проблем с рекомендациями по исправлению

url

fix_accessibility

Полный цикл: аудит → патч → комментарий к PR

url

compare_ux

Сравнение с конкурентами и выявление UX-пробелов

url, competitors, industry?

monitor_regression

Настройка запланированного мониторинга с оповещениями

url, frequency?

audit_codebase

Статический анализ локальной кодовой базы

path

Ресурсы

Сервер предоставляет ресурсы MCP через URI vertaa://:

Шаблон URI

Описание

vertaa://audits/{auditId}

Полный результат аудита

vertaa://audits/{auditId}/summary

Легкая сводка

vertaa://audits/{auditId}/findings/{findingId}

Детали одной находки

vertaa://screenshots/{auditId}

Метаданные снимка экрана

vertaa://screenshots/{auditId}/annotated

Аннотированный снимок экрана

vertaa://history/{encodedUrl}

История аудита для URL

vertaa://history/{encodedUrl}/trend

Анализ тренда оценок

vertaa://guidelines/{topic}

Руководства по 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

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (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

  • A
    license
    B
    quality
    D
    maintenance
    An 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 updated
    2
    435
    48
    Mozilla Public 2.0
  • -
    license
    -
    quality
    -
    maintenance
    Provides 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
  • A
    license
    B
    quality
    D
    maintenance
    An 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 updated
    23
    103
    24
    MIT

View all related MCP servers

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.

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/VertaaUX/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server