Model Context Protocol
OverlayQA MCP Server
The OverlayQA MCP server is a UI bug tracker and design QA toolkit for your AI coding agent. From Claude Code, Cursor, Windsurf, or any MCP-compatible client, scan any public URL for accessibility and design-system issues, then create, label, comment on, and track UI bugs in your OverlayQA projects without leaving the editor. The server runs over standard stdio and connects to your OverlayQA account on first run.
Install
For Claude Code, run this in your terminal to add OverlayQA for all your projects:
claude mcp add --scope user overlayqa -- npx -y @overlayqa/mcp@latest
Restart Claude Code, then ask it to list your OverlayQA projects to connect your account. URL reviews cannot use your browser's signed-in session. For a page behind sign-in, run Auto Review in the OverlayQA Chrome extension on that page.
Add the server to your editor's MCP config, or run it directly with npx @overlayqa/mcp@latest. The same config works in Claude Code (.mcp.json), Cursor (~/.cursor/mcp.json), and Windsurf (~/.codeium/windsurf/mcp_config.json).
{
"mcpServers": {
"overlayqa": { "command": "npx", "args": ["@overlayqa/mcp@latest"] }
}
}
Tools your agent can call
Twenty-two live tools across audits, issues, labels, comments, and projects, each written so the model picks the right one from natural language.
- scan_accessibility (Audit): Run a WCAG audit (axe-core) on any public URL. Returns violations with severity, WCAG success criteria, and an overall score.
- scan_contrast (Audit): Check color-contrast ratios across a page. Returns the failing foreground and background element pairs.
- audit_tokens (Design system): Audit a live page's design-token usage. Returns a 0-100 token-health score plus findings on font sizes, colors, spacing, font families, and border radii.
- scan_and_create_issues (Issues): Scan a URL and auto-create an issue for every violation above a severity threshold.
- create_issue (Issues): Create an issue in a project with title, severity, type, and description. The assignee defaults to you; pass null for Unassigned.
- get_issue (Issues): Read a complete issue by UUID or display id: description, labels, assignee, ignored state, screenshot URLs, and the captured element, CSS, and viewport evidence.
- list_issues (Issues): List project issues with labels, description, ownership, and ignored state. Filter by status, severity, type, labels, assignee, creator, or active, finished, and ignored state.
- update_issue (Issues): Update an issue's status, title, description, severity, type, assignee, or ignored state. Only supplied fields change. Accepts a UUID or display id such as OQ-12.
- move_issue (Issues): Move an issue into another project in the same workspace, keeping its comments and evidence. Returns its new display id.
- list_labels (Labels): List the workspace label library and your write and manage permissions. Optionally include an issue to see its assigned labels.
- create_label (Labels): Create a reusable workspace label. Case-insensitive duplicate names return the existing label.
- set_issue_label (Labels): Apply or remove one workspace label on an issue. Other labels and issue text stay unchanged.
- rename_label (Labels): Rename a label across its workspace. Requires owner or admin permission; assignments are preserved.
- delete_label (Labels): Delete a label from the workspace and all its issues. Requires owner or admin permission; the issues themselves are kept.
- list_comments (Comments): Read an issue's discussion, including comment authors, audience, mentions, and attachment metadata.
- create_comment (Comments): Post a comment with an explicit audience (Team only or Team and clients), optional teammate mentions, and PNG, JPG, or PDF files.
- update_comment (Comments): Edit your own comment's text and mention list. Audience and attached files stay unchanged.
- delete_comment (Comments): Delete your own comment and its attached files.
- get_comment_attachment (Comments): Read a comment attachment as filename and base64 bytes, using the same permissions as reading comments.
- create_project (Projects): Create a project for a site URL.
- list_projects (Projects): List all projects on your team.
- list_project_members (Projects): List workspace teammates for a project, with the user ids to use for assignment and comment mentions.
One more tool, compare_visual, is coming soon for Figma visual comparison.
How it works
Add the server to your editor, connect your OverlayQA account on first run (no card, token caches locally for 30 days), then scan and track the issues it finds. Everything lands in the same projects as the OverlayQA Chrome extension and dashboard, so issues stay in sync across surfaces.
Connect from Claude.ai
OverlayQA is listed in Claude's connector directory, so you can use it in Claude without installing anything. Click Connect, sign in to OverlayQA, choose the workspace Claude may use, and click Allow access. To add it by hand, open Settings, then Connectors, then Add custom connector, and enter https://api.overlayqa.com/mcp. The server is also listed on Smithery.
Pricing
Free: 3 accessibility and contrast scans per day, forever. The 14-day trial raises that to 30 scans per day and unlocks issue and project creation. Paid plans run 10 to 30 scans per day, with unlimited scans on Pro and export to Jira, Linear, Notion, Asana, Trello, ClickUp, and GitHub Issues.
Frequently asked questions
Which editors does it work with? Claude Code, Cursor, Windsurf, and any MCP-compatible client. It speaks standard stdio MCP.
Is it free? Yes to start: 3 scans per day with no card. A 14-day trial raises that to 30 scans per day and unlocks issue and project creation.
Do I need an account? Yes, an OverlayQA account. On first run a browser tab opens to connect it, and the token caches locally for 30 days.
What does it actually scan? Any public URL. Accessibility uses axe-core mapped to WCAG success criteria, contrast checks foreground and background ratios, and the design-system audit flags token drift across spacing, typography, color, and border radius.
Does it work with the OverlayQA Chrome extension? Yes. The MCP server and the extension share the same projects and issues, so anything you file from your editor shows up in the extension and the dashboard, and the other way around.
Can I use OverlayQA as a UI bug tracker from Cursor via MCP? Yes. From Cursor, Claude Code, or Windsurf your agent can create, read, label, comment on, assign, and update issues through the MCP server, so OverlayQA works as the bug tracker for the UI bugs it finds or you report. Issues live in the same projects as the dashboard and Chrome extension, and sync both ways with Jira, Linear, Notion, Asana, Trello, ClickUp, and GitHub Issues.
Last updated October 2026