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.

To run Chrome DevTools MCP without a visible browser window, add --headless to the server’s arguments in your MCP client configuration. For example, launch it with npx and include --headless in the args array. Use --isolated for a temporary browser profile, or connect the MCP server to a separately launched headless Chrome when a container, CI job, or other supervisor needs to own the browser process.

Run Chrome DevTools MCP directly in headless mode

In the MCP client configuration, add --headless to the arguments passed to chrome-devtools-mcp. The flag defaults to false; adding it tells Chrome to run without a visible UI. Chrome for Developers describes this mode as intended for background tasks without a visible browser window.

Here is a server configuration using a temporary profile and a 1280-by-720 viewport:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": [
        "-y",
        "chrome-devtools-mcp@latest",
        "--headless",
        "--isolated",
        "--viewport=1280x720"
      ]
    }
  }
}

Use the configuration file and restart procedure specified by your MCP client; the exact location and reload behavior depend on that client. The important part is that --headless appears as its own argument in the server’s args list, not as a setting for the language model or as a URL parameter.

#1 Best Overall
Samsung 14" Galaxy Chromebook Go Laptop PC Computer, Intel Celeron N4500 Processor, 4GB RAM, 64GB Storage, ChromeOS, XE340XDA-KA2US, Student Laptop, Silver
  • SLIM. LIGHTWEIGHT. READY TO GO: The all-new slim design is perfect for busy lives on the go.
  • SKILLFULLY DESIGNED. MILITARY TOUGH: Built with premium craftsmanship to withstand the occasional drop or ding.
  • ALL-DAY, ALL-IN-ONE CHARGING: Power through your school day – and beyond – with a long-lasting 12-hour battery.¹
  • 3X FASTER THAN THE PREVIOUS GENERATION OF WIFI: Crush your schoolwork in record time with Wi-Fi that’s three times faster than the previous generation of Wi-Fi.
  • YOUR PHONE AND CHROMEBOOK WORK BETTER TOGETHER: Easily transfer files between devices, and control your phone right from your Chromebook.

What the other arguments do

  • -y tells npx to proceed without an interactive installation prompt, which is useful for unattended launches.
  • --isolated creates a temporary user-data directory that is cleaned up after Chrome closes. Choose it when you want a clean browser state for each run rather than a persistent profile.
  • --viewport=1280x720 sets the viewport dimensions. The documented maximum viewport in headless mode is 3840 by 2160.

If browser state needs to survive after Chrome exits, use --user-data-dir to select a persistent profile instead of relying on the temporary profile created by --isolated. These choices have different consequences: temporary state is useful for separation between runs, while persistent state is necessary when later runs must reuse the same profile.

Choose who starts Chrome

There are two common arrangements. In the direct-launch configuration above, the MCP server starts Chrome and manages its connection. In a supervised setup, such as a container or CI job that starts Chrome separately, the MCP server connects to the already-running browser. Choose the second arrangement when another process needs to control Chrome’s lifetime, profile, or launch environment.

Connect to a separately launched headless browser

  1. Close existing Chrome instances that use the profile you plan to use. Chrome’s remote-debugging guidance calls for a separate, non-default profile; do not reuse a profile that contains sensitive browsing data.
  2. Start Chrome with headless mode, a remote-debugging port, and a non-default profile directory. For Linux, for example:
/usr/bin/google-chrome 
  --headless 
  --remote-debugging-port=9222 
  --user-data-dir=/tmp/chrome-profile-stable
  1. Configure the MCP server to connect to the running browser’s local debugging address:
{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": [
        "-y",
        "chrome-devtools-mcp@latest",
        "--browser-url=http://127.0.0.1:9222"
      ]
    }
  }
}

Use the same port in Chrome’s launch command and the MCP server’s --browser-url. If your environment provides a DevTools WebSocket URL rather than an HTTP debugging address, --ws-endpoint is the alternative connection flag. The official manual-connection instructions also provide equivalent launch examples for macOS and Windows; the command above is specifically a Linux example.

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

Let Chrome connect automatically

Chrome 144 and later support --autoConnect. Enable Remote Debugging in chrome://inspect/#remote-debugging, approve Chrome’s permission dialog, and add --autoConnect to the MCP server arguments. This is an option when the environment allows the permission flow and automatic connection. Prefer the explicit --browser-url or --ws-endpoint method when automatic connection is unavailable, including in some sandboxed environments.

Rank #2
ASUS 2026 15" FHD IPS Chromebook, Intel Processor Up to 2.80GHz, 4GB DDR4, 128GB Storage, HDMI, Super-Fast WiFi, Chrome OS, Pastel Blue, Renewed
  • Intel Processor Up to 2.80GHz, 4GB DDR4, 128GB Storage
  • 15" FHD IPS Display, Intel UHD Graphics
  • 1x USB Type C, 1 x USB Type A, 1x Headphone/Microphone Combo Jack, HDMI
  • Super Fast WiFi and Bluetooth, Integrated Webcam
  • Chrome OS, AC Charger Included, Pastel Blue

Decide how browser state should work

Headless mode changes whether Chrome displays a UI; it does not by itself decide which profile is used or who owns the Chrome process. Make those choices separately:

Setup Who starts Chrome Profile behavior Connection
Direct, isolated launch The MCP server Temporary user-data directory, removed when Chrome closes MCP server launches its browser
Direct, persistent profile The MCP server Profile selected with --user-data-dir MCP server launches its browser
External supervisor A container, CI job, or other supervisor Set when Chrome is launched; use a separate non-default profile --browser-url, --ws-endpoint, or supported --autoConnect

For repeatable background work, decide whether each run should start with fresh browser state or reuse a profile. Do not use a persistent profile merely to avoid configuring login state: if it contains credentials or other sensitive data, the remote-debugging connection becomes a control path to that browser.

Use headless mode in CI or a sandbox

A CI job can either launch Chrome itself and point the MCP server at it, or start the MCP server with --headless and let it manage Chrome. The first arrangement is useful when the job’s supervisor must start and stop Chrome; the second has fewer separately managed pieces. In either case, keep the MCP client and the terminal environment aligned on Node.js and npm, and use -y with npx to avoid an interactive prompt in an unattended run.

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

For an externally managed browser, make the launch command, profile directory, and connection address part of the same job configuration. If the job runs in a sandbox, confirm that the MCP process can reach Chrome at the chosen address. A local address such as 127.0.0.1 works only when both processes can reach the same local network namespace; a container boundary may require an explicitly arranged private connection. Do not solve a connectivity problem by exposing the debugging port publicly.

Headless mode still has a viewport. The documented headless maximum is 3840 by 2160; select a smaller explicit viewport when your task depends on consistent responsive layout. If you specify a viewport in an MCP launch configuration, use the documented form such as --viewport=1280x720.

Protect the remote-debugging connection

A remote-debugging port is not a harmless status endpoint. Chrome’s advanced-usage guidance warns that any local application able to reach the port can connect to and control the browser. Keep the port limited to the intended host or private network, use a separate non-default profile, and avoid visiting sensitive sites while the port is open.

  • Do not bind or forward port 9222 to a public interface.
  • Use a dedicated profile directory rather than your everyday Chrome profile.
  • Stop the externally launched browser when the job finishes, so the debugging endpoint does not remain available unnecessarily.
  • For runs that do not need state persistence, use the temporary profile created by --isolated.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshoot startup and connection failures

Check the failure in order: confirm the MCP package starts, check the client’s Node.js/npm environment, then verify Chrome ownership and connection details. The official troubleshooting guidance recommends the following diagnostics.

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

The MCP server does not start

Run npx chrome-devtools-mcp@latest --help in a terminal to confirm that the package can start and display its options. If it prompts for installation or confirmation, add -y to the npx invocation in unattended configuration. If the command works in a terminal but not through the MCP client, compare the Node.js and npm versions available to each environment; clients launched as desktop applications may not inherit the same shell environment.

Rank #4
HP Chromebook 14 Laptop, Intel Celeron N4120, 4 GB RAM, 64 GB eMMC, 14" HD Display, Chrome OS, Thin Design, 4K Graphics, Long Battery Life, Ash Gray Keyboard (14a-na0226nr, 2022, Mineral Silver)
  • FOR HOME, WORK, & SCHOOL – With an Intel processor, 14-inch display, custom-tuned stereo speakers, and long battery life, this Chromebook laptop lets you knock out any assignment or binge-watch your favorite shows..Voltage:5.0 volts
  • HD DISPLAY, PORTABLE DESIGN – See every bit of detail on this micro-edge, anti-glare, 14-inch HD (1366 x 768) display (1); easily take this thin and lightweight laptop PC from room to room, on trips, or in a backpack.
  • ALL-DAY PERFORMANCE – Reliably tackle all your assignments at once with the quad-core, Intel Celeron N4120—the perfect processor for performance, power consumption, and value (2).
  • 4K READY – Smoothly stream 4K content and play your favorite next-gen games with Intel UHD Graphics 600 (3) (4).
  • MEMORY AND STORAGE – Enjoy a boost to your system’s performance with 4 GB of RAM while saving more of your favorite memories with 64 GB of reliable flash-based eMMC storage (5).

The MCP server cannot reach Chrome

  • Confirm Chrome is still running and was started with --remote-debugging-port=9222.
  • Check that --browser-url uses the same port and the address Chrome is reachable at. For a same-host example, use http://127.0.0.1:9222.
  • Check that Chrome was started with the profile directory you intended and that another Chrome instance is not already using that profile.
  • If you have a DevTools WebSocket URL, use --ws-endpoint rather than guessing an HTTP address.
  • If the environment is sandboxed, verify that the MCP server and Chrome can communicate across its network or container boundaries.

The unattended job hangs or produces little diagnostic output

Use -y to remove an interactive npx prompt as a cause. For more detail, enable NODE_DEBUG=* and pass --log-file=/path/to/chrome-devtools-mcp.log. Choose a log path writable by the MCP process and inspect it alongside the CI job’s output.

The browser opens visibly or the viewport is unexpected

Check that --headless is in the MCP server’s argument array, spelled as a separate argument, and that the client has reloaded the configuration. If the browser is started externally, --headless must be on Chrome’s launch command instead; setting it only on the MCP connection configuration cannot retroactively change how an already-running browser was started. Set the viewport explicitly when the task relies on a particular screen size.

Or skip the browser setup

If you only need a website screenshot rather than Chrome DevTools browser interaction, ScreenshotNeo can return an image or PDF through one GET request. Its screenshot API is a different workflow from Chrome DevTools MCP: it does not connect your MCP client to a browser for interactive DevTools tasks.

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

For example, this cURL request saves a screenshot of Stripe as WebP. See the ScreenshotNeo API documentation for the request options.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

ScreenshotNeo accepts cookie and consent banners before capture and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and each response reports the page verdict and billing status in headers. Its MCP server provides take_screenshot, get_page_info, and capture_pdf tools for AI agents. The free plan includes 1,000 screenshots per month without a card; paid plans start at $5 for 3,000 screenshots. For DevTools control, use the Chrome setup above; for clean screenshot capture without configuring a browser, see ScreenshotNeo.

Sign up for 1,000 free screenshots a month with no card.

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.

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