servers / chrome-devtools-mcp
chrome-devtools-mcp
communityunknownlocalwrite capablehealthy
Chrome DevTools for coding agents
01Tools · 29
How to read this: tool names here are observed from a live tools/list handshake. The Risk label is a heuristic inferred from the tool name (write/destructive verbs), not from executing the tool — a conservative guess, not a verified capability. We never escalate risk from a description. Found one that's wrong? Tell us — we fix on report.
| Tool | Risk | Side effects | Approval |
|---|---|---|---|
| upload_file Upload a file through a provided element. | write | true | unknown |
| take_snapshot Take a text snapshot of the currently selected page based on the a11y tree. The snapshot lists page elements along with a unique
identifier (uid). Always use the latest snapshot. Prefer taking a snapshot over taking a screenshot. The snapshot indicates the element selected
in the DevTools Elements panel (if any). | unknown | unknown | unknown |
| type_text Type text using keyboard into a previously focused input | unknown | unknown | unknown |
| fill Type text into an input, text area or select an option from a <select> element. | unknown | unknown | unknown |
| performance_stop_trace Stop the active performance trace recording on the selected webpage. | unknown | unknown | unknown |
| list_pages Get a list of pages open in the browser. | read | false | unknown |
| click Clicks on the provided element | unknown | unknown | unknown |
| resize_page Resizes the selected page's window so that the page has specified dimension | unknown | unknown | unknown |
| performance_analyze_insight Provides more detailed information on a specific Performance Insight of an insight set that was highlighted in the results of a trace recording. | unknown | unknown | unknown |
| select_page Select a page as a context for future tool calls. | unknown | unknown | unknown |
| emulate Emulates various features on the selected page. | unknown | unknown | unknown |
| get_console_message Gets a console message by its ID. You can get all messages by calling list_console_messages. | read | false | unknown |
| evaluate_script Evaluate a JavaScript function inside the currently selected page. Returns the response as JSON, so returned values have to be JSON-serializable. | read | false | unknown |
| get_network_request Gets a network request by an optional reqid, if omitted returns the currently selected request in the DevTools Network panel. | read | false | unknown |
| lighthouse_audit Get Lighthouse score and reports for accessibility, SEO, best practices, and agentic browsing. This excludes performance. For performance audits, run performance_start_trace | read | false | unknown |
| fill_form Fill out multiple form elements (inputs, selects, checkboxes, radios) at once. ALWAYS prefer this tool over multiple individual 'fill' or 'click' calls when interacting with forms. It is significantly faster, more reliable, and reduces turn count. Example: Fill username, password, and check "Remember Me" in one call. | read | false | unknown |
| hover Hover over the provided element | unknown | unknown | unknown |
| take_screenshot Take a screenshot of the page or element. | unknown | unknown | unknown |
| wait_for Wait for the specified text to appear on the selected page. | unknown | unknown | unknown |
| press_key Press a key or key combination. Use this when other input methods like fill() cannot be used (e.g., keyboard shortcuts, navigation keys, or special key combinations). | unknown | unknown | unknown |
| close_page Closes the page by its index. The last open page cannot be closed. | unknown | unknown | unknown |
| list_console_messages List all console messages for the currently selected page since the last navigation. | read | false | unknown |
| navigate_page Go to a URL, or back, forward, or reload. Use project URL if not specified otherwise. | unknown | unknown | unknown |
| take_heapsnapshot Capture a heap snapshot of the currently selected page. Use to analyze the memory distribution of JavaScript objects and debug memory leaks. | unknown | unknown | unknown |
| new_page Open a new tab and load a URL. Use project URL if not specified otherwise. | unknown | unknown | unknown |
| list_network_requests Lists the most recent requests for the currently selected page since the last navigation. | read | false | unknown |
| drag Drag an element onto another element | unknown | unknown | unknown |
| performance_start_trace Start a performance trace on the selected webpage. Use to find frontend performance issues, Core Web Vitals (LCP, INP, CLS), and improve page load speed. | read | false | unknown |
| handle_dialog If a browser dialog was opened, use this command to handle it | unknown | unknown | unknown |
02Install & source
npx -y chrome-devtools-mcp
npx- repohttps://github.com/ChromeDevTools/chrome-devtools-mcp
- packagehttps://www.npmjs.com/package/chrome-devtools-mcp
- homepagehttps://npmjs.org/package/chrome-devtools-mcp
- licenseApache-2.0
- adoption49167 stars · 3426 forks
05Provenance & freshness
sourcesnpm registry [p4] · GitHub repo search [p4]
last_checked2026-08-14 18:14Z
next_check2026-08-14 21:05Z
cadenceevery 3h
verifiedtools_list:passed handshake:passed metadata:passed tools_list:passed handshake:passed metadata:passed tools_list:passed handshake:passed metadata:passed tools_list:passed
index_statusindex — 8 unique facts >= 5
06Badge
Add the “as seen on MCPExplorer” badge to your README.
[](https://mcpexplorer.com/servers/chrome-devtools-mcp)
Next step
This is one server. A loadout combines the right servers, governance, and proven plays for a whole job — assembled deliberately, not tool-dumped.
Explore loadouts →