How to Check Whether Playwright MCP Is Installed
Verify Playwright MCP in three steps: check Node.js, inspect the client config, and run a real browser tool call.
To know whether Playwright MCP is installed, verify three things: Node.js 20 or newer is available, your MCP client has a Playwright server entry that launches npx with @playwright/mcp@latest, and a real browser tool call can navigate to https://demo.playwright.dev/todomvc and return an accessibility snapshot.
A configuration entry proves registration. A successful navigation proves the server, browser, and client connection work together.
What “installed” means for Playwright MCP
Playwright MCP is normally registered in an MCP client configuration rather than installed as a global executable. The server entry tells the client to launch the package through npx:
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest"]
}
}
}
The server name may differ, but the important values are the npx command and the @playwright/mcp@latest package argument. Playwright MCP requires Node.js 20 or newer and an MCP-compatible host.
Three checks that confirm Playwright MCP
1. Check the Node.js prerequisite
Run this in the same environment that launches your MCP client:
node --version
Confirm the major version is 20 or higher, such as v20.x, v22.x, or a later release. Also check that npx is available:
npx --version
If either command fails, the client cannot launch the standard server entry until Node.js is installed or its path is made available to the client process.
2. Inspect the MCP client configuration
Open the MCP settings for the application hosting your assistant. Look for a Playwright server entry containing this pattern:
"command": "npx"
"args": ["@playwright/mcp@latest"]
Configuration locations differ between clients, so use the instructions for your host, such as VS Code, Cursor, Claude Code, Codex, or another MCP client. The server label can be playwright or another name; the launch command and package are what matter.
After editing the configuration, restart the client or refresh its MCP connections. A file containing the entry does not guarantee that the currently running process has loaded it.
3. Run a real browser tool call
Ask the connected assistant to navigate to:
https://demo.playwright.dev/todomvc
Then ask for an accessibility snapshot or a description of the page. A returned snapshot confirms that the client launched the server, the server started browser automation, and tool output reached the assistant. This runtime check is stronger than reading a configuration file because it exercises the complete path.
The browser may be downloaded automatically on first use. The first call can therefore take longer than later calls. If the client reports download progress, allow that process to finish and retry the navigation.
Client configuration checklist
- Node.js reports version 20 or newer.
- The MCP host supports MCP servers.
- An MCP server entry launches
npx. - The arguments contain
@playwright/mcp@latest. - The client was restarted or its MCP connection was refreshed.
- A navigation to the TodoMVC demo returned browser output.
Configuration precedence and overridden settings
Playwright MCP options can come from a configuration file, environment variables, and command-line arguments. Command-line arguments have the highest precedence. If a file looks correct but behavior differs, inspect the environment and the actual launch arguments for overrides.
For example, verify what your client actually starts rather than checking only a copied configuration snippet. A wrapper script, a different Node installation, or command-line options can change the effective setup.
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| No Playwright entry appears | The server is not registered with this client. | Add the standard npx/@playwright/mcp@latest entry or follow the client-specific setup instructions. |
node: command not found or npx: command not found |
Node.js is missing or is not on the PATH used by the client. | Install Node.js 20 or newer and ensure the client process inherits the correct PATH. Restart the client after changing it. |
| The config exists but the server does not connect | The package name or launch command is wrong, or the running client has stale settings. | Use command: "npx", spell the package @playwright/mcp@latest, then restart or refresh MCP connections. |
| The server connects but no browser opens | The first-use browser download has not completed, or the server log contains the underlying failure. | Wait for the automatic download, retry the call, and inspect the MCP/server log if it still fails. |
| Navigation works in one client but not another | Client configuration locations, PATH handling, and launch behavior differ. | Apply the setup instructions for the specific host while keeping the standard package and launch pattern. |
| The file is correct but behavior is unexpected | An environment variable or command-line argument overrides the file. | Check effective launch arguments and environment values; command-line options take precedence. |
| The smoke test returns no snapshot | The server may be registered but the browser tool call did not complete. | Retry after first-use setup, check the server log, and verify the assistant is connected to the intended MCP server. |
How to verify each layer
- Environment:
node --versionis 20 or newer andnpx --versionruns. - Registration: the client configuration contains the Playwright launch entry.
- Process startup: the client reports that the MCP server connected without a launch error.
- Browser readiness: the first-use browser setup completes if a download is required.
- Runtime behavior: navigation to the TodoMVC demo returns a page snapshot.
Performance, reliability, and cost considerations
The configuration check is immediate, while the first runtime call can be slower because browser assets may download automatically. Subsequent calls depend on the host machine, browser startup, and the page being loaded. For repeatable diagnostics, run the smoke test in the same user account, shell environment, and client process that will run your real workflows.
Keep the configuration minimal while diagnosing. Once the basic navigation works, add client-specific options one at a time so an override can be identified. If a failure appears only in one host, compare its PATH, environment variables, and effective command-line arguments with a working host.
Or skip the browser setup
If your goal is simply to obtain a clean screenshot or PDF from a URL, ScreenshotNeo provides a single HTTP request instead of requiring a local Playwright browser. See the ScreenshotNeo API documentation for the available options.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://demo.playwright.dev/todomvc -o shot.webp
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://demo.playwright.dev/todomvc"}, timeout=90)
open("shot.webp", "wb").write(r.content)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://demo.playwright.dev/todomvc' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
Cookie banners, newsletter popups, and chat widgets are removed before the shot. Bot checks, blank pages, failed loads, and cache hits are not billed, and response headers identify the page verdict and billing status. ScreenshotNeo also has an MCP server with take_screenshot, get_page_info, and capture_pdf tools for AI agents. The Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 shots.
Create a free ScreenshotNeo account to get started.
FAQ
Is Playwright MCP a global npm install?
Usually no. The common setup registers an MCP server that the client launches with npx @playwright/mcp@latest.
Does a valid configuration prove the installation works?
No. It proves the server is registered. A successful navigation and returned accessibility snapshot provide runtime confirmation.
What Node.js version is required?
The documented prerequisite is Node.js 20 or newer.
Why can the first call take longer?
The browser may be downloaded automatically during first use.
Should I use the same check in every MCP client?
Use the same three layers of verification, but follow the host client’s setup instructions because configuration locations and launch behavior differ.
For the official setup pattern and client-specific guidance, consult the Playwright MCP documentation and the official Playwright MCP repository.


