io.github.ChromeDevTools/chrome-devtools-mcp
MCP server for Chrome DevTools
Versions
1.0.1 latest Tools 48
upload_file Upload a file through a provided element.
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).
wait_for Wait for the specified text to appear on the selected page.
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.
performance_stop_trace Stop the active performance trace recording on the selected webpage.
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.
evaluate_script Evaluate a JavaScript function inside the currently selected page${cliArgs?.categoryExtensions ? ' or service worker' : ''}. Returns the response as JSON, so returned values have to be JSON-serializable.
take_screenshot Take a screenshot of the page or element.
lighthouse_audit Get Lighthouse score and reports for accessibility, SEO, best practices, and agentic browsing. This excludes performance. For performance audits, run ${startTrace.name}
list_network_requests List all requests for the currently selected page since the last navigation.
get_network_request Gets a network request by an optional reqid, if omitted returns the currently selected request in the DevTools Network panel.
click Clicks on the provided element
click_at Clicks at the provided coordinates
hover Hover over the provided element
fill Type text into an input, text area or select an option from a <select> element.
type_text Type text using keyboard into a previously focused input
drag Drag an element onto another element
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.
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).
list_3p_developer_tools Lists all third-party developer tools the page exposes for providing runtime information. Third-party developer tools can be called via the 'execute_3p_developer_tool()' MCP tool. Alternatively, third-party developer tools can be executed by calling 'evaluate_script' and adding the following command to the script: 'window.__dtmcp.executeTool(toolName, params)' This might be helpful when the third-party developer tools return non-serializable values or when composing third-party developer tools with additional functionality.
execute_3p_developer_tool Executes a tool exposed by the page.
list_pages Get a list of pages${args?.categoryExtensions ? ' including extension service workers' : ''} open in the browser.
select_page Select a page as a context for future tool calls.
close_page Closes the page by its index. The last open page cannot be closed.
new_page Open a new tab and load a URL. Use project URL if not specified otherwise.
navigate_page Go to a URL, or back, forward, or reload. Use project URL if not specified otherwise.
resize_page Resizes the selected page's window so that the page has specified dimension
handle_dialog If a browser dialog was opened, use this command to handle it
get_tab_id Get the tab ID of the page
install_extension Installs a Chrome extension from the given path.
uninstall_extension Uninstalls a Chrome extension by its ID.
list_extensions Lists all the Chrome extensions installed in the browser. This includes their name, ID, version, and enabled status.
reload_extension Reloads an unpacked Chrome extension by its ID.
trigger_extension_action Triggers the default action of an extension by its ID.
list_webmcp_tools Lists all WebMCP tools the page exposes.
execute_webmcp_tool Executes a WebMCP tool exposed by the page.
emulate Emulates various features on the selected page.
take_heapsnapshot Capture a heap snapshot of the currently selected page. Use to analyze the memory distribution of JavaScript objects and debug memory leaks.
get_heapsnapshot_summary Loads a memory heapsnapshot and returns snapshot summary stats.
get_heapsnapshot_details Loads a memory heapsnapshot and returns all available information including statistics, static data, and aggregated node information. Supports pagination for aggregates.
get_heapsnapshot_class_nodes Loads a memory heapsnapshot and returns instances of a specific class with their IDs.
get_heapsnapshot_retainers Loads a memory heapsnapshot and returns retainers for a specific node ID.
screencast_start Starts recording a screencast (video) of the selected page in specified format.
screencast_stop Stops the active screencast recording on the selected page.
get_console_message Gets a console message by its ID. You can get all messages by calling ${LIST_CONSOLE_MESSAGES_TOOL_NAME}.
screenshot Takes a screenshot
navigate Loads a URL
evaluate Evaluates a JavaScript script
Permissions 4
network medium filesystem low shell high env_vars low