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 capture a browser screenshot with Chrome DevTools MCP, configure the server in an MCP-compatible client, open the page you want to capture, then call its take_screenshot tool. The server can launch Chrome or connect to an existing debuggable browser. It supports PNG, JPEG, and WebP; JPEG and WebP quality and maximum output dimensions are configurable.
What you need before capturing
You need an MCP-compatible client, the Chrome DevTools MCP server, and a Chromium-based browser. The server can start Chrome itself, or connect to a Chrome instance that is already running with remote debugging enabled. Starting a separate browser is usually the simpler choice for a fresh, isolated capture. Connecting to an existing browser can be useful when you need its current page or sign-in state, but it also gives the connected agent access to that session.
- Install or run the server through Node.js and
npx, as shown in the project’s configuration instructions. - Use a client that lets you add an MCP server configuration and invoke its tools.
- If attaching to a browser, start it in a debuggable mode and keep the debugging endpoint accessible to the MCP server.
Microsoft Learn documents Chromium-based Microsoft Edge and WebView2 as connection targets as well. The walkthrough below focuses on Chrome; available browser connection details can vary by setup.
Configure Chrome DevTools MCP in your client
Add a server entry to the MCP configuration used by your client. The project’s documented example runs the package with npx. The following is the common JSON shape for a client that uses a mcpServers configuration key:
#1 Best Overall
- CRISP CLARITY: This 23.8″ Philips V line monitor delivers crisp Full HD 1920x1080 visuals. Enjoy movies, shows and videos with remarkable detail
- INCREDIBLE CONTRAST: The VA panel produces brighter whites and deeper blacks. You get true-to-life images and more gradients with 16.7 million colors
- THE PERFECT VIEW: The 178/178 degree extra wide viewing angle prevents the shifting of colors when viewed from an offset angle, so you always get consistent colors
- WORK SEAMLESSLY: This sleek monitor is virtually bezel-free on three sides, so the screen looks even bigger for the viewer. This minimalistic design also allows for seamless multi-monitor setups that enhance your workflow and boost productivity
- A BETTER READING EXPERIENCE: For busy office workers, EasyRead mode provides a more paper-like experience for when viewing lengthy documents
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": ["chrome-devtools-mcp@latest"]
}
}
}
Configuration file names and locations depend on the MCP client, so use that client’s instructions to find the right file and restart or reload it after saving. The @latest package tag selects the latest published release when the command runs; it also means the version can change over time. For repeatable environments, consult the project’s current configuration guide and choose a versioning approach appropriate to your workflow.
Launch a server-managed browser
With no browser connection option specified, the server starts a Chrome instance by default. This is the most direct setup when the task is to navigate to a URL and capture it without relying on an already-open browser session.
Connect to an existing browser
For a debuggable Chrome instance listening at the documented local address, add --browser-url=http://127.0.0.1:9222 to the server arguments:
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Repair Windows errors before they cause bigger problems3Scan for outdated or missing drivers - takes under a minute{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": [
"chrome-devtools-mcp@latest",
"--browser-url=http://127.0.0.1:9222"
]
}
}
}
The configuration guide also documents a WebSocket endpoint option, --ws-endpoint, for connecting through a browser WebSocket URL. Use the endpoint format and access method provided by your browser environment rather than guessing an address. These options are version-sensitive; check the current Chrome DevTools MCP configuration guide when setting up a release other than the one you have already verified.
Rank #2
- CRISP CLARITY: This 22 inch class (21.5″ viewable) Philips V line monitor delivers crisp Full HD 1920x1080 visuals. Enjoy movies, shows and videos with remarkable detail
- 100HZ FAST REFRESH RATE: 100Hz brings your favorite movies and video games to life. Stream, binge, and play effortlessly
- SMOOTH ACTION WITH ADAPTIVE-SYNC: Adaptive-Sync technology ensures fluid action sequences and rapid response time. Every frame will be rendered smoothly with crystal clarity and without stutter
- INCREDIBLE CONTRAST: The VA panel produces brighter whites and deeper blacks. You get true-to-life images and more gradients with 16.7 million colors
- THE PERFECT VIEW: The 178/178 degree extra wide viewing angle prevents the shifting of colors when viewed from an offset angle, so you always get consistent colors
Choose visible or headless operation
Add --headless to run Chrome without a visible browser window. Headless mode is useful for unattended jobs or environments without a desktop. Leave it out when you need to see the browser while developing or diagnosing navigation and page-state problems. The choice affects how you observe the session; it does not change the basic screenshot workflow.
Navigate to the page and take the screenshot
- Start or reload the MCP server in your client after adding the configuration.
- Use the browser navigation tool exposed by the server to open the target URL.
- Wait for the page to reach the state you want to capture. If the page is still loading or rendering, a screenshot may not reflect its final appearance.
- Invoke
take_screenshot. Choose the output format and any supported size or quality controls that suit your use case. - If you request that the screenshot be written to a file, provide a path local to the browser instance. A path on your client machine may not refer to the same filesystem when the browser runs elsewhere.
The screenshot tool is take_screenshot; navigation and screenshot capture are separate actions. A successful navigation does not itself create an image. When the browser is remote or containerized, treat its filesystem as distinct unless your setup explicitly shares files with the client.
Choose image format and output size
| Setting | What it does | When to use it |
|---|---|---|
--screenshot-format |
Selects png, jpeg, or webp. PNG is the documented default. |
Use PNG when you want the default lossless-style screenshot output; choose JPEG or WebP when their compression is useful to your workflow. |
--screenshot-quality |
Sets compression quality for JPEG or WebP; ignored for PNG. | Adjust only when using JPEG or WebP and you want to trade image fidelity against output size. |
--screenshot-max-width |
Limits the maximum returned width by downscaling larger screenshots while preserving aspect ratio. | Use it to constrain image dimensions and reduce the amount of image data passed onward. |
--screenshot-max-height |
Limits the maximum returned height by downscaling larger screenshots while preserving aspect ratio. | Use it alongside or independently of the width limit when tall pages or large images would create excessive output. |
These controls are configuration flags documented by the project. Check the configuration guide for the exact accepted values and syntax for your installed release. Reducing dimensions or using lossy compression can make an image smaller, but can also remove detail; keep the original-sized PNG when visual fidelity matters more than payload size.
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 →Choose the right browser connection for the job
Server-launched Chrome
Use the server’s default browser launch when you want an isolated run and do not need a page already open in your personal session. It avoids depending on a pre-existing debugging endpoint and reduces the chance of exposing unrelated signed-in tabs to the agent.
Rank #3
- Clear visuals. Fluid motion: A 144Hz refresh rate and 1ms MPRT deliver smooth, tear‑free motion across work, gaming, and streaming for clearer, more fluid viewing.
- Eye comfort: TÜV Rheinland 3‑star* certification reduces harmful blue light while preserving stunning color quality without compromise. *TÜV Rheinland 3-star eye comfort certification.
- Wide viewing angle: Get consistent views across a wide 178° /178° viewing angle.
- In-Plane Switching (IPS): See excellent color accuracy and consistency across wide viewing angles with In-plane Switching (IPS) technology.
- Ultra-thin bezels: Maximize your viewing experience with thin bezels.
Existing debuggable browser
Attaching is convenient if a page is already open or the task depends on authentication held by that browser. That convenience has a security cost: the browser’s active account state, cookies, and other data enter the automation context. Give access only to a trusted MCP client and agent.
Chrome DevTools MCP’s advanced-use guidance warns that an open remote-debugging port can allow local applications to connect to and control the browser. Avoid leaving sensitive sites open while debugging is enabled, and close the debugging setup when finished. Do not expose a debugging endpoint to an untrusted network.
Troubleshooting common capture problems
The client does not show Chrome DevTools MCP tools
Check that the server entry is in the configuration file used by that particular client, that the JSON is valid, and that the client was reloaded after the change. Confirm that npx can run in the environment where the MCP client starts servers. Review the server startup output for package or connection errors.
Recommended Free Tools
The browser cannot connect
If using --browser-url, check that Chrome is running with remote debugging enabled and that the URL and port match the browser’s actual endpoint. If the browser is remote, 127.0.0.1 refers to the machine or container where the server runs, not necessarily your desktop. For a WebSocket setup, verify the supplied endpoint and network reachability.
Rank #4
- CURVED FOR ENHANCED ENGAGEMENT: An immersive viewing experience with a curved monitor that wraps more closely around your field of vision; It creates a wider view, enhancing depth perception and minimizing peripheral distraction
- SMOOTH PERFORMANCE FOR SEAMLESS CONTENT: Stay in the action when playing games, watching videos, or working on creative projects; The 100Hz refresh rate reduces lag and motion blur so you don't miss a thing in fast-paced moments¹
- MORE GAMING POWER: Gain the edge with optimizable game settings; Color and image contrast can be adjusted to see scenes more vividly and spot enemies hiding in the dark; Game Mode adjusts any game to fill the screen so you can view every detail²
- KEEP IT EASY ON THE EYES: Care for your eyes and stay comfortable, even during long sessions; Advanced eye comfort technology certified by TÜV reduces eye strain by minimizing blue light and reducing irritating screen flicker²
- INCREASED VERSATILITY: Connect to more; Plug devices straight into your monitor for increased flexibility, making your computing environment even more convenient
The screenshot file is missing
Confirm that the requested destination is local to the browser instance. In a remote or containerized setup, the file may have been written inside the browser environment instead of to the client’s local disk. Use an available file-transfer or shared-volume method if you need the image on another machine.
The image is blank or captures the wrong state
Verify that the navigation tool opened the intended URL, then allow the page to render before calling take_screenshot. Pages that depend on scripts, authentication, or delayed content can require additional time. If an existing browser is involved, confirm that it is the expected session and tab rather than assuming the client is attached to the one you had in mind.
The image is too large or looks degraded
For large output, set maximum width or height so the server downsizes the result while preserving its aspect ratio. If using JPEG or WebP, adjust the quality setting; quality has no effect on PNG. If text or fine details are hard to inspect, increase the output dimensions or use PNG instead of stronger lossy compression.
Performance, reliability, and cost considerations
The documented output controls offer practical ways to reduce screenshot size and downstream context use: choose JPEG or WebP when suitable, set a quality level for those formats, and cap maximum dimensions. Those changes reduce detail as well as payload, so use them according to the purpose of the capture. The documentation cited here does not establish universal capture-speed, reliability, or cost figures; actual results depend on the page, browser environment, and client setup.
Best Value
- 【INTEGRATED SPEAKERS】Whether you're at work or in the midst of an intense gaming session, our built-in speakers provide rich and seamless audio, all while keeping your desk clutter-free.
- 【EASY ON THE EYES】 Protect your eyes and enhance your comfort with Blue-Light Shift technology. This feature reduces harmful blue light emissions from your screen, helping to alleviate eye strain during long hours of use and promoting healthier viewing habits.
- 【WIDEN YOUR PERSPECTIVE】Our sleek minimal bezel design ensures undivided attention. The nearly bezel-free display seamlessly connects in a dual monitor arrangement, delivering an unobstructed view that lets you focus on more at once, completely distraction-free.
For repeatable automation, use a known browser connection mode and keep the server configuration aligned with the installed release. Treat attachment to an existing authenticated browser as a privileged operation, not just a convenience toggle.
Or skip the browser setup
If you only need a screenshot from a URL, ScreenshotNeo offers a one-request alternative. It is a website screenshot API and MCP server for developers. Its clean-shot flow accepts cookie and consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; those steps can be disabled. Only clean shots are billed, with response headers identifying the page verdict and billing status.
Here is a cURL request that saves a WebP screenshot of Stripe; replace the URL with the page you need and use your API key. See the ScreenshotNeo API documentation for 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 also has an MCP server with take_screenshot, get_page_info, and capture_pdf tools for AI agents using Claude, Cursor, or another MCP client. Bot checks, blank pages, timeouts, failed loads, and cache hits cost nothing. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000.
Sign up for ScreenshotNeo’s free plan to try 1,000 screenshots a month without a card.
Frequently Asked Questions
Can I use this workflow with Microsoft Edge?
Microsoft Learn documents Chromium-based Microsoft Edge and WebView2 as browser connection targets for Chrome DevTools MCP; the main setup described here is centered on Chrome.
Does --screenshot-quality change PNG output?
No. The documented quality setting applies to JPEG and WebP and is ignored for PNG.
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.

