1.11.0 → 1.12.0
minor release, 22 October 2026list_console_messages: input schema changed
list_network_requests: input schema changed
MCP servers / chrome-devtools-mcp
4 of its last 4 updates changed what the agent reads: 6 tool descriptions rewritten, up to 1.12.0.
npm package · npm page · recorded on 24 October 2026 on a clean machine with placeholder settings; only tools/list was sent. A changed description is not a vulnerability. Method and limits.
list_console_messages: input schema changed
list_network_requests: input schema changed
Added: screencast_start, screencast_stop
click: input schema changed
close_page: input schema changed
drag: input schema changed
fill: input schema changed
fill_form: input schema changed
get_console_message: input schema changed
get_network_request: input schema changed
handle_dialog: input schema changed
hover: input schema changed
list_console_messages: input schema changed
list_network_requests: input schema changed
list_pages: input schema changed
navigate_page: input schema changed
new_page: input schema changed
performance_analyze_insight: input schema changed
performance_start_trace: input schema changed; new arguments: ignoreCache
performance_stop_trace: input schema changed
press_key: input schema changed
resize_page: input schema changed
select_page: input schema changed
take_heapsnapshot: input schema changed
take_screenshot: input schema changed
take_snapshot: input schema changed
type_text: input schema changed
upload_file: input schema changed
wait_for: input schema changed
Added: get_css_styles
click: input schema changed
close_page: input schema changed
drag: input schema changed
emulate: input schema changed
evaluate_script: input schema changed
fill: input schema changed
fill_form: input schema changed
get_console_message: input schema changed
get_network_request: input schema changed
handle_dialog: input schema changed
hover: input schema changed
lighthouse_audit: input schema changed
list_console_messages: input schema changed
list_network_requests: input schema changed
list_pages: input schema changed
navigate_page: input schema changed
new_page: input schema changed
performance_analyze_insight: input schema changed
performance_start_trace: input schema changed
performance_stop_trace: input schema changed
press_key: input schema changed
resize_page: input schema changed
select_page: input schema changed
take_heapsnapshot: input schema changed
take_screenshot: input schema changed
take_snapshot: input schema changed
type_text: input schema changed
upload_file: input schema changed
wait_for: input schema changed
new_page: input schema changed
Releases tried: 1.8.0 (2026-08-25); 1.9.0 (2026-09-08); 1.10.0 (2026-09-23), did not start; 1.10.1 (2026-09-23); 1.11.0 (2026-10-15); 1.12.0 (2026-10-22).
The pin is the SHA-256 of the tool's name, description and input schema, as verfy.lock records it. The same pin in your lock means your agent reads this exact definition.
| Tool | Description | Pin |
|---|---|---|
| click | Clicks on the provided element | 729d1f456ee6 |
| close_page | Closes the page by its index. The last open page cannot be closed. | c5c4647014b6 |
| drag | Drag an element onto another element | 4050bba1619b |
| emulate | Emulates various features on the target page. Each call replaces all emulation settings (except extraHttpHeaders), so pass all desired settings in a single call. | 576236372f5b |
| evaluate_script | Evaluate JavaScript inside the target page. The source can be provided inline or loaded from a local file. Returns the response as JSON, so returned values have to be JSON-serializable. | 92b0196d08c6 |
| fill | Type text into an input, text area or select an option from a <select> element. | b0dca23d875e |
| 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. | d9affaa309e6 |
| get_console_message | Gets a console message by its ID. You can get all messages by calling list_console_messages. | aa61384dc66c |
| get_css_styles | Retrieve matched CSS rules, inline styles (element.style), inherited styles, custom properties, and cascade wrappers (@layer, @media, @container, @scope) for an element identified by its UID. Rules are ordered from highest to lowest cascade precedence and include source line numbers (e.g. index:196). Active (winning) declarations have no prefix tag, while (losing) overridden declarations are prefixed with [overloaded]. Treat the output as authoritative and complete. Results are paginated (10 rules per page by default); use pageIdx to page through the remaining rules. Requires a UID from take_snapshot. | e9e2e97aa3d9 |
| get_network_request | Gets a network request by an optional reqid, if omitted returns the currently selected request in the DevTools Network panel. Useful for inspecting request headers (including 'Cookie') and response headers (including 'Set-Cookie' and directives). | c71d298b5a81 |
| handle_dialog | If a browser dialog was opened, use this command to handle it | 9bf71e257824 |
| hover | Hover over the provided element | c70027b88dd6 |
| lighthouse_audit | Get Lighthouse scores, failing audits, and the DOM nodes they flag for accessibility, SEO, best practices, and agentic browsing. Full reports are saved to disk. This excludes performance. For performance audits, run performance_start_trace | 7653cafc7d04 |
| list_console_messages | List all console messages for the target page since the last navigation. | d710a164b3ae |
| list_network_requests | Lists the most recent requests for the target page since the last navigation. | fa632627158e |
| list_pages | Get a list of pages open in the browser. | 429bcc64ef53 |
| navigate_page | Go to a URL, or back, forward, or reload. Use project URL if not specified otherwise. | 28f96ce17955 |
| new_page | Open a new tab and load a URL. Use project URL if not specified otherwise. | 0b36f9f0b422 |
| 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. | fd6f54b399c2 |
| performance_start_trace | Start a performance trace on the target webpage. Use to find frontend performance issues, Core Web Vitals (LCP, INP, CLS), and improve page load speed. | d3f90933070d |
| performance_stop_trace | Stop the active performance trace recording on the target webpage. | 94a75221c20d |
| 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). | fca156520e74 |
| resize_page | Resizes the page's window so that the page has specified dimension | 45e9f1f14ab9 |
| screencast_start | Starts recording a screencast (video) of the target page. | cbf045f14532 |
| screencast_stop | Stops the active screencast recording on the target page. | f46190e2e7c0 |
| select_page | Select a page as a context for future tool calls. | 0a2036edacbf |
| take_heapsnapshot | Capture a heap snapshot of the target page. Use to analyze the memory distribution of JavaScript objects and debug memory leaks. | fcb6a6e2c70d |
| take_screenshot | Take a screenshot of the page or element. | 51377d85ae3d |
| take_snapshot | Take a text snapshot of the target 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). | 4eecfdaa1f37 |
| type_text | Type text using keyboard into a previously focused input | e00ac46e524c |
| upload_file | Upload a file through a provided element. | 36fd5fc62f5c |
| wait_for | Wait for the specified text to appear on the selected page. By default, hidden text is also matched. Set visible to true to wait until the matched text is visible. | edb8e8fc3868 |
Pin what chrome-devtools-mcp serves you today, commit the lock, and a pull request fails when a tool changes, with the text before and after. Pin the package version in your MCP config as well.
$ pip install verfy
$ verfy lock check --update # shows each tool, then writes verfy.lock
$ git add verfy.lock# .github/workflows/verfy.yml, after actions/checkout
- uses: anvarbekovjavohir277-dot/verfy-action@v1Maintain this server? Run the same check on your releases and add the Locked by Verfy badge to your README.