# Chrome Devtools MCP server

Agent View of the PolicyLayer registry record for Chrome Devtools: identity, probed posture, risk grade, and all 50 tools classified. HTML page: https://policylayer.com/tools/async23-chrome-devtools-mcp

## Facts

- Server id: `@async23/chrome-devtools-mcp`
- Install: `npx -y @async23/chrome-devtools-mcp`
- Homepage: https://github.com/Async23/chrome-devtools-mcp
- Registry record: grade F, identity unverified
- Lifecycle: active
- Rate-limited: no
- Tools: 50
- Tool categories present: Destructive, Execute, Read, Write
- Tags: async23 chrome devtools mcp, admin, automation
- Record last modified: 2026-08-20T15:05:31.295Z

## Tools (50)

| Tool | Category | Risk | Record |
| --- | --- | --- | --- |
| `close_heapsnapshot` | Destructive | Critical | https://policylayer.com/tools/async23-chrome-devtools-mcp/close-heapsnapshot.md |
| `close_page` | Destructive | Critical | https://policylayer.com/tools/async23-chrome-devtools-mcp/close-page.md |
| `uninstall_extension` | Destructive | Critical | https://policylayer.com/tools/async23-chrome-devtools-mcp/uninstall-extension.md |
| `click` | Execute | High | https://policylayer.com/tools/async23-chrome-devtools-mcp/click.md |
| `click_at` | Execute | High | https://policylayer.com/tools/async23-chrome-devtools-mcp/click-at.md |
| `drag` | Execute | High | https://policylayer.com/tools/async23-chrome-devtools-mcp/drag.md |
| `emulate` | Execute | High | https://policylayer.com/tools/async23-chrome-devtools-mcp/emulate.md |
| `evaluate` | Execute | High | https://policylayer.com/tools/async23-chrome-devtools-mcp/evaluate.md |
| `evaluate_script` | Execute | High | https://policylayer.com/tools/async23-chrome-devtools-mcp/evaluate-script.md |
| `execute_3p_developer_tool` | Execute | High | https://policylayer.com/tools/async23-chrome-devtools-mcp/execute-3p-developer-tool.md |
| `execute_webmcp_tool` | Execute | High | https://policylayer.com/tools/async23-chrome-devtools-mcp/execute-webmcp-tool.md |
| `fill_form` | Execute | High | https://policylayer.com/tools/async23-chrome-devtools-mcp/fill-form.md |
| `handle_dialog` | Execute | High | https://policylayer.com/tools/async23-chrome-devtools-mcp/handle-dialog.md |
| `hover` | Execute | High | https://policylayer.com/tools/async23-chrome-devtools-mcp/hover.md |
| `install_extension` | Execute | High | https://policylayer.com/tools/async23-chrome-devtools-mcp/install-extension.md |
| `lighthouse_audit` | Execute | High | https://policylayer.com/tools/async23-chrome-devtools-mcp/lighthouse-audit.md |
| `navigate` | Execute | High | https://policylayer.com/tools/async23-chrome-devtools-mcp/navigate.md |
| `performance_start_trace` | Execute | High | https://policylayer.com/tools/async23-chrome-devtools-mcp/performance-start-trace.md |
| `performance_stop_trace` | Execute | High | https://policylayer.com/tools/async23-chrome-devtools-mcp/performance-stop-trace.md |
| `press_key` | Execute | High | https://policylayer.com/tools/async23-chrome-devtools-mcp/press-key.md |
| `reload_extension` | Execute | High | https://policylayer.com/tools/async23-chrome-devtools-mcp/reload-extension.md |
| `resize_page` | Execute | High | https://policylayer.com/tools/async23-chrome-devtools-mcp/resize-page.md |
| `screencast_stop` | Execute | High | https://policylayer.com/tools/async23-chrome-devtools-mcp/screencast-stop.md |
| `select_page` | Execute | High | https://policylayer.com/tools/async23-chrome-devtools-mcp/select-page.md |
| `trigger_extension_action` | Execute | High | https://policylayer.com/tools/async23-chrome-devtools-mcp/trigger-extension-action.md |
| `type_text` | Execute | High | https://policylayer.com/tools/async23-chrome-devtools-mcp/type-text.md |
| `wait_for` | Execute | High | https://policylayer.com/tools/async23-chrome-devtools-mcp/wait-for.md |
| `compare_heapsnapshots` | Read | Low | https://policylayer.com/tools/async23-chrome-devtools-mcp/compare-heapsnapshots.md |
| `get_console_message` | Read | Low | https://policylayer.com/tools/async23-chrome-devtools-mcp/get-console-message.md |
| `get_heapsnapshot_class_nodes` | Read | Low | https://policylayer.com/tools/async23-chrome-devtools-mcp/get-heapsnapshot-class-nodes.md |
| `get_heapsnapshot_details` | Read | Low | https://policylayer.com/tools/async23-chrome-devtools-mcp/get-heapsnapshot-details.md |
| `get_heapsnapshot_dominators` | Read | Low | https://policylayer.com/tools/async23-chrome-devtools-mcp/get-heapsnapshot-dominators.md |
| `get_heapsnapshot_duplicate_strings` | Read | Low | https://policylayer.com/tools/async23-chrome-devtools-mcp/get-heapsnapshot-duplicate-strings.md |
| `get_heapsnapshot_edges` | Read | Low | https://policylayer.com/tools/async23-chrome-devtools-mcp/get-heapsnapshot-edges.md |
| `get_heapsnapshot_retainers` | Read | Low | https://policylayer.com/tools/async23-chrome-devtools-mcp/get-heapsnapshot-retainers.md |
| `get_heapsnapshot_retaining_paths` | Read | Low | https://policylayer.com/tools/async23-chrome-devtools-mcp/get-heapsnapshot-retaining-paths.md |
| `get_heapsnapshot_summary` | Read | Low | https://policylayer.com/tools/async23-chrome-devtools-mcp/get-heapsnapshot-summary.md |
| `get_network_request` | Read | Low | https://policylayer.com/tools/async23-chrome-devtools-mcp/get-network-request.md |
| `get_tab_id` | Read | Low | https://policylayer.com/tools/async23-chrome-devtools-mcp/get-tab-id.md |
| `list_3p_developer_tools` | Read | Low | https://policylayer.com/tools/async23-chrome-devtools-mcp/list-3p-developer-tools.md |
| `list_extensions` | Read | Low | https://policylayer.com/tools/async23-chrome-devtools-mcp/list-extensions.md |
| `list_network_requests` | Read | Low | https://policylayer.com/tools/async23-chrome-devtools-mcp/list-network-requests.md |
| `list_pages` | Read | Low | https://policylayer.com/tools/async23-chrome-devtools-mcp/list-pages.md |
| `list_webmcp_tools` | Read | Low | https://policylayer.com/tools/async23-chrome-devtools-mcp/list-webmcp-tools.md |
| `performance_analyze_insight` | Read | Low | https://policylayer.com/tools/async23-chrome-devtools-mcp/performance-analyze-insight.md |
| `screenshot` | Read | Low | https://policylayer.com/tools/async23-chrome-devtools-mcp/screenshot.md |
| `take_heapsnapshot` | Read | Low | https://policylayer.com/tools/async23-chrome-devtools-mcp/take-heapsnapshot.md |
| `take_snapshot` | Read | Low | https://policylayer.com/tools/async23-chrome-devtools-mcp/take-snapshot.md |
| `fill` | Write | Medium | https://policylayer.com/tools/async23-chrome-devtools-mcp/fill.md |
| `upload_file` | Write | Medium | https://policylayer.com/tools/async23-chrome-devtools-mcp/upload-file.md |

## Tool descriptions

- `close_heapsnapshot` — Closes a previously loaded memory heapsnapshot, freeing its memory.
- `close_page` — Closes the page by its index. The last open page cannot be closed.
- `uninstall_extension` — Uninstalls a Chrome extension by its ID.
- `click` — Clicks on the provided element
- `click_at` — Clicks at the provided coordinates
- `drag` — Drag an element onto another element
- `emulate` — Emulates various features on the selected page.
- `evaluate` — Evaluates a JavaScript script
- `evaluate_script` — Evaluate a JavaScript function inside the currently selected page${cliArgs?.categoryExtensions ?
- `execute_3p_developer_tool` — Executes a tool exposed by the page.
- `execute_webmcp_tool` — Executes a WebMCP tool exposed by the page.
- `fill_form` — Fill out multiple form elements (inputs, selects, checkboxes, radios) at once. ALWAYS prefer this tool over multiple individual
- `handle_dialog` — If a browser dialog was opened, use this command to handle it
- `hover` — Hover over the provided element
- `install_extension` — Installs a Chrome extension from the given path.
- `lighthouse_audit` — Get Lighthouse score and reports for accessibility, SEO, best practices, and agentic browsing. This excludes performance. For performance audits, run ${startTrace.name}
- `navigate` — Loads a URL
- `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.
- `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).
- `reload_extension` — Reloads an unpacked Chrome extension by its ID.
- `resize_page` — Resizes the selected page
- `screencast_stop` — Stops the active screencast recording on the selected page.
- `select_page` — Select a page as a context for future tool calls.
- `trigger_extension_action` — Triggers the default action of an extension by its ID.
- `type_text` — Type text using keyboard into a previously focused input
- `wait_for` — Wait for the specified text to appear on the selected page.
- `compare_heapsnapshots` — Loads two memory heapsnapshots and returns the comparison. If classIndex is provided, returns detailed diff for that class, otherwise returns summary diff.
- `get_console_message` — Gets a console message by its ID. You can get all messages by calling ${LIST_CONSOLE_MESSAGES_TOOL_NAME}.
- `get_heapsnapshot_class_nodes` — Loads a memory heapsnapshot and returns instances of a specific class with their IDs.
- `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_dominators` — Loads a memory heapsnapshot and returns the dominator chain for a specific node ID. This helps to identify which objects are keeping the target node alive.
- `get_heapsnapshot_duplicate_strings` — Loads a memory heapsnapshot and returns duplicate strings grouped by their value.
- `get_heapsnapshot_edges` — Loads a memory heapsnapshot and returns outgoing edges (references) for a specific node ID.
- `get_heapsnapshot_retainers` — Loads a memory heapsnapshot and returns retainers for a specific node ID.
- `get_heapsnapshot_retaining_paths` — Loads a memory heapsnapshot and returns retaining paths for a specific node ID. This helps to understand why a node is not being garbage collected.
- `get_heapsnapshot_summary` — Loads a memory heapsnapshot and returns snapshot summary stats.
- `get_network_request` — Gets a network request by an optional reqid, if omitted returns the currently selected request in the DevTools Network panel.
- `get_tab_id` — Get the tab ID of the page
- `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
- `list_extensions` — Lists all the Chrome extensions installed in the browser. This includes their name, ID, version, and enabled status.
- `list_network_requests` — List all requests for the currently selected page since the last navigation.
- `list_pages` — Get a list of pages${args?.categoryExtensions ?
- `list_webmcp_tools` — Lists all WebMCP tools the page exposes.
- `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.
- `screenshot` — Takes a screenshot
- `take_heapsnapshot` — Capture a heap snapshot of the currently selected page. Use to analyze the memory distribution of JavaScript objects and debug memory leaks.
- `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 sna…
- `fill` — Type text into an input, text area or select an option from a <select> element.
- `upload_file` — Upload a file through a provided element.

## Related servers

- UnClick (1662 tools) — https://policylayer.com/tools/io-github-malamutemayhem-unclick-mcp-server.md
- Delx Mcp A2a (1082 tools) — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a.md
- Delx Protocol — Agent Recovery & Continuity (1076 tools) — https://policylayer.com/tools/io-github-davidmosiah-delx-protocol.md
- Nodebench (824 tools) — https://policylayer.com/tools/io-github-homenshum-nodebench.md
- MCP Framework Personal (811 tools) — https://policylayer.com/tools/inggerman-mcps.md
- Delx MCP Server (740 tools) — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-server.md
- Binance MCP Server (734 tools) — https://policylayer.com/tools/nirholas-binance-mcp.md
- Eda Agent (726 tools) — https://policylayer.com/tools/eda-agent.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=async23-chrome-devtools-mcp · API: https://policylayer.com/registry/api · Recommended policies for every tool: https://policylayer.com/policies/async23-chrome-devtools-mcp
