Vertaaux Mcp

io.github.PetriLahdelma由 GitHub 账号 PetriLahdelma 发布v1.2.2更新于 Oct 27, 2026

Autonomous UX and a11y audit, fix, and verify loop. 38 tools, framework-aware patches.

发布方自己的服务:Digitaltableteur

概览

AI 生成的概览

VertaaUX MCP 可对网址、代码库和审计产物执行 UX 与无障碍审计,生成框架感知的修复补丁、创建 GitHub PR 并验证修复效果。

可以做什么
  • 审计已部署网址、本地代码库、HAR 文件与 Lighthouse 报告,并获取问题清单、任务状态和严重程度分布
  • 解释问题并给出 WCAG 依据,生成搜索替换补丁,支持 React、Vue、Angular、Svelte 的框架感知修复
  • 通过前后对比审计验证补丁,并创建 GitHub 草稿 PR 或 PR 评论
  • 运行多引擎无障碍审计(axe-core、AccessLint、VertaaUX),并与已保存的基线对比差异
  • 分析组件代码、运行 LLM 审计、截取屏幕截图,并与竞品网址比较 UX 指标
  • 管理 webhook、定时任务、配额与引擎版本
适用场景
适合希望让助手端到端发现并修复网站 UX 或无障碍问题(从审计到补丁再到拉取请求),或在 CI/CD 流程中维持定时审计与回归检查的场景。
运行要求
以 npm 包形式通过 stdio 在本地运行(需要 Node.js)。需在 VERTAAUX_API_KEY 中提供 VertaaUX API 密钥;generate_pr 还需可选的 GITHUB_TOKEN。可选变量 VERTAAUX_API_BASE 与 PORT 用于配置 API 地址和 HTTP 传输。需要访问 VertaaUX API 的网络连接。
安装前请注意
服务器会把审计目标和代码发送到 VertaaUX API,审计会消耗套餐额度,建议先查看 get_quota 与预算上限。generate_pr 会使用 GITHUB_TOKEN 在 GitHub 上创建草稿拉取请求,webhook 与定时任务工具会创建、修改和删除远端资源。请勿将两个密钥写入共享配置文件。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Vertaaux Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

VertaaUX MCP Server

The only MCP server with an autonomous audit, fix, and verify loop. Detects UX and accessibility issues across 7 categories, generates framework-aware patches (React, Vue, Angular, Svelte), opens atomic GitHub PRs via the Git Trees API, and verifies the fix landed in production. Built for CI/CD pipelines with policy-as-code thresholds.

Why this server is different

  • verify_fixes loop: close the audit, fix, re-audit cycle without leaving the agent loop. Budget-capped at 3 iterations to prevent runaway billing.
  • Framework-aware patches: suggest_fix detects React/Vue/Angular/Svelte/Nuxt via the nearest package.json and emits idiomatic patches (JSX rewrites for React, HTML attrs preserved elsewhere).
  • Atomic Git Trees PRs: generate_pr applies N patches in a single commit or zero. Conflict graph + AST gate (Babel, vue-eslint-parser, svelte/compiler) refuse unparseable patches before they reach the PR.
  • Deterministic finding IDs: rule:hash format stable across audit runs so agents can reference findings without storing state.
  • Multi-engine a11y: audit_a11y combines axe-core, AccessLint, and VertaaUX analyzers in a single call.
  • Policy-as-code: policy_check mirrors the GitHub Action's threshold evaluator exactly so CI and agent verdicts match.

Features

  • 38 Tools across audit, fix, PR, schedule, webhook, policy, and a11y categories
  • 7 Prompt Templates for common workflows
  • 8 Resource URIs for audit data and UX guidelines
  • Enterprise Controls: domain allowlist, rate limiting, PII redaction
  • Dual Transport: stdio (CLI/Desktop) + HTTP streaming (web)
  • Official MCP SDK: spec-compliant via @modelcontextprotocol/sdk

Install

MCP Official Registry

bash
npx -y @modelcontextprotocol/cli install io.github.PetriLahdelma/vertaaux-mcp

npm

bash
npm install -g @vertaaux/mcp-serverVERTAAUX_API_KEY=vx_live_... vertaaux-mcp

Drift policy: smithery.yaml, glama.json, and server.json are auto-generated from the live MCP tool registry by npm run generate:manifests. Never hand-edit them. See docs/REGISTRY-PUBLISHING.md for the runbook.

Quick Start

bash
# Install & buildnpm 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 Integration

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

json
{  "mcpServers": {    "vertaaux": {      "command": "node",      "args": ["/path/to/mcp-server/dist/index.js"],      "env": {        "VERTAAUX_API_KEY": "vx_live_..."      }    }  }}

VS Code (with MCP extension)

Add to .vscode/settings.json:

json
{  "mcp.servers": {    "vertaaux": {      "command": "node",      "args": ["./mcp-server/dist/index.js"],      "env": {        "VERTAAUX_API_KEY": "vx_live_..."      }    }  }}

Cursor

Add to .cursor/mcp.json:

json
{  "mcpServers": {    "vertaaux": {      "command": "node",      "args": ["/path/to/mcp-server/dist/index.js"],      "env": {        "VERTAAUX_API_KEY": "vx_live_..."      }    }  }}

Environment Variables

VariableRequiredDefaultPurpose
VERTAAUX_API_KEYYes—API authentication key
VERTAAUX_API_BASENohttps://vertaaux.ai/api/v1API endpoint URL
PORTNo8787HTTP transport port
GITHUB_TOKENNo—GitHub API access for generate_pr

Tools

Audit Tools (Core)

ToolDescription
audit_urlRun UX & accessibility audit on a deployed URL. Returns top 5 issues with severity breakdown.
audit_repoStatic analysis on local codebase (React/Vue/Svelte/HTML). Finds missing alt text, unlabeled buttons/inputs/links.
audit_artifactAudit from HAR files (response times, failed requests, large payloads) or Lighthouse JSON (accessibility findings).
get_findingsRetrieve findings from a completed audit with filtering by severity, rule, and pagination.
get_auditGet audit job status and results by job ID.

Fix & Verify Tools

ToolDescription
explain_findingDeep-dive into a finding: WCAG criteria, repro steps, fix guidance, before/after code examples.
suggest_fixGenerate search/replace patch with confidence score. Supports single and batch mode.
generate_patchGenerate accessibility fix patch for a specific issue from an audit.
run_verification_suiteVerify a patch fixes the issue without regressions via before/after audit.
generate_prCreate a draft GitHub PR with fix patches. Requires GITHUB_TOKEN.
create_pr_commentGenerate a PR comment with suggestion blocks, ordered by severity.

Analysis Tools

ToolDescription
analyze_componentHeuristic UX review of component code (no browser needed). Checks images, buttons, inputs, links.
run_llm_auditProvider-agnostic LLM audit (Mistral/OpenAI via Vertaa adapter).
capture_screenshotCapture screenshot by running a quick audit.
compare_competitorsCompare UX metrics against competitor URLs with category-level score deltas.
explain_issueFormat an issue into developer-friendly markdown guidance.

Management Tools

ToolDescription
create_webhookRegister webhook for audit notifications.
list_webhooks / delete_webhookManage webhooks.
create_scheduleCron-based scheduled audits with score threshold alerts.
get_schedule / list_schedules / update_schedule / delete_scheduleManage schedules.
get_quotaCheck plan and remaining credits.
get_enginesList available engine versions.

Accessibility Tools (Multi-Engine)

ToolDescription
audit_a11yMulti-engine accessibility audit using axe-core, AccessLint, and custom analyzers. Returns WCAG-mapped findings with structured fix suggestions and fixability ratings. Supports min_impact filtering and mode (basic/standard/deep).
diff_a11yCompare current accessibility findings against a saved baseline. Returns fixed, new, and unchanged findings with net change summary. Requires a prior audit_a11y call to establish the baseline.

Deprecated

ToolDescription
run_auditDEPRECATED — Use audit_url instead.

Prompt Templates

Pre-built workflow prompts for common audit scenarios:

PromptDescriptionArguments
quick_auditAudit a URL and summarize top issues with fix recommendationsurl
fix_accessibilityFull audit → patch → PR comment workflowurl
compare_uxCompare against competitors and identify UX gapsurl, competitors, industry?
monitor_regressionSet up scheduled monitoring with alertsurl, frequency?
audit_codebaseStatic analysis on local codebasepath

Resources

The server exposes MCP resources via vertaa:// URIs:

URI PatternDescription
vertaa://audits/{auditId}Full audit result
vertaa://audits/{auditId}/summaryLightweight summary
vertaa://audits/{auditId}/findings/{findingId}Single finding detail
vertaa://screenshots/{auditId}Screenshot metadata
vertaa://screenshots/{auditId}/annotatedAnnotated screenshot
vertaa://history/{encodedUrl}Audit history for URL
vertaa://history/{encodedUrl}/trendScore trend analysis
vertaa://guidelines/{topic}UX guidelines (buttons, forms, navigation, color-contrast, errors, content)

Enterprise Controls

Configure domain allowlists, rate limits, and PII redaction programmatically:

typescript
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]' }    ],  },});

Example: Audit-to-PR Workflow

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

Development

Project Structure

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

Testing

bash
npm test              # Run test suitenpm run test:watch    # Watch modenpm run test:coverage # Coverage report

Building

bash
npm run build         # TypeScript → dist/

Error Handling

All errors include structured recovery guidance:

json
{  "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" }  }}

Error codes follow JSON-RPC 2.0: -32700 (parse), -32600 (invalid request), -32601 (method not found), -32602 (invalid params), -32603 (internal error).

API Reference

The MCP server communicates with the VertaaUX API v1. See the API Documentation.

License

MIT

来源:README.md,提交 c14964f

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.2.2最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Digitaltableteur 集成