Chrome Devtools Advanced MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| add_custom_header_to_requestA | Add a custom header to matching requests before sending. Simpler alternative to intercept_and_modify_traffic with flat parameters. |
| intercept_and_modify_trafficA | Intercept and modify network requests in real-time before sending. Preserves cookies and authentication. Supports header/body/method changes. |
| capture_network_on_actionA | Capture network requests triggered by an action (click, navigate, type). Returns full request details including URL, headers, body, and method. |
| navigate_and_extract_contentB | Navigate to URL and extract page content (text, links, images, metadata) in one call. |
| test_api_endpointC | Send HTTP request to an API endpoint and capture the response. Handles auth cookies automatically. |
| simulate_user_journeyC | Execute a sequence of user actions (click, type, wait, navigate, screenshot) automatically. |
| extract_api_dataC | Navigate to URL and capture all API/XHR responses. Returns parsed JSON data. |
| manage_browser_sessionB | Save, load, clear, or export browser session (cookies + storage) in one call. |
| test_with_different_cookiesA | Test a page with modified cookies. Saves original cookies, applies test cookies, optionally restores. |
| launch_chrome_with_profileA | Launch Google Chrome with your real profile (cookies, extensions, sessions). IMPORTANT: Only call this tool when the user EXPLICITLY asks to open or launch Chrome. Do NOT call it automatically or proactively. |
| close_browserA | Close the Playwright-managed browser and release all connections. Only works for browsers launched by this MCP. |
| get_browser_statusA | Check browser connection status, CDP port, and whether managed by Playwright or external. |
| browser_actionA | Control browser navigation: navigate to URL, go back/forward, or reload the page. |
| manage_tabsA | Manage browser tabs: list, create, close, switch, or get current URL. Tab ID required for close/switch. |
| wait_for_load_stateA | Wait for page to reach a specific load state. Checks current readyState first, only waits for event if page has not reached the target state yet. States: load (fully loaded), domcontentloaded (HTML ready), networkidle (no network activity for 500ms). |
| perform_interactionA | Interact with page elements: click, type into inputs, select dropdown options, scroll, or wait for selector. Use get_html first to verify selectors. |
| extract_element_dataA | Extract text content or HTML attributes from page elements using CSS selectors. |
| execute_scriptB | Execute JavaScript in the page context. Must include a return statement. Set awaitPromise=true for async code. |
| get_cookiesA | Get browser cookies for the current page or a specific URL. |
| set_cookieA | Set a browser cookie with name, value, domain, and optional flags (secure, httpOnly, sameSite). |
| delete_cookieA | Delete a specific cookie by name. Use get_cookies first to find exact name and domain. |
| clear_cookiesB | Clear all cookies for a specific domain or all domains. |
| get_local_storageA | Get all localStorage key-value pairs for the current domain. |
| set_local_storageA | Set a localStorage key-value pair. Use JSON.stringify for object values. |
| clear_local_storageB | Clear all localStorage items for the current domain. |
| export_sessionA | Export complete session state (cookies, localStorage, sessionStorage) as JSON for later import. |
| import_sessionA | Import previously exported session data to restore cookies and storage. Navigate after import to activate. |
| screenshotB | Capture a PNG/JPEG screenshot of the full page or a specific element/area. |
| get_htmlA | Extract HTML source from the page or a specific CSS selector. Output truncated at 50k chars. |
| print_to_pdfC | Print the current page to PDF |
| get_page_metricsC | Get layout metrics of the page |
| get_accessibility_treeB | Get the accessibility tree of the page (ARIA roles, labels, interactive elements). |
| show_advanced_toolsA | Unlock advanced tools: network interception, request replay, API mocking, WebSocket monitoring, HAR recording, accessibility, anti-detection, service workers, and more. |
| hide_advanced_toolsA | Hide advanced tools to simplify the tool list. Call show_advanced_tools to unlock them again. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 34 tools
Several tools have overlapping purposes, such as add_custom_header_to_request vs intercept_and_modify_traffic, export_session/import_session vs manage_browser_session's save/load, and capture_network_on_action vs extract_api_data. Descriptions clarify specific use cases, but agents may still hesitate when choosing between similar options.
Most tools follow a consistent verb_noun pattern (get_cookies, set_cookie, clear_cookies, navigate_and_extract_content). Minor deviations like 'screenshot' (bare noun) and 'browser_action' (noun_noun) are rare, so the overall convention remains predictable.
With 34 tools, the set is too large and unwieldy. The server even includes show_advanced_tools/hide_advanced_tools to manage visibility, acknowledging the overwhelming surface. This exceeds the practical threshold for a coherent toolset.
The toolset covers an impressively broad range of browser automation: navigation, interaction, content extraction, cookies, storage, session management, network interception, performance metrics, and accessibility. Minor gaps exist, such as no tool to remove a single localStorage key or capture console logs, but core workflows are well supported.