The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
Use Chrome or Chromium as the default Playwright MCP browser. Select Firefox when Firefox-engine behavior is the compatibility target, WebKit when Safari-like behavior matters, and Edge when your users or deployment standard is Microsoft Edge. Set the choice with --browser, then decide whether you need headed or headless execution, a persistent or isolated profile, or a connection to an existing Chromium-family browser.
This guide explains the trade-offs, exact configuration, operating-system caveats, and recovery steps for Playwright MCP.
What Playwright MCP can control
Playwright MCP supports four browser values: chrome, firefox, webkit, and msedge. You select one with the --browser argument, a configuration file, or the PLAYWRIGHT_MCP_BROWSER environment variable. See the Playwright MCP guide for the current command-line options.
The name does not always mean a vendor-branded installation. Playwright normally launches its own browser builds, including patched Firefox and WebKit builds. Branded Chrome or Edge can be selected as channels or reached through a Chrome DevTools Protocol (CDP) endpoint when you need an existing browser session.
#1 Best Overall
Choose by compatibility target
| Browser choice | Use it when | Important qualification |
|---|---|---|
| Chrome/Chromium | General web automation, common Chromium behavior, or a neutral default | Use Playwright’s bundled Chromium for repeatable runs, or a Chrome channel/CDP connection when branded Chrome matters. |
| Firefox | Your application must be checked against Firefox engine behavior | Playwright uses its supported patched Firefox build, not ordinary branded Firefox. |
| WebKit | Safari-oriented acceptance testing or WebKit behavior | It is Playwright WebKit, not Safari. Results vary by operating system; macOS is the closest Safari-like environment. |
| Microsoft Edge | Enterprise policy, user population, or deployment standard is Edge | Edge is a supported branded Chromium channel and can also be reached over CDP. |
Chrome or Chromium: the practical default
Start with Chrome/Chromium unless a specific compatibility requirement says otherwise. Chromium has broad web-platform coverage and is the least surprising baseline for ordinary navigation, form interaction, and automation. The bundled engine is useful for reproducibility because Playwright controls its version. Choose the chrome channel when the test must exercise an installed Chrome build or its profile policies.
Firefox: test Firefox behavior, not Chrome behavior with a different logo
Firefox is the right choice for engine-specific layout, standards, permissions, or input behavior. Playwright’s Firefox target depends on patches, so the supported target is Playwright’s own build rather than the regular Firefox application. If a defect appears only in the consumer Firefox package, verify it separately outside MCP.
WebKit: Safari-oriented coverage with platform limits
Use WebKit when Safari-like behavior is the acceptance target. Playwright describes its WebKit build as derived from WebKit sources, not as branded Safari. WebKit behavior is not identical across operating systems. For video, codecs, and other platform-sensitive work, run WebKit on macOS when you need the closest practical approximation to Safari.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Edge: match an Edge deployment standard
Select msedge when enterprise policies, managed extensions, support requirements, or your production users make Edge the target. Edge is Chromium-based, but branding, policies, installed components, and channel versions can still affect results, so test the actual channel that matters.
Configure the browser in MCP
Minimal server configuration
Add a Playwright MCP server to your MCP client and put the browser value in its arguments:
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest", "--browser=firefox"]
}
}
}
Replace firefox with chrome, webkit, or msedge. Pin the package version in a controlled build rather than relying on @latest if repeatability is important.
Headed versus headless
Playwright MCP runs headed by default, so you can watch the browser. That is useful while authoring a workflow, diagnosing a consent dialog, or observing an authentication redirect. Add --headless for CI, containers, or machines without a display. Headless and headed runs can differ in timing, rendering, permissions, and available system codecs; validate important flows in the mode you will deploy.
Persistent versus isolated sessions
A persistent profile keeps login state and cookies by default. Use it for a development assistant that should remain signed in. Pass --isolated to start a fresh session when tests must not inherit personal accounts, extensions, cache, or stale consent decisions. Isolated sessions are safer for repeatable tests; persistent sessions are convenient but can hide setup problems.
Rank #3
Connect to an existing Chrome or Edge
Launching a new browser is usually more deterministic. Connect to an existing Chromium-family browser when you specifically need its open tabs, a human-approved login, installed extensions, or a managed profile. Playwright MCP supports channels such as chrome, chrome-beta, chrome-dev, chrome-canary, msedge, msedge-beta, msedge-dev, and msedge-canary; it can also attach through a CDP endpoint. The available connection options and security requirements are documented in the official MCP guide.
Treat a CDP endpoint as a powerful remote-control interface. Keep it bound to a trusted interface, protect any authentication token, and do not expose it to an untrusted network. An attached browser may contain private tabs and credentials, so use a dedicated profile for automation.
A decision process that works in practice
- Name the compatibility target. If the requirement says Chrome, Firefox, Safari, or Edge, select that engine or channel first.
- Choose the identity. Use Playwright’s bundled build for stable automation; use a branded Chrome or Edge channel/CDP connection when installed-browser behavior is part of the requirement.
- Choose the operating system. For WebKit media or codec checks, prefer macOS. Record the OS in test results because WebKit is platform-dependent.
- Choose the session model. Use
--isolatedfor clean, repeatable runs; persistent profiles for intentional reuse; CDP only when an existing browser is required. - Choose execution mode. Develop headed, then verify headless if CI will run headless.
- Run the same scenario on the required engines. Browser selection is not a substitute for cross-browser testing: a page can pass in Chromium and still fail in Firefox or WebKit.
Common problems and fixes
The browser value is rejected
Use exactly chrome, firefox, webkit, or msedge. Check that the argument is attached to the Playwright MCP command, not to your MCP client’s outer command.
Recommended Free Tools
Firefox or WebKit will not launch
Install the browser binaries required by your Playwright version and confirm that the MCP process can write to its cache. In restricted CI environments, verify OS libraries, sandbox policy, and display settings. Do not substitute branded Firefox or Safari and expect Playwright MCP’s patched targets to behave the same way.
WebKit passes on one machine but fails on another
Compare operating systems, WebKit versions, fonts, media libraries, and viewport settings. Move Safari-oriented media validation to macOS when that is the compatibility target, and treat Linux or Windows WebKit results as WebKit-engine checks rather than Safari certification.
The workflow is logged out or sees stale data
Decide whether that is intended. Remove --isolated only when a persistent profile is required; otherwise keep isolation and perform an explicit login setup in the workflow. Never share a personal profile with unattended automation.
An existing browser cannot be reached
Confirm that the browser was started with remote debugging enabled, that the endpoint is reachable from the MCP process, and that the channel matches the installed browser. Check firewall, container, and user-permission boundaries before changing application code.
Headless output differs from development
Compare viewport, device scale factor, fonts, GPU availability, permissions, and timing. Add explicit waits for a selector or network state rather than relying on arbitrary sleeps, then reproduce the final command in the same environment as CI.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Reliability, security, and maintenance notes
- Record browser, Playwright, MCP, operating-system, and channel versions with test artifacts.
- Keep browser choice close to the requirement: do not call a Chromium result Safari coverage.
- Use isolated profiles for untrusted sites and destructive actions.
- Keep persistent profiles private and back them up only under your organization’s security policy.
- Expect media codecs, fonts, permissions, and policies to be environment-specific; include them in acceptance criteria.
- Use headed mode for diagnosis and headless mode for automation only after confirming equivalent behavior for your scenario.
Or skip the browser setup
If your goal is a clean image or PDF of a page rather than interactive browser control, ScreenshotNeo provides a single screenshot API call. It accepts consent banners before capture and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each step can be disabled. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers identify the page verdict and billing status. Its MCP server gives AI agents tools named take_screenshot, get_page_info, and capture_pdf.
cURL:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
Python:
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
Node.js:
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
See the ScreenshotNeo documentation for all capture options. The Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000. Sign up free.
Frequently Asked Questions
Can Playwright MCP control Safari itself?
No. Playwright MCP offers its WebKit build for Safari-oriented testing; it does not directly automate the branded Safari application.
Should I use bundled Chromium or installed Chrome?
Use bundled Chromium for controlled, repeatable automation. Use the Chrome channel or CDP when installed Chrome identity, policies, extensions, or an existing session is part of the requirement.
Is WebKit on Windows equivalent to Safari on macOS?
No. WebKit behavior varies by operating system, so macOS is the closer choice for Safari-sensitive work, especially media and codecs.
The Bottom Line
Choose chrome for the broad default, firefox for Firefox compatibility, webkit for Safari-oriented coverage, and msedge for Edge deployments. Then make the profile, connection mode, operating system, and headed/headless choice explicit.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
Free tools Windows power users keep installed
One-click scans. No signup required.

