This document tracks feature parity between our CDP tools and chrome-devtools-mcp.
| chrome-devtools-mcp | native-devtools-mcp | Notes |
|---|---|---|
take_snapshot |
cdp_take_dom_snapshot |
DOM snapshot of interactive elements with d-prefixed UIDs |
| — | cdp_find_elements |
Search live DOM for interactive elements by text query (preferred over full snapshot) |
click |
cdp_click |
Click by UID, supports double-click |
hover |
cdp_hover |
Hover by UID |
fill |
cdp_fill |
Fill input/textarea/select by UID |
press_key |
cdp_press_key |
Key combos (e.g., Control+A) |
handle_dialog |
cdp_handle_dialog |
Accept/dismiss JS dialogs |
navigate_page |
cdp_navigate |
URL, back, forward, reload |
new_page |
cdp_new_page |
Create new tab |
close_page |
cdp_close_page |
Close tab by index |
wait_for |
cdp_wait_for |
Poll page text until any value appears (optional DOM snapshot via include_snapshot=true) |
list_pages |
cdp_list_pages |
List open tabs |
select_page |
cdp_select_page |
Switch active tab |
evaluate_script |
cdp_evaluate_script |
Run JS with optional UID args |
take_screenshot |
take_screenshot |
Native screenshot (not CDP) |
type_text |
cdp_type_text |
Character-by-character keyboard input into a focused element. Use cdp_fill for bulk form-field entry; use cdp_press_key for single keys and modifier combos. |
drag |
— | Not implemented |
fill_form |
— | Not implemented (use cdp_fill per field) |
upload_file |
— | Not implemented |
emulate |
— | Not implemented (device emulation) |
resize_page |
— | Not implemented |
lighthouse_audit |
— | Not implemented |
take_memory_snapshot |
— | Not implemented |
performance_start_trace |
— | Not implemented |
performance_stop_trace |
— | Not implemented |
performance_analyze_insight |
— | Not implemented |
get_console_message |
— | Not implemented |
list_console_messages |
— | Not implemented |
get_network_request |
— | Not implemented |
list_network_requests |
— | Not implemented |
| — | cdp_connect |
Connect via debugging port (chrome-devtools-mcp auto-connects) |
| — | cdp_disconnect |
Disconnect from browser |
- drag: Uncommon interaction pattern. Can be done via
cdp_evaluate_scriptwith drag events. - fill_form: Convenience wrapper — use
cdp_fillfor each field individually. - upload_file: Requires
DOM.setFileInputFiles— niche use case.
- lighthouse_audit, performance_*, take_memory_snapshot: Performance profiling tools. Out of scope for a general automation MCP.
- emulate, resize_page: Device emulation. Can be done via
cdp_evaluate_scriptif needed.
- get_console_message, list_console_messages: Requires subscribing to
Runtime.consoleAPICalledevents. Potential future addition. - get_network_request, list_network_requests: Requires subscribing to
Network.requestWillBeSentevents. Potential future addition.