🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@vertaaux/mcp-server

Package Overview
Dependencies
Maintainers
2
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@vertaaux/mcp-server

MCP server for VertaaUX.ai — run UX & accessibility audits from your LLM or IDE

npmnpm
Version
1.1.0
Version published
Weekly downloads
66
-29.79%
Maintainers
2
Weekly downloads
 
Created
Source

VertaaUX MCP Server

Model Context Protocol (MCP) server for VertaaUX.ai — run UX & accessibility audits, generate fixes, and monitor quality from your LLM or IDE.

Features

  • 38 Tools for the full audit-to-fix lifecycle
  • 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

VertaaUX MCP is listed on the three major MCP registries. Pick whichever your client supports:

Smithery.ai

npx -y @smithery/cli install @vertaaux/mcp-server --client claude

Server page: https://smithery.ai/server/@vertaaux/vertaaux-mcp

Glama.ai

Browse and install from: https://glama.ai/mcp/servers/@vertaaux/vertaaux-mcp

MCP Official Registry

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

Manual (npm)

npm install -g @vertaaux/mcp-server
VERTAAUX_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

# 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 Integration

Claude Desktop

Add to ~/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 (with MCP extension)

Add to .vscode/settings.json:

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

Cursor

Add to .cursor/mcp.json:

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

Environment Variables

VariableRequiredDefaultPurpose
VERTAAUX_API_KEYYesAPI authentication key
VERTAAUX_API_BASENohttps://vertaaux.ai/api/v1API endpoint URL
PORTNo8787HTTP transport port
GITHUB_TOKENNoGitHub 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:

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

npm test              # Run test suite
npm run test:watch    # Watch mode
npm run test:coverage # Coverage report

Building

npm run build         # TypeScript → dist/

Error Handling

All errors include structured recovery guidance:

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

Keywords

mcp

FAQs

Package last updated on 09 Apr 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts