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 |
|---|---|---|---|
| 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 |
| upload_file Upload a file through a provided element. | write | true | 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 |
| close_page Closes the page by its index. The last open page cannot be closed. | unknown | unknown | unknown |
| type_text Type text using keyboard into a previously focused input | unknown | unknown | 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 |
| navigate_page Go to a URL, or back, forward, or reload. Use project URL if not specified otherwise. | unknown | unknown | unknown |
| take_screenshot Take a screenshot of the page or element. | unknown | unknown | unknown |
| list_console_messages List all console messages for the currently selected page since the last navigation. | 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 |
| 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 |
| new_page Open a new tab and load a URL. Use project URL if not specified otherwise. | unknown | unknown | unknown |
| resize_page Resizes the selected page's window so that the page has specified dimension | unknown | unknown | 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 |
| click Clicks on the provided element | 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 |
| 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 |
| get_console_message Gets a console message by its ID. You can get all messages by calling list_console_messages. | read | false | unknown |
| emulate Emulates various features on the selected page. | unknown | unknown | unknown |
| list_network_requests Lists the most recent requests for the currently selected page since the last navigation. | read | false | unknown |
| hover Hover over the provided element | unknown | unknown | unknown |
| wait_for Wait for the specified text to appear on the selected page. | 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 |
| 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
- adoption49260 stars · 3430 forks
05Provenance & freshness
sourcesnpm registry [p4] · GitHub repo search [p4]
last_checked2026-08-16 18:54Z
next_check2026-08-16 21:50Z
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 →