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 整合