Scripted browser automation for the flows you already know the steps of — the backbone of a regression pass.
Browser QA desk
Drives the real interface, keeps the end-to-end suite current, and checks the things a screenshot does not show.
Built for: The team whose test suite is three releases behind the interface it is supposed to be testing.
The button opens the checkout, where the 5 servers and 4 skills are listed one by one. Every member is free, so the checkout lists them and asks for no card.
What your agent can do with this
The reason to buy a stack rather than five listings: each line below needs more than one member connected at the same time.
- 01
Walk a user flow in a real browser and report where it stops, with the screenshot and the console attached.
- 02
Write and maintain versioned Playwright specs, and update the ones that a UI change has just invalidated.
- 03
Audit the accessibility tree of a page and list what a screen reader will and will not find.
- 04
Catch the images shipped at four times their rendered size, which is the cheapest performance bug there is.
The assembly, part by part
What each part contributes, and why it was picked over the obvious alternative. Prices and permissions are read from the listings, so nothing here can disagree with the catalogue.
For the exploratory half: your agent drives a real Chrome step by step, with a screenshot after each move, through a page you have not scripted yet.
Accessibility analysis of the page as rendered, so the audit is about the live DOM rather than about the components in the repository.
Audits every image on a page — natural against rendered size, formats, oversized files — which is a whole class of defect nobody files by hand.
Where the specs live and where the failures get reported; a QA desk with no way back into the repository just produces screenshots.
Authors and maintains versioned Playwright specs in TypeScript, which is the difference between a suite and a folder of scripts.
The interactive half — driving a local application, verifying behaviour, capturing what happened when it broke.
Captures the full DevTools-protocol trace and bisects it, for the failure that only happens in the run you were not watching.
Reads what changed in the interface and finds the tests that change with it, which is the work that otherwise never gets done.
What it costs, and on what assumption
Every member is free, so the monthly figure is $0 whatever you do with the stack: nothing here is billed by the call, and only adding a paid member could change it.
| Part | What you are paying for | Monthly, as quoted |
|---|---|---|
| Puppeteer | Free | — |
| Browser Use | Free | — |
| A11y | Free | — |
| Imagedimensions | Free | — |
| GitLab | Free | — |
| Skills | ||
| Playwright E2E Testing | Free · context cost only | — |
| Web Application Testing | Free · context cost only | — |
| Browser Trace | Free · context cost only | — |
| UI4 Convert Tests | Free · context cost only | — |
| Everything above | $0 of servers plus $0 of skills, the same in a quiet month and a busy one | $0/mo |
Subscriptions at their monthly plan price; one-off licences spread over 12 months.
Install only these and the bill is nothing: 5 servers and 4 skills, and all 24 tools.
Nothing in this stack carries a call allowance, so nothing here can run out before the month does. The bill is decided when you install it, not when you use it.
The spend cap is one figure for the whole account, set in your dashboard and checked when an order is placed. On the call path what stops a retry loop is the plan's call allowance and its rate limit, and a refused call is never billed.
Setting it up, in order
The steps below come before the install lines: what to decide and scope before connecting anything, in the order it matters. The lines themselves follow, part by part, for the client you pick.
npx mcprush@latest stack add browser-qa writes all 5 servers into Claude Code’s config in one go — or run the lines below one by one. The 4 skills are not included — add them with lines 06–09.
- GitLab
GITLAB_PERSONAL_ACCESS_TOKEN— GitLab personal access token for local stdio use
Set it where you start Claude Code — export GITLAB_PERSONAL_ACCESS_TOKEN=… in your shell profile on macOS and Linux, setx GITLAB_PERSONAL_ACCESS_TOKEN "…" on Windows, then open a new terminal. Claude Code reads it at start; the config keeps only the name.
# 01 · Puppeteer
claude mcp add --scope user puppeteer-mcp '--' npx -y puppeteer-mcp-server
# 02 · Browser Use
claude mcp add --scope user browser-use-browser-use-mcp '--' uvx browser-use --cli-mcp
# 03 · A11y
claude mcp add --scope user a11y-mcp '--' npx -y a11y-mcp-server
# 04 · Imagedimensions
claude mcp add --scope user imagedimensions-mcp '--' npx -y imagedimensions-mcp
# 05 · GitLab
claude mcp add --scope user --env 'GITLAB_PERSONAL_ACCESS_TOKEN=${GITLAB_PERSONAL_ACCESS_TOKEN}' --transport stdio zereight-gitlab-mcp '--' npx -y @zereight/mcp-gitlab
# 06 · Playwright E2E Testing
npx mcprush@latest skill add fugazi/playwright-e2e-testing
# 07 · Web Application Testing
npx mcprush@latest skill add anthropics/web-application-testing
# 08 · Browser Trace
npx mcprush@latest skill add browserbase/browser-trace
# 09 · UI4 Convert Tests
npx mcprush@latest skill add payloadcms/ui4-convert-testsRequirements and Windows tips
- Node.js — the current LTS (24) is the safe choice (for
npx). - uv (for
uvx, docs.astral.sh/uv). - Windows PowerShell says 'running scripts is disabled on this system'? Run
Set-ExecutionPolicy -Scope CurrentUser RemoteSignedonce, or typenpx.cmdinstead ofnpx(codex.cmd,gemini.cmd,grok.cmdlikewise). PowerShell 7 needs neither.
Nothing is connected until you approve it in Claude Code. mcprush is not in the path and meters nothing here.
- 1 member wants an API key, set in your own client’s config on your machine — this marketplace never holds it.
- 4 members have not declared what credential they need — check each one’s own page before you start.
- What this stack can write is not recorded — 2 members of 5 have no imported tool surface. Section 05 says what is known before you approve anything.
- 5 members are connected straight from their own package or address — nothing in them goes through mcprush.
What the whole stack can reach
Installed together, these tool surfaces add up. It is the first thing a security reviewer asks for, so what has been counted — and what nobody has counted yet — is on the page rather than in a PDF.
| Member | Tool surface | Write tools |
|---|---|---|
| Browser Use | imported | 2 |
| GitLab | not imported | not recorded |
| Puppeteer | not imported | not recorded |
A stack's blast radius is the union of its members, not the worst of them. That union cannot be taken here, because 2 members of 5 have no imported tool surface — so the figure a review asks for is missing rather than low, and a member marked not imported is one nobody has counted rather than one that cannot write.
Sensible swaps
A stack is a default, not a verdict. These are the substitutions the maintainer would make, and what each one costs or saves.
When the work is inspecting a page's own devtools rather than clicking through it, the Brave DevTools server is the closer fit.
A team that wants security, performance and accessibility from one scan rather than accessibility alone takes the broader scanner and reads less detail on each.
Where this stack stops
Written by the maintainer, kept on the page rather than in a support thread.
It cannot certify accessibility. The audit finds machine-checkable failures; the rest of WCAG needs a person and an assistive technology.
It does not run your CI. Specs are authored and debugged here; scheduling them is the pipeline's job.
Anything behind a CAPTCHA or a real payment stops the desk. That is the boundary of automation, not a configuration to change.
Who keeps this current
A stack has an owner: whoever keeps it re-checks the combination when a member changes, and the members themselves are published by the people named on each row.
Stacks that share parts with this one
Code review
Tools to inspect code changes, run checks and prepare a pull request review.
Bug reproduction
Tools to investigate a bug report and work toward a reproducible test case.
Database changes
Tools to prepare database changes and review their effects before rollout.