A side-by-side look at the OverlayQA MCP and ProductBrain MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose OverlayQA MCP for product management work as a local process; choose ProductBrain for product management as a local process. You can also run both side by side in one mcpServers block.
scan_accessibility, scan_contrast, audit_tokens.PRODUCTBRAIN_API_KEY, PRODUCTBRAIN_PROJECT_ID, PRODUCTBRAIN_API_URL.search, list_nodes, get_tree.Rows where the two servers differ are marked.
| Spec | P ProductBrain | |
|---|---|---|
| Category | Product Management | Product Management |
| Quality signal | 52/100 · Good | 56/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | API key required |
| Pricing | Free | BYOK (pay the provider) |
| Required env vars | None listed | PRODUCTBRAIN_API_KEYPRODUCTBRAIN_PROJECT_IDPRODUCTBRAIN_API_URL |
| Verified owner | Community listing | Community listing |
| GitHub stars | 0 | 0 |
| Directory activity | 0 views 0 installs 0 upvotes | 0 views 0 installs 0 upvotes |
| Tools | 15 | 26 |
| Full listing | View OverlayQA MCP | View ProductBrain |
scan_accessibilityRun a WCAG audit (axe-core) on any URL. Returns violations with severity, WCAG success criteria, and an overall score.scan_contrastCheck color-contrast ratios across a page. Returns the failing foreground/background element pairs.audit_tokensAudit a live URL's design-system tokens. Returns a 0-100 token-health score and findings (inconsistent font sizes, text colors, spacing, font families, border radii) with severity. Audits the live page only.scan_and_create_issuesScan a URL and auto-create an issue for every violation above a severity threshold.create_issueFile a QA issue with title, severity, type, description and optional assignee.list_issuesPage through issues filtered by status, severity, type, labels, assignee, creator, page, creation time, or active/finished/ignored state. Each issue says who filed it and whether it still needs a reply.update_issueEdit supplied issue fields, assignment, ignored state or status. Takes a UUID or display id such as OQ-12.create_projectCreate a project for a site URL.list_projectsList all projects on your team.list_labelsRead the workspace label library, assigned labels, and your permissions.create_labelCreate a reusable workspace label.set_issue_labelApply or remove one label without changing issue text or other labels.searchSemantic search — **use first** for any lookuplist_nodesBulk read, optional type/iteration filterget_treeA node in context (ancestors/siblings/children/subtree)mutateCreate/update/delete nodes + phases; pass `idempotencyKey` to make retries safelist_iterationsPhases; `current:true` for the active onerun_workflowStory-Mapping methodology (add / task-curate / phase-assign)export_okfThe plan as a portable OKF file bundleget_changelogPlan history: every add/update/delete/restore, attributed to the app or a named agentset_viewDrive / read the live canvaslist_projectsProjects you own or are a member of; `includeArchived` for the restcreate_projectBootstrap a brain — seeds the system "Later" phase. Pass an explicit `id`: `addProject` runs before mutate reads `Idempotency-Key`, so it is not retry-saferename_projectChange the display name; the id is immutablePaste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"overlayqa-mcp": {
"command": "npx",
"args": [
"@overlayqa/mcp@latest"
]
}
}
}
{
"mcpServers": {
"productbrain": {
"command": "npx",
"args": [
"-y",
"@productbrain-com/mcp"
],
"env": {
"PRODUCTBRAIN_API_KEY": "YOUR_PRODUCTBRAIN_API_KEY_HERE",
"PRODUCTBRAIN_PROJECT_ID": "YOUR_PRODUCTBRAIN_PROJECT_ID_HERE",
"PRODUCTBRAIN_API_URL": "YOUR_PRODUCTBRAIN_API_URL_HERE"
}
}
}
}