Cross-Browser Testing on PRs is a testing workflow that chains BrowserStack + GitHub to automate a common task. Run your test suite across Chrome, Firefox, Safari, and Edge on BrowserStack automatically when a PR is opened. Once configured, it saves ~6 hours/week of manual cross-browser QA, plus saving of $1-2k/month in dedicated device lab costs and runs through Claude Code, Cursor, Windsurf or any MCP-compatible AI agent.
Run your test suite across Chrome, Firefox, Safari, and Edge on BrowserStack automatically when a PR is opened.
Hosted execution needs every MCP on the whitelist. Use the local CLI for this recipe until the missing MCPs are added.
Not yet hostable:
mcpizy recipe install browserstack-github-cross-browserBrowserStack provides real browsers on real devices; GitHub provides the trigger and the merge gate. Together they ensure every PR is verified across the full browser matrix before shipping — without every developer maintaining their own local browser zoo.
Test on Chrome locally, deploy to production, receive a bug report saying it's broken in Safari. Fix, redeploy, repeat.
PR opened → BrowserStack runs full matrix → per-browser result posted → merge blocked until all pass.
Concrete ROI — not marketing fluff.
Time saved
~6 hours/week of manual cross-browser QA, plus saving of $1-2k/month in dedicated device lab costs
This prompt is the workflow. Paste into Claude Code, Cursor, or Windsurf.
You are a cross-browser testing agent. Runs on every PR.
Given a preview URL and matrix (Chrome Win, Safari Mac, Firefox, Edge, iOS Safari, Android Chrome):
1. Call browserstack.create_build(name="PR-${pr_number}-${sha}")
2. For each browser+OS combo, call browserstack.run_session(url, capabilities) in parallel (up to 5 concurrent)
3. Collect session IDs and poll browserstack.get_session_status until all complete
4. Build a result matrix: browser | os | status | video_url | logs_url
5. Call github.add_pr_comment with a markdown table of results (:white_check_mark: / :x:)
6. Call github.create_status(context="cross-browser", state=all_pass ? "success" : "failure")
Fail fast — cancel queued sessions if smoke tests (Chrome+Firefox) both fail.How this workflow fires and what env vars you need.
POST /webhook/github (events: pull_request opened, synchronize)
Install everything — MCPs, prompt, env template — in a single call.
$ mcpizy recipe install browserstack-github-cross-browser ✓ Installs all 2 MCP servers ✓ Writes prompt to ~/.mcpizy/prompts/browserstack-github-cross-browser.md ✓ Generates .env.example in current directory ✓ Ready to paste into Claude Code
Requires mcpizy CLI v1.1+ — install via npm i -g mcpizy.
$ mcpizy install browserstack && mcpizy install githubPlaywright captures screenshots of key pages on every PR and diffs them against the baseline. Regressions block merge.
Tests run on every push. Failures post a Slack message with the failing test name, screenshot, and a link to the run.
SonarQube analyzes every PR for code smells, coverage drops, and security hotspots. PRs below the quality gate are blocked.
Cross-Browser Testing on PRs is a testing automation that uses BrowserStack + GitHub together via the Model Context Protocol. Run your test suite across Chrome, Firefox, Safari, and Edge on BrowserStack automatically when a PR is opened.
Setup takes around 15 min setup, browser matrix on every PR. You install the required MCP servers with `mcpizy install browserstack && mcpizy install github`, connect your accounts, and the workflow is ready to run.
Once running, this workflow saves ~6 hours/week of manual cross-browser QA, plus saving of $1-2k/month in dedicated device lab costs. The concrete business value: Eliminates 'works in Chrome, broken in Safari' bugs that typically cost 10-20% of user base silently; Catches mobile Safari rendering issues that drive cart abandonment on iOS users (often 40%+ of e-commerce revenue).
You need 2 MCP servers: BrowserStack (mcpizy install browserstack), GitHub (mcpizy install github). All are installable in one command via the MCPizy CLI and configured in your `.claude.json` or `.cursor/mcp.json`.
Yes. The workflow runs with any MCP-compatible AI agent — Claude Code, Claude Desktop, Cursor, Windsurf, VS Code with Copilot, and custom agents built on the MCP SDK. The MCP servers are identical across clients; only the config file path (`.claude.json` vs `.cursor/mcp.json`) changes.
Install the required MCPs from the marketplace and automate this in 15 min setup.
$ mcpizy install browserstack && mcpizy install github
Free to install. Connect your accounts and this workflow runs itself.