The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Microsoft’s “Browser MCP Server” is the open-source Playwright MCP server, installed as @playwright/mcp. Add it to an MCP-enabled client, connect the client, and ask the assistant to inspect a page and perform a small interaction. The server exposes browser actions through structured accessibility snapshots, so an assistant can work with named controls and references instead of relying only on screenshots.
This guide covers the local setup first, then explains profiles, browser connections, safety, troubleshooting, and Microsoft’s separate managed Azure option. Microsoft’s current Playwright getting-started guide, accessed September 29, 2026, specifies Node.js 20 or newer for a new setup.
What Microsoft’s Browser MCP Server does
Playwright MCP connects an MCP-compatible AI assistant to a browser controlled by Playwright. Microsoft’s Playwright documentation describes it as enabling language models to interact with web pages “using structured accessibility snapshots.” In practice, the assistant can inspect page structure and use browser tools to navigate, click, type, fill fields, select options, handle tabs or dialogs, and capture screenshots.
The default interaction model is not simply “look at an image and guess where to click.” The server exposes accessible roles, labels, text, and element references. The assistant can inspect a snapshot, identify a textbox or button, and use the reference in a subsequent action. Screenshots remain useful for visual checks, while request inspection and route mocking can help with debugging. This makes the server useful for guided browser tasks and automation development, but it does not guarantee that every site will expose usable controls or permit automation.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →#1 Best Overall
What you need before installing
- An MCP client that supports a server configuration, such as one of the clients covered by Microsoft’s setup examples. The exact configuration file and reload procedure depend on the client; use its current MCP configuration instructions.
- Node.js 20 or newer for a new setup, per the current Microsoft Playwright getting-started guide accessed September 29, 2026.
- Network access to retrieve the npm package the first time it is launched. The configuration below uses
npxand the@latestpackage tag. - A target website that you are authorized to access and automate. Keep any account credentials or sensitive data out of prompts and logs unless your workflow specifically requires them and your client is configured to handle them safely.
There is a version-requirement discrepancy in Microsoft’s materials: the current getting-started guide calls for Node.js 20 or newer, while Microsoft Learn’s Power Platform sample and the repository overview describe Node.js 18 or later. For a fresh general-purpose installation, follow the current guide’s stricter Node.js 20 requirement; the lower figure belongs to those specific materials and should not be treated as the current general setup requirement.
Install and connect the local server
1. Add the server to your MCP client
Use this standard server configuration in the MCP configuration mechanism for your client:
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest"]
}
}
}
Configuration locations and formats vary among VS Code, Cursor, Claude Code, Claude Desktop, and other clients. Microsoft’s setup guide provides client examples, and the Playwright MCP repository includes additional examples. Follow the current instructions for your particular client rather than assuming that one client’s file path or reload behavior applies to another.
2. Restart or reload the client
After saving the configuration, use the client’s documented reload or restart procedure so it starts the server. Check the client’s MCP or tool status view for a connected Playwright server. If the client reports that the server did not start, inspect its logs for the executable, Node.js, or package-launch error before trying a browser task.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
3. Try a small, observable task
Start with a public, uncomplicated page. Ask the assistant to navigate to it, inspect the accessibility snapshot, and report the page’s main heading and available controls. Then ask it to perform one low-risk action, such as entering text in a clearly labeled search box or clicking a named navigation link. This sequence lets you see the server’s navigation, snapshot, and interaction calls before you attempt a longer workflow.
For example, a useful first request is: “Open https://example.com, inspect the page snapshot, and tell me its main heading. Do not submit any forms or follow external links.” After confirming that works, give a second request for one specific interaction. Be explicit about the intended outcome and any actions the assistant must not take.
Rank #2
How a page interaction works
- Navigate: the assistant asks the server to open the target URL.
- Inspect: the assistant reads a structured snapshot of accessible page content, such as headings, textboxes, checkboxes, and buttons.
- Choose a target: it uses the control’s accessible name or snapshot reference to identify the intended element.
- Act: it clicks, fills, selects, types, or uses keyboard or mouse input through the browser tools.
- Verify: it inspects a new snapshot or takes a screenshot to check whether the expected state appeared.
This model is generally easier to reason about than coordinates alone, but it depends on the page exposing useful accessibility information. Ambiguous labels, custom controls, content that appears only after interaction, or inaccessible widgets can make target selection harder. In those cases, ask the assistant to inspect the latest state before acting, use a screenshot as additional evidence, and keep actions narrowly scoped.
Choose a browser and session mode deliberately
Playwright MCP supports multiple browser and connection choices. The right choice depends on whether you need a clean session, an existing signed-in session, or a browser managed elsewhere. The exact flags and options are documented in the current Playwright MCP materials; do not copy options from an older configuration without checking their current names.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitchesIsolated profile for repeatable tasks
An isolated profile starts a fresh browser context rather than reusing your ordinary browser state. It is useful when you want tasks to begin without existing cookies or local session state. The trade-off is that in-memory browser storage is lost when the browser closes, so an authenticated workflow may need a deliberate sign-in step each time. Do not assume that a site will allow automated sign-in or that its authentication requirements can be bypassed.
Persistent profile for retained browser state
A persistent profile can preserve browser state between runs, which may be helpful for repeatable tasks that legitimately need a session. Treat that profile as sensitive: it can contain cookies and other account state. Limit who and what can access it, and avoid using a profile containing personal or privileged accounts for untrusted tasks.
Extension connection for existing tabs
The extension connection can attach to existing browser tabs and reuse their current session state. This is the most direct option when a workflow needs a tab in which you are already signed in. Reuse is also a security consideration: the assistant may be able to interact with pages and accounts available in those tabs. Use it only with a trusted client and make sure the active tabs are appropriate for the task.
Other connection and server arrangements
The documented configuration choices also include browser selection, headed or headless operation, CDP or a Playwright endpoint connection, and running a standalone HTTP server. These are deployment choices, not prerequisites for the basic local MCP setup above. Check the current server documentation for the supported option names and behavior for your chosen mode; Microsoft’s Playwright MCP documentation does not establish a single universal set of flags for every client and environment.
Rank #3
Use the unsafe code tool only when necessary
The browser_run_code_unsafe tool can run arbitrary JavaScript in the server process. Microsoft describes this capability as equivalent to remote code execution (RCE). That is materially different from asking the assistant to click a button or fill a field through the normal browser tools: arbitrary code can have consequences beyond a page interaction.
Keep this tool disabled unless the workflow genuinely requires it, and enable it only when the MCP client and instructions are trusted. Do not treat it as a routine shortcut for ordinary navigation or form filling. If you do enable it, consider what access the server process has and avoid running it in an environment containing secrets or files the task does not need.
When to use the managed Azure remote option
Microsoft also documents Playwright Workspaces remote MCP, a separate managed browser service—not another name for the local @playwright/mcp package. It exposes browser automation tools over Streamable HTTP, so the agent environment does not need its own local browser installation. The setup requires an Azure account and subscription, a configured workspace, and a client capable of the documented remote connection method.
Microsoft Learn’s remote MCP documentation labels the capability preview, says it has no service-level agreement, and says it is not recommended for production workloads. Its quickstart page reports an update date of September 14, 2026. Preview availability and setup details can change; consult the current Microsoft Learn material before building around this option.
Local package versus managed workspace
| Choice | Where the browser runs | What setup requires | Session and credential considerations | Status |
|---|---|---|---|---|
| Local Playwright MCP | In the environment where the local server and browser run. | An MCP client and, for a new setup, Node.js 20 or newer per Microsoft’s current getting-started guide. | You choose an isolated or persistent profile, or can connect through an extension to reuse existing tabs and their sessions. Protect retained browser state. | Open-source npm package, installed as @playwright/mcp. |
| Playwright Workspaces remote MCP | In a managed Azure workspace. | An Azure account/subscription, configured workspace, and remote-capable client connection. | The quickstart recommends Microsoft Entra ID. Its access-token route is less secure and disabled by default; treat any token as a password. | Preview; Microsoft says it has no SLA and is not recommended for production workloads. |
Protect remote credentials
The remote quickstart demonstrates an x-api-key access-token route, but Microsoft recommends Microsoft Entra ID. If a token route is used, keep its access token out of source control, prompts, and logs, and store it as a secret. Microsoft also notes that Foundry connections may be shared by project members; use a dedicated least-privilege token and restrict project access as appropriate. Follow the current Azure documentation for endpoint construction, workspace region and ID, and client-specific connection steps rather than hard-coding an endpoint copied from another workspace.
Troubleshooting common setup and task failures
The MCP client does not show Playwright as connected
- Confirm that the JSON is valid and the server entry is under
mcpServersin the configuration file your specific client reads. - Check that Node.js is installed and meets the current guide’s Node.js 20-or-newer requirement for a new general setup.
- Reload or restart the MCP client using its own documented procedure. Review client logs for the actual process-launch error.
- Ensure the environment running the client can reach npm to retrieve
@playwright/mcp@latest.
The assistant cannot find or activate a control
Ask it to inspect a fresh accessibility snapshot and identify the exact role and accessible name before acting. The page may have changed since the previous snapshot, the control may not have an accessible name, or it may be rendered only after another step. Try a narrower task and verify the result after each action. A screenshot can help clarify visual layout, but it does not replace checking that the intended control is actually present.
The task works once but loses its login state
Check whether the task uses an isolated profile that is discarded when the browser closes. If the workflow legitimately needs retained state, select an appropriate persistent profile or use the extension to attach to a signed-in tab. Protect that state as account material, and do not assume that changing profile modes resolves a site’s authentication or anti-automation checks.
A page is blank, incomplete, or behaves differently than expected
Inspect the current snapshot and, where useful, a screenshot; then determine whether the page finished rendering or requires a user-visible interaction. Playwright MCP documentation includes request inspection and route mocking for debugging. A website may also block or limit automation, require authentication, or rely on content that is not exposed in the snapshot. Stay within the site’s rules and your authorization rather than trying to evade a control.
A task needs code beyond normal browser actions
First see whether the standard navigation, locator, keyboard, mouse, or page-inspection tools can complete it. If considering browser_run_code_unsafe, account for its arbitrary-code, RCE-equivalent risk and enable it only for a trusted client and a justified task.
The remote endpoint rejects a connection
For Playwright Workspaces remote MCP, verify the workspace and region used to construct the endpoint, the client’s support for the documented connection method, and the configured authentication method. If using an access token, confirm that the relevant setting is enabled and that the token is valid; Microsoft recommends Entra ID instead. Never paste a token into a public prompt or commit it to a repository.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Performance, reliability, and operational choices
The available official setup material does not establish a general speed benchmark, reliability percentage, or productivity figure for either approach. Expect practical results to depend on the target site, browser environment, network, authentication, and the complexity of the task. For repeatability, keep workflows small, inspect page state before acting, and verify important results rather than assuming that a successful tool call means the intended website change occurred.
Local mode gives you direct control over the browser environment and profile, but the server and browser must be available where the MCP client can reach them. The managed Azure option avoids a local browser installation, but its preview status and lack of SLA make it unsuitable to describe as a production-ready guarantee. Neither approach makes a website’s content, login flow, or automation policy predictable.
Or skip the browser setup
If your task is to capture a webpage image rather than interact with the page, ScreenshotNeo is a website screenshot API and MCP server. It is not a replacement for Playwright MCP’s general browser interaction tools, but can be simpler when the required output is a screenshot or PDF. One GET request can return PNG, JPEG, WebP, or PDF. Here is the cURL form, using the documented endpoint and a replaceable target URL:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com -o shot.webp
See the ScreenshotNeo API documentation for request options. Before capture, it accepts the cookie or consent banner like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each of those steps can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and responses identify page verdict and billing status in headers. Its MCP server provides take_screenshot, get_page_info, and capture_pdf for Claude, Cursor, and other MCP clients. The free plan includes 1,000 shots per month with no card; paid plans start at $5 for 3,000 shots.
Sign up for ScreenshotNeo free to get 1,000 screenshots a month without a card.
Frequently Asked Questions
Does Playwright MCP control the browser by looking only at screenshots?
No. Its default interaction model uses structured accessibility snapshots and element references; screenshots are available for visual verification.
Recommended Free Tools
Can Playwright MCP use my existing logged-in browser tabs?
Yes. Its extension connection can attach to existing tabs and reuse their session state, subject to the access and security implications described above.
Is Playwright Workspaces remote MCP the same product as the local server?
No. It is a distinct managed Azure option; the local server is the open-source @playwright/mcp package.
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.

