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

VS Code does not require an external MCP server for browser automation. Its agent sessions include built-in browser tools when workbench.browser.enableChatTools is enabled. Open Chat in Agent mode, select the browser tools, and give the agent a concrete task: start or find your app, open a route, follow a user journey, inspect the page and console, then fix or report defects. Add Playwright MCP or Chrome DevTools MCP only when you need a separately managed browser integration.

What “browser tools MCP” means in VS Code

Several integrations are commonly grouped together under “browser MCP,” but they are different:

Integration Where it runs What it provides When to choose it
VS Code built-in browser tools Shipped with VS Code’s agent experience Navigation, page and accessibility reading, screenshots, clicking, hovering, dragging, typing, dialog handling, custom Playwright code and console inspection Most app-testing and debugging tasks inside VS Code
External MCP server (for example, Playwright MCP) Installed and managed separately A browser tool set supplied by that server You need a particular server’s behavior, version or deployment model
Extension tool Contributed by a VS Code extension through the Language Model Tools API Tools specific to that extension A feature is available only through an extension

Microsoft describes these as three tool classes: built-in tools, MCP tools supplied by MCP servers, and extension tools. MCP itself is an open standard; it is not synonymous with the browser tools that already ship in VS Code.

Enable VS Code’s built-in browser tools

  1. Open Settings. Use the Settings gear or the Command Palette and search for workbench.browser.enableChatTools.
  2. Enable the setting. Turn on workbench.browser.enableChatTools. The exact label or policy behavior can vary with your VS Code version and administrator settings.
  3. Start an Agent session. Open Chat and change the mode to Agent, not a plain question-and-answer chat.
  4. Select the tools. Open Configure Tools and make sure the browser tools are selected. Selecting only the tools needed for a task keeps the agent’s authority easier to review.
  5. Check project trust and policy prompts. If VS Code asks whether you trust a workspace, extension or server, review the source and permissions before accepting. Organization policy can disable tools or restrict network access.

If the setting is unavailable, the tool picker is empty or an administrator policy locks the option, update VS Code according to your organization’s process and check its current documentation. Labels and availability are version-sensitive.

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

Give the agent an observable test task

An agent can only verify behavior it can observe. Include the startup command, the URL, the route, the user journey, expected results and boundaries. A useful prompt looks like this:

Start the app with npm run dev and use the URL it prints. Open /checkout in the browser.
Test a signed-out user journey: add one item, open checkout, submit an empty form,
then enter valid test data. Check the rendered page, accessibility information and
browser console after each step. Use a 1440×900 viewport. Do not use real payment data.
If you find a defect, explain the reproduction steps and propose a code fix; make changes
only after I approve them.

This tells the agent what “done” means without assuming that it knows your scripts, test accounts or risk tolerance. For an existing server, provide its complete URL instead of asking the agent to guess a port. For a stateful flow, say which test credentials or seeded data are allowed.

What the built-in browser loop can do

Start or locate the application

Ask the agent to run your documented development command, or to locate an already running app. The agent should report the URL it used; verify that it is the intended environment before testing data-changing actions.

Navigate and read

It can open routes, read page content and accessibility information, and inspect whether headings, controls and labels are present. Ask for the exact text or selector it used when a result matters.

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

Exercise interactions

Built-in actions include clicking, hovering, dragging, typing and handling dialogs. Describe the user journey in order and include negative cases such as invalid input, an empty result, a cancelled dialog or a network failure.

Inspect visual and runtime output

Request a screenshot at a named viewport when layout matters. Ask the agent to inspect console errors and warnings separately from visible page text; a page can look correct while JavaScript failures are recorded in the console.

Use custom Playwright code carefully

For a repeated or precise check, ask the agent to run custom Playwright code and show the important assertions. Keep destructive operations behind explicit approval. A browser session is not a substitute for a committed end-to-end test: save stable checks in your test suite once the behavior is understood.

Understand browser session state before testing

Isolated agent-opened pages

A page opened by the agent uses an isolated, in-memory session. Cookies, local storage and other state are not your normal browser profile. This is useful for repeatable, signed-out tests and avoids accidentally exposing personal sessions.

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.

Shared pages

A page shared by the user can retain cookies, storage and sign-in state. Share an existing page only when an authenticated or otherwise stateful flow requires it. Never paste production credentials into an agent prompt; use a safe test account and least-privilege data.

Make state an explicit test input

  • State whether the test is signed in or signed out.
  • Specify the account, tenant or seeded records to use.
  • Say whether the agent may modify data, send messages or trigger external services.
  • Reset or recreate data between runs when results depend on prior actions.

Add an external browser MCP server when you need one

An external server is optional. Use one when you require a separately installed integration, a particular browser implementation, DevTools-oriented inspection or a server lifecycle independent of VS Code.

  1. Open Extensions and search @mcp (or @mcp playwright).
  2. Install the Playwright MCP server or another suitable server from the gallery.
  3. When prompted, confirm that you trust the server. Review its publisher, requested access and network behavior.
  4. Open Chat and ask the agent to use the server’s tools.
  5. Use Configure Tools to enable only the capabilities required for the task.
  6. For project-level configuration, inspect or edit .vscode/mcp.json. Use VS Code’s commands to start, stop or restart configured servers.

Configuration keys, transport support and gallery entries can change. VS Code’s MCP developer guidance currently discusses local stdio, streamable HTTP and legacy SSE transports, plus tools, prompts, resources, authentication, sampling, roots, server instructions, elicitation and MCP Apps. Treat the installed server’s own instructions and your VS Code version as authoritative.

Chrome DevTools MCP as another external option

Chrome for Developers documents Chrome DevTools MCP as a server that connects compatible AI agents to a live browser instance. It is a reasonable choice when your work depends on DevTools-style inspection of a browser that is already running. It remains an external integration: confirm current Chrome documentation for installation, compatibility, authentication and supported clients before adopting it.

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

Built-in tools or external MCP? A practical decision

Question Prefer built-in VS Code tools Prefer an external server
Do you need to install anything? No separate browser MCP server Yes; install and maintain the server
Where should state live? Use isolated agent pages, or deliberately share a page for sign-in Follow the server’s browser and profile model
What tool surface is enough? Navigation, reading, screenshots, interaction, dialogs, console and Playwright code A server-specific surface or DevTools-oriented workflow
Who controls access? VS Code tool picker, trust prompts, network filtering and administrator policies Those controls plus the server’s configuration and process permissions
Who handles updates? VS Code releases and policies VS Code plus the server package, browser and its configuration

Start with built-in tools for ordinary UI verification. Add one external server only when you can name the capability it supplies and the maintenance cost you accept.

Troubleshoot common failures

The agent cannot see browser tools

Confirm workbench.browser.enableChatTools is enabled, the session is in Agent mode and the tools are selected under Configure Tools. A workspace or organization policy may override your setting.

The app will not open

Run the start command yourself and verify the printed URL, port and protocol. Tell the agent the exact URL. Check terminal output for a crashed process, a port already in use, a certificate warning or a server bound only to a different interface.

The page is blank or stale

Ask for the page URL, a screenshot and console output. Confirm that the route exists, the frontend build completed and the agent is not using an isolated session that lacks required local storage. Reload after a code change and verify the network response rather than relying only on visual output.

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

Clicks or typing target the wrong element

Ask the agent to read the page and accessibility information first, then identify the control by its accessible name or a stable selector. Remove duplicate labels and make test selectors deterministic in the application.

Authentication does not persist

This is expected when using an isolated in-memory page. Share an existing page only for an approved test account, or create a deterministic login setup for the test environment.

An external MCP server fails to start

Check the server’s installation output, executable path, required runtime, .vscode/mcp.json syntax and transport choice. Stop and restart it from VS Code after configuration changes. Recheck trust prompts and administrator restrictions before changing permissions.

The agent reports a defect without fixing it

State whether it may edit files, which directories are in scope and what validation is required afterward. A safe loop is reproduce, capture evidence, propose a patch, obtain approval, apply the patch and rerun the same journey.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Reliability, safety and maintainability

  • Use deterministic environments: fixed seed data, test accounts and stable URLs produce more useful comparisons than a personal browser profile.
  • Separate evidence types: screenshot for layout, page/accessibility reading for semantics, and console output for runtime failures.
  • Control network reach: do not allow an agent or server to access production systems unless that access is intentional and governed.
  • Keep permissions narrow: enable only the tools needed for the current task and avoid sharing authenticated pages unnecessarily.
  • Promote discoveries to tests: once a manual agent check is stable, encode it in your normal unit or end-to-end test suite.
  • Record versions: note VS Code, browser, extension and external-server versions when a result must be reproduced.

Or skip the browser setup

For a server-side image or PDF of a URL, ScreenshotNeo provides a website screenshot API and MCP server. One GET request returns PNG, JPEG, WebP or PDF. It removes cookie and consent banners, newsletter popups and chat widgets before capture; bot checks, blank pages, timeouts, failed loads and cache hits are not billed, and response headers identify the page verdict and billing result. Its MCP tools—take_screenshot, get_page_info and capture_pdf—can be used by Claude, Cursor and other MCP clients.

See the full parameter reference in the ScreenshotNeo documentation. The same endpoint supports full-page captures with lazy images, CSS-selector element captures, dark mode, device presets or custom viewports, retina scale, PDF paper and page options, custom CSS and JavaScript, clicks, waits, request and resource blocking, headers, cookies, user agents, authorization, timezone, geolocation, transparent backgrounds, resizing, chosen cache TTLs, signed image links, asynchronous webhooks, bulk capture of up to 100 URLs per call, a usage API and an OpenAPI specification.

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}`);

The free plan includes 1,000 shots per month without a card; paid plans start at $5 for 3,000 shots. Sign up for the free ScreenshotNeo plan when an API or MCP capture fits your workflow.

Frequently asked questions

Frequently Asked Questions

Is MCP required to use browser automation in VS Code?

No. VS Code’s built-in browser tools work in Agent sessions without an external MCP server. MCP servers are an optional addition.

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

Can I test an authenticated application?

Yes, but use a dedicated test account. Share an existing page only when its cookies and storage are intentionally needed; otherwise use the isolated agent session.

Should I install Playwright MCP and Chrome DevTools MCP together?

Usually not. Choose the one that supplies the capability you actually need, because each adds its own installation, permissions and update lifecycle.

Where should a team keep MCP configuration?

Use project-level .vscode/mcp.json when the server is part of a project workflow, and review the file and trust requirements with your organization’s policy.

The Bottom Line

Enable workbench.browser.enableChatTools, run an Agent session and describe a reproducible journey before installing anything else. Add an external MCP server only for a specific browser or DevTools capability, and keep session state, permissions and test data deliberate.

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.

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.