# compare_heapsnapshots

Loads two memory heapsnapshots and returns the comparison. If classIndex is provided, returns detailed diff for that class, otherwise returns summary diff.

Agent View of the PolicyLayer registry record for `compare_heapsnapshots`. HTML page: https://policylayer.com/tools/async23-chrome-devtools-mcp/compare-heapsnapshots

## Facts

- Tool: `compare_heapsnapshots`
- Server: Chrome Devtools (`@async23/chrome-devtools-mcp`) — https://policylayer.com/tools/async23-chrome-devtools-mcp.md
- Install: `npx -y @async23/chrome-devtools-mcp`
- Homepage: https://github.com/Async23/chrome-devtools-mcp
- Risk category: Read (Low risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Allowed

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "compare_heapsnapshots",
    "arguments": {}
  }
}
```

## Why compare_heapsnapshots is rated Low

Tool reads and analyzes existing heap snapshots without modifying browser state or data.

From the tool's own definition: "Loads two memory heapsnapshots and returns the comparison."

## Use case

AI agents call compare_heapsnapshots to retrieve information from Chrome Devtools without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

## Recommended policy (PolicyLayer)

Verdict: **Allowed**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Chrome Devtools:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "compare_heapsnapshots": {}
  }
}
```

## Other tools on Chrome Devtools (49)

- `close_heapsnapshot` — Destructive — https://policylayer.com/tools/async23-chrome-devtools-mcp/close-heapsnapshot.md
- `close_page` — Destructive — https://policylayer.com/tools/async23-chrome-devtools-mcp/close-page.md
- `uninstall_extension` — Destructive — https://policylayer.com/tools/async23-chrome-devtools-mcp/uninstall-extension.md
- `click` — Execute — https://policylayer.com/tools/async23-chrome-devtools-mcp/click.md
- `click_at` — Execute — https://policylayer.com/tools/async23-chrome-devtools-mcp/click-at.md
- `drag` — Execute — https://policylayer.com/tools/async23-chrome-devtools-mcp/drag.md
- `emulate` — Execute — https://policylayer.com/tools/async23-chrome-devtools-mcp/emulate.md
- `evaluate` — Execute — https://policylayer.com/tools/async23-chrome-devtools-mcp/evaluate.md
- `evaluate_script` — Execute — https://policylayer.com/tools/async23-chrome-devtools-mcp/evaluate-script.md
- `execute_3p_developer_tool` — Execute — https://policylayer.com/tools/async23-chrome-devtools-mcp/execute-3p-developer-tool.md
- `execute_webmcp_tool` — Execute — https://policylayer.com/tools/async23-chrome-devtools-mcp/execute-webmcp-tool.md
- `fill_form` — Execute — https://policylayer.com/tools/async23-chrome-devtools-mcp/fill-form.md
- `handle_dialog` — Execute — https://policylayer.com/tools/async23-chrome-devtools-mcp/handle-dialog.md
- `hover` — Execute — https://policylayer.com/tools/async23-chrome-devtools-mcp/hover.md
- `install_extension` — Execute — https://policylayer.com/tools/async23-chrome-devtools-mcp/install-extension.md
- `lighthouse_audit` — Execute — https://policylayer.com/tools/async23-chrome-devtools-mcp/lighthouse-audit.md
- `navigate` — Execute — https://policylayer.com/tools/async23-chrome-devtools-mcp/navigate.md
- `performance_start_trace` — Execute — https://policylayer.com/tools/async23-chrome-devtools-mcp/performance-start-trace.md
- `performance_stop_trace` — Execute — https://policylayer.com/tools/async23-chrome-devtools-mcp/performance-stop-trace.md
- `press_key` — Execute — https://policylayer.com/tools/async23-chrome-devtools-mcp/press-key.md
- `reload_extension` — Execute — https://policylayer.com/tools/async23-chrome-devtools-mcp/reload-extension.md
- `resize_page` — Execute — https://policylayer.com/tools/async23-chrome-devtools-mcp/resize-page.md
- `screencast_stop` — Execute — https://policylayer.com/tools/async23-chrome-devtools-mcp/screencast-stop.md
- `select_page` — Execute — https://policylayer.com/tools/async23-chrome-devtools-mcp/select-page.md
- `trigger_extension_action` — Execute — https://policylayer.com/tools/async23-chrome-devtools-mcp/trigger-extension-action.md
- `type_text` — Execute — https://policylayer.com/tools/async23-chrome-devtools-mcp/type-text.md
- `wait_for` — Execute — https://policylayer.com/tools/async23-chrome-devtools-mcp/wait-for.md
- `get_console_message` — Read — https://policylayer.com/tools/async23-chrome-devtools-mcp/get-console-message.md
- `get_heapsnapshot_class_nodes` — Read — https://policylayer.com/tools/async23-chrome-devtools-mcp/get-heapsnapshot-class-nodes.md
- `get_heapsnapshot_details` — Read — https://policylayer.com/tools/async23-chrome-devtools-mcp/get-heapsnapshot-details.md
- …and 19 more: https://policylayer.com/tools/async23-chrome-devtools-mcp.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 · Policy library: https://policylayer.com/policies/async23-chrome-devtools-mcp
