Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.

A “Playwright MCP server startup error” can occur at three different points: your MCP client may fail to spawn the Node process, the process may start but fail MCP initialization, or the MCP connection may work while Playwright cannot launch a browser. Copy the exact error first, then note your MCP client, operating system, Node.js version, and whether Playwright tools appear. That distinction determines the correct fix.

Identify the failure stage before changing settings

Do not begin by reinstalling browsers or changing browser flags. Check what you can observe in the client:

What you see Likely stage First place to investigate
The client says the command was not found, the process exited, or the server never appears Server process spawn Node/npm PATH, npx, command spelling, permissions and configuration scope
The server appears briefly, then the client reports “connection closed,” “disconnected” or initialization failure MCP transport or initialization Client logs, malformed JSON, package download/network errors and protocol startup output
Playwright tools are visible, but the first navigation or browser action fails Browser launch or first-use setup Display availability, browser download, sandbox permissions, selected browser and launch error

Playwright describes its MCP server as providing browser automation through structured accessibility snapshots in the official getting-started documentation. A server that has not reached the point where tools are listed has a different problem from one whose browser fails on the first action.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Check the runtime the MCP client actually uses

Use the current documented Node baseline

The current Playwright setup documentation accessed on September 29, 2026 specifies Node.js 20 or newer. In a terminal, run:

node --version
npm --version
which node
which npx

On Windows, use where node and where npx instead of which. The project README has also shown Node.js 18 or newer, but that conflicts with the current setup guide. For a new setup, use Node.js 20 or later and check the requirements for the exact package version you intend to run.

Make sure the GUI client sees the same installation

Editors and desktop MCP clients can start with a different PATH from your interactive shell. A terminal showing Node 20 does not prove that the client can find it. Inspect the client’s own server log for the resolved executable or a “command not found” message. If the client supports an absolute command path, use the path returned by which npx or where npx; otherwise start the client from a shell whose PATH contains the correct Node installation. This is a general environment diagnostic, not a Playwright-specific documented fix.

Verify the command and arguments

The standard configuration shown in Playwright’s current getting-started guide is npx with the package argument @playwright/mcp@latest:

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["@playwright/mcp@latest"]
    }
  }
}

Use the file, profile and schema required by your MCP client. A valid stanza in the wrong file or scope has no effect. The official guide gives these client examples:

claude mcp add playwright npx @playwright/mcp@latest
code --add-mcp '{"name":"playwright","command":"npx","args":["@playwright/mcp@latest"]}'

These commands are examples for particular client versions. Confirm whether your client expects user-level, workspace-level or project-level configuration, then restart or reload it after editing. If you use a pinned package version for reproducible deployments, choose a version compatible with your Node runtime and client rather than copying an unverified number.

Read the MCP logs before changing browser options

Spawn errors

  • “npx: command not found” or an equivalent Windows error: fix the client’s PATH or configure the absolute path to npx.
  • Permission denied: check execution permissions and whether a security policy blocks the client from starting child processes. Avoid running the entire editor as administrator unless your environment requires it.
  • Malformed configuration: validate JSON, including commas, quotation marks and the exact command/args array. Remove comments if the client requires strict JSON.

Initialization or connection errors

If the process starts but the client reports that it cannot initialize, inspect the complete server stderr and client MCP log. Look for package-fetch failures, proxy or certificate errors, an immediate process exit, or a route/transport mismatch. Run the same npx @playwright/mcp@latest command in a terminal to expose download and permission messages, but remember that a terminal can have different environment variables from the GUI client.

Browser-operation errors

When tools are already visible, stop treating the issue as a server-start failure. Playwright’s installation documentation says the browser downloads automatically on first use, so the first navigation can reveal a missing-download, network or filesystem problem after MCP has connected. Capture the browser-specific error and fix that environment separately.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Handle headed mode, headless mode and display-less systems

Playwright MCP runs headed by default. A headed browser requires a usable display, which is often absent in containers, remote workers and some IDE background processes. The configuration guide documents --headless for environments where no visible window is needed:

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["@playwright/mcp@latest", "--headless"]
    }
  }
}

If you need headed operation but the MCP client cannot provide a display, run the server as a separate HTTP process. The documented pattern is:

npx @playwright/mcp@latest --port 8931

Point the MCP client at http://localhost:8931/mcp. The server process must remain running, and the client’s URL, port and /mcp route must match exactly.

Choice Use it when Requirements and trade-offs
Default headed mode You need a visible browser and the client process has display access Fails when no display is available; useful for observing interactions
--headless The environment has no display or visible windows are unnecessary Simpler single-process setup; browser runs without a window
Standalone HTTP server The browser should run in a separate worker or machine Requires a persistent process and network reachability between client and server

For a server in a container or on another host, verify DNS, firewall rules and the address the server binds to. The configuration guide shows --host 0.0.0.0 to bind all interfaces:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
npx @playwright/mcp@latest --port 8931 --host 0.0.0.0

Binding every interface increases exposure. Restrict access with container networking, a firewall or a private network; do not publish the MCP endpoint to the public internet without an access-control design.

Check browser selection only when the error points there

Chrome, Firefox, WebKit and Microsoft Edge are supported choices in the official configuration options. Do not change the browser merely because the server failed to initialize. First establish that MCP connects. If the browser error names a missing executable, an unsupported channel or a launch-specific failure, then test another documented browser option and verify that its binaries have been downloaded in the same environment that runs the server.

A clean recovery sequence

  1. Save the exact error. Include the full message, stack trace and timestamp rather than a paraphrase such as “startup failed.”
  2. Record context. Write down the MCP client and version, operating system, Node.js version, whether the client is graphical or terminal-based, and whether tools appear.
  3. Confirm Node and npm visibility. Run the version and path commands in the same launch context as the client when possible.
  4. Reduce the configuration. Test only command: "npx" and args: ["@playwright/mcp@latest"] before adding browser, profile or network flags.
  5. Restart the client. Reload its MCP configuration; many clients do not reread server definitions while running.
  6. Test a simple page. After the server shows connected, try the Playwright guide’s demonstration page, https://demo.playwright.dev/todomvc.
  7. Separate browser diagnosis. If tools appear but the test fails, inspect display access, first-use browser download, filesystem permissions and the selected browser.
  8. Use HTTP only deliberately. For a separate server, keep the process alive and verify the client can reach the exact host, port and /mcp path.

Common symptoms and targeted fixes

Symptom What it usually tells you Action
Server entry never appears Spawn, PATH or configuration-scope issue Validate the client’s file/profile, command and Node path
“Connection closed” immediately Process exited or failed initialization Read stderr; test the npx command manually and check package/network errors
Tools appear, navigation fails MCP is working; browser stage is failing Check automatic browser download, display/headless mode and launch permissions
Headed browser fails in a container No display is available Add --headless or run the documented HTTP server where a display exists
Remote HTTP client cannot connect Host binding, firewall or route mismatch Check the listening address, port, /mcp route and private-network reachability
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

If your goal is a clean image or PDF of a URL rather than interactive MCP browser control, ScreenshotNeo provides a single HTTP request. 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 or CAPTCHAs, blank pages, timeouts, failed loads and cache hits are not billed, and the response identifies the result with X-Page-Verdict and X-Billed headers.

See the ScreenshotNeo API documentation for request options. cURL:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
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}`);

ScreenshotNeo also offers an MCP server with take_screenshot, get_page_info and capture_pdf tools for Claude, Cursor and other MCP clients. One thousand screenshots per month are free with no card; paid plans start at $5 for 3,000 shots. Create an account at ScreenshotNeo’s free sign-up page.

When to ask for more information

A startup label alone is not enough to name a root cause. When seeking support, provide the exact error, client and version, operating system, Node.js version, the server stanza or command, whether the tools list appeared, and whether the failure occurred before or after the first browser action. Redact API keys, cookies and private URLs, but leave the command structure and relevant paths intact.

Frequently Asked Questions

Should I install a browser manually before starting Playwright MCP?

Not normally. The official installation documentation says the browser downloads automatically on first use. Manual intervention is relevant only when that download is blocked or the resulting browser launch error identifies a missing or inaccessible executable.

Is Node.js 18 supported?

The project README has shown an 18-or-newer requirement, while the current getting-started documentation specifies 20 or newer. Treat Node.js 20+ as the safer current baseline and verify the requirement for the package version you run.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Can I use the HTTP server without keeping a terminal open?

No. The standalone HTTP mode requires a continuously running server process. Run it under the process supervisor or service mechanism appropriate for your operating system, and keep the client pointed at the matching host, port and /mcp route.

Why does changing the browser not fix an initialization error?

Browser selection is evaluated after the MCP process has started. If the client cannot spawn or initialize the server, changing Chrome, Firefox, WebKit or Edge settings addresses the wrong stage.

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.