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 |
|---|---|---|---|
| click Clicks on the provided element | unknown | unknown | unknown |
| close_page Closes the page by its index. The last open page cannot be closed. | unknown | unknown | unknown |
| drag Drag an element onto another element | unknown | unknown | unknown |
| emulate Emulates various features on the selected page. | unknown | unknown | 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 |
| fill Type text into an input, text area or select an option from a <select> element. | 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 |
| get_console_message Gets a console message by its ID. You can get all messages by calling list_console_messages. | 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 |
| handle_dialog If a browser dialog was opened, use this command to handle it | unknown | unknown | unknown |
| hover Hover over the provided element | unknown | unknown | 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 |
| list_console_messages List all console messages for the currently selected page since the last navigation. | read | false | unknown |
| list_network_requests Lists the most recent requests for the currently selected page since the last navigation. | read | false | unknown |
| list_pages Get a list of pages open in the browser. | read | false | unknown |
| navigate_page Go to a URL, or back, forward, or reload. Use project URL if not specified otherwise. | unknown | unknown | unknown |
| new_page Open a new tab and load a URL. Use project URL if not specified otherwise. | 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 |
| 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 |
| performance_stop_trace Stop the active performance trace recording on the selected webpage. | 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 |
| resize_page Resizes the selected page's window so that the page has specified dimension | unknown | unknown | unknown |
| select_page Select a page as a context for future tool calls. | 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 |
| take_screenshot Take a screenshot of the page or element. | 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 |
| type_text Type text using keyboard into a previously focused input | unknown | unknown | unknown |
| upload_file Upload a file through a provided element. | write | true | unknown |
| wait_for Wait for the specified text to appear on the selected page. | 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
- adoption52825 stars · 5275 forks
05Provenance & freshness
sourcesnpm registry [p4] · GitHub repo search [p4]
last_checked2026-10-01 07:11Z
next_check2026-10-01 10:11Z
cadenceevery 3h
verifiedmetadata:passed metadata:passed metadata:passed metadata:passed metadata:passed metadata:passed metadata:passed metadata:passed metadata:passed metadata: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 →