vertaaux-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | HTTP transport port | 8787 |
| GITHUB_TOKEN | No | GitHub API access for `generate_pr` | |
| VERTAAUX_API_KEY | Yes | API authentication key | |
| VERTAAUX_API_BASE | No | API endpoint URL | https://vertaaux.ai/api/v1 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| audit_urlA | [audit] Run a full UX + a11y audit on a live URL. Returns top 5 issues + scores; use get_findings for the full list. Offline mode (localhost/file://) is static-only. |
| audit_repoA | [audit] Static UX + a11y scan of a local codebase tree (React/Vue/Svelte components, HTML templates). Detects missing alt text, unlabeled buttons/inputs/links, placeholder labels. For live pages use audit_url. |
| audit_artifactA | [audit] Audit a captured browser artifact instead of a live URL. Use for CI-run debugging or customer bug reports without re-running the browser. Supports: har (response times, failures, payloads, security headers), lighthouse (a11y + perf JSON). playwright-trace returns INVALID_PARAMS, use audit_url. |
| get_findingsA | [findings] Get findings from a completed audit with pagination + filtering by severity, rule, or change status. Use after audit_url/audit_repo/audit_artifact for detailed findings. |
| explain_findingA | [findings] Deep-dive a specific finding by ID: returns element HTML, screenshot URL, WCAG criteria, user impact, repro steps, before/after fix code. Use after audit_url to expand on a finding from get_findings. |
| suggest_fixA | [fix] PRIMARY framework-aware fix generator. Pass finding_id + audit_id to get an idiomatic search/replace patch (React/Next/Vue/Angular/Svelte/Nuxt detected via nearest package.json). Returns patch + confidence + framework_confidence + needs_human_review. Single (default) or batch (multiple finding_ids). Pipe output into generate_pr or run_verification_suite. vs generate_patch: that's the legacy issue/job ID variant. |
| generate_prA | [pr] OPENS a draft GitHub PR with N a11y patches applied ATOMICALLY via Git Trees (all-or-nothing commit). Refuses overlapping patches (CONFLICT) and unparseable JS/TS/JSX/Vue/Svelte (AST_INVALID via Babel/vue-eslint-parser/svelte/compiler gate). Inputs from suggest_fix (preferred) or generate_patch (legacy). Requires GITHUB_TOKEN; without it, set local_only=true to get patch content. Always creates DRAFT, never auto-merges. |
| run_auditA | [audit] DEPRECATED: use audit_url. Kept for legacy clients only. |
| run_llm_auditA | [audit] LLM-based UX audit of a URL via the VertaaUX provider-agnostic adapter (Mistral/OpenAI/etc.). Returns qualitative narrative on hero clarity, messaging, copy tone, conversion nudges, things rule-based audits miss. vs audit_url: that's rule-based WCAG/a11y. Consumes LLM credits, separate from audit quota. |
| get_auditA | [audit] Fetch the status and (when completed) results of an audit job by ID: status, progress 0-100, 7-category scores, issues array. Poll after audit_url/run_audit/run_llm_audit/audit_a11y with wait=false. Same ID namespace across all of them. |
| get_quotaA | [quota] Get the authenticated account's tier (free/pro), audits remaining in current billing window, reset timestamp, and feature flags. Call before batch audits to avoid mid-run quota errors. |
| get_enginesA | [quota] List audit engine versions on this account: semver-tagged releases plus a 'latest' alias and per-version release notes. Use to pin audits for reproducible deltas or discover newer analyzers. |
| analyze_componentA | [session] Static a11y + UX analysis of one component's source (HTML/JSX/Vue/Svelte/Angular). No browser, no network. Best for pre-commit feedback on a snippet. vs audit_repo: scans the whole codebase tree. vs audit_url: runs the full rule engine on a live page. |
| explain_issueA | [session] Format an INLINE audit issue object into developer-friendly guidance: WCAG explanation, user impact, code-level fix, canonical reference links. No network call. vs explain_finding: that fetches by ID from the backend; this one takes the issue literal you already have. |
| capture_screenshotA | [session] Capture a hosted screenshot of a URL plus the full audit result. CONSUMES 1 audit quota, implemented via audit_url under the hood, not a lightweight headless snapshot. Use mode='basic' for cheapest. Hints (viewport, fullPage, highlightIssues, waitForSelector) are advisory. |
| compare_competitorsA | [session] Audit your site vs N competitor URLs in parallel, return side-by-side scores + top-5 differentiators with optional industry benchmarks. Best for positioning, pitch decks, quarterly scans. vs diff_audits: that compares two existing audit IDs (free); this runs N+1 fresh audits (consumes N+1 quota). |
| generate_patchA | [fix] LEGACY issue-based fix generator (no framework detection). Returns search/replace patch + confidence + explanation. vs suggest_fix (PREFERRED): framework-aware (React/Vue/Angular/Svelte), finding-based, JSX-idiomatic patches. Use generate_patch only for legacy job_id/issue_id consumers. |
| run_verification_suiteA | [audit] PRE-deploy patch verification: test a proposed patch (search/replace + CSS selector) against a live URL in a sandboxed browser BEFORE you commit. Runs before/after axe-core, returns score delta + rule pass. vs verify_fixes: that's POST-deploy URL-vs-baseline comparison; this is patch-vs-live in isolation. |
| create_pr_commentA | [pr] Generate a PER-FILE GitHub PR comment with in-line |
| create_webhookA | [webhook] Register an HTTPS endpoint to receive audit event notifications (audit.completed, audit.failed, etc.). Outgoing requests are HMAC-SHA256-signed via your secret in |
| list_webhooksA | [webhook] List webhooks on the account: ID, URL, subscribed event types (audit.completed, audit.failed, etc.), active status, last-delivery timestamp. Use before create_webhook (avoid duplicates) or delete_webhook (look up ID). |
| delete_webhookA | [webhook] DESTRUCTIVE: permanently delete a webhook by ID; future events stop delivering. No soft-delete. Look up ID via list_webhooks. |
| create_scheduleA | [schedule] Create a recurring audit on a cron schedule. Best for daily a11y regression checks, weekly competitor diffs, post-deploy smoke audits. Returns id + next_run_at. Set alert_on_fail / alert_on_score_drop + score_threshold to trigger webhook_url + email_recipients alerts. Counts against monthly quota. |
| get_scheduleA | [schedule] Read full config of an audit schedule by ID: cron, target URL, audit mode, enabled, alerts (alert_on_fail / alert_on_score_drop + score_threshold), webhook_url, email_recipients, last/next_run_at. Look up ID via list_schedules. |
| list_schedulesA | [schedule] List all audit schedules on the account: ID, target URL, cron, mode, enabled, alert config, next_run_at. Use before update_schedule or delete_schedule to look up the ID. |
| update_scheduleA | [schedule] Partial update of an audit schedule (all fields except id are optional). Use list_schedules to look up ID. Common: pause via enabled=false, change cadence via cron_expression, add score-drop alerts. |
| delete_scheduleA | [schedule] DESTRUCTIVE: permanently delete an audit schedule by ID; future runs are cancelled. Prefer update_schedule with enabled=false to pause without losing config. Look up ID via list_schedules. |
| audit_a11yA | [a11y] Multi-engine a11y audit on a URL (axe-core + AccessLint + VertaaUX analyzers). Returns normalised WCAG findings with machine-actionable fix suggestions. Set baseline_name to save for later diff_a11y. |
| diff_a11yA | [a11y] SECONDARY a11y diff using NAMED baselines (saved earlier via audit_a11y with baseline_name). Returns regressions + fixes + unchanged + net-change summary. vs diff_audits: prefer that, works with any audit IDs, full 7-category coverage. Use diff_a11y only when you already have a named a11y baseline. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| quick_audit | Run a quick UX audit on a URL and summarize the top issues with fix recommendations. |
| fix_accessibility | Audit a URL for accessibility issues, generate patches, and prepare a PR comment. |
| compare_ux | Compare your site against competitors and identify UX gaps. |
| monitor_regression | Set up automated monitoring for a URL with score drop alerts. |
| audit_codebase | Run static analysis on a local codebase to find accessibility issues in component code. |
| audit_and_fix_all | Run a full autonomous remediation cycle: audit a URL, generate framework-idiomatic fixes for every critical/serious finding, open a PR, and verify the fixes landed. |
| continuous_quality_gate | Compare a PR preview URL against a main-branch baseline and return a pass/block quality decision with a PR comment artifact. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Guideline: Buttons | Best practices for buttons. |
| Guideline: Forms | Best practices for forms. |
| Guideline: Navigation | Best practices for navigation. |
| Guideline: Color Contrast | Best practices for color contrast. |
| Guideline: Error States | Best practices for error states. |
| Guideline: Content Clarity | Best practices for content clarity. |
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