# browser_snapshot

Get AI-optimized accessibility tree snapshot with element refs (@e1, @e2, etc.) Use when native WebFetch is wrong because you need real browser automation — JS-heavy SPA scraping, login flows with cookie reuse, replay against DOM-drifted versions, AIDefence PII gating before content reaches Claude. For static HTML pages, native WebFetch is faster and free.

Agent View of the PolicyLayer registry record for `browser_snapshot`. HTML page: https://policylayer.com/tools/io-github-ruvnet-claude-flow/browser-snapshot

## Facts

- Tool: `browser_snapshot`
- Server: Claude Flow (`claude-flow`) — https://policylayer.com/tools/io-github-ruvnet-claude-flow.md
- Install: `npx -y claude-flow`
- Homepage: https://github.com/ruvnet/claude-flow
- 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": "browser_snapshot",
    "arguments": {}
  }
}
```

## Why browser_snapshot is rated Low

The tool primarily reads/captures browser state (accessibility tree, DOM snapshot). However, it involves real browser automation with cookie reuse and login flow support, which could expose sensitive session data or bypass PII controls. No explicit write or destructive action is described, but the browser automation context and login/cookie handling elevate severity to medium.

From the tool's own definition: "'Get AI-optimized accessibility tree snapshot' — retrieves a snapshot of the browser DOM/accessibility tree; 'JS-heavy SPA scraping, login flows with cookie reuse' — reads page content via real browser automation"

## Use case

AI agents call browser_snapshot to retrieve information from Claude Flow 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 Claude Flow:

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

## Other tools on Claude Flow (495)

- `agent_terminate` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/agent-terminate.md
- `agentdb_batch` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/agentdb-batch.md
- `agentdb_causal-edge-delete` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/agentdb-causal-edge-delete.md
- `agentdb_causal-node-delete` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/agentdb-causal-node-delete.md
- `agentdb_hierarchical-delete` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/agentdb-hierarchical-delete.md
- `agenticow_rollback` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/agenticow-rollback.md
- `autopilot_reset` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/autopilot-reset.md
- `config_reset` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/config-reset.md
- `federation_wg_keyrotate` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/federation-wg-keyrotate.md
- `hooks_codemod` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/hooks-codemod.md
- `hooks_intelligence-reset` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/hooks-intelligence-reset.md
- `hooks_worker-cancel` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/hooks-worker-cancel.md
- `iot_device_remove` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/iot-device-remove.md
- `iot_firmware_rollout_rollback` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/iot-firmware-rollout-rollback.md
- `iot_fleet_delete` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/iot-fleet-delete.md
- `iot_fleet_remove_device` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/iot-fleet-remove-device.md
- `managed_agent_terminate` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/managed-agent-terminate.md
- `memory_delete` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/memory-delete.md
- `policy_revoke` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/policy-revoke.md
- `ruvector_delete` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/ruvector-delete.md
- `session_delete` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/session-delete.md
- `system_reset` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/system-reset.md
- `task_cancel` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/task-cancel.md
- `teammate_cleanup` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/teammate-cleanup.md
- `wasm_agent_reset` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/wasm-agent-reset.md
- `wasm_gallery_remove_custom` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/wasm-gallery-remove-custom.md
- `workflow_cancel` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/workflow-cancel.md
- `workflow_delete` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/workflow-delete.md
- `agent_pool` — Execute — https://policylayer.com/tools/io-github-ruvnet-claude-flow/agent-pool.md
- `agent_spawn` — Execute — https://policylayer.com/tools/io-github-ruvnet-claude-flow/agent-spawn.md
- …and 465 more: https://policylayer.com/tools/io-github-ruvnet-claude-flow.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=io-github-ruvnet-claude-flow · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/io-github-ruvnet-claude-flow
