# search_elements

Search for DOM elements matching a query string. Args: query: Search query (text content, tag name, or attribute) Returns: Search results with matching elements

Agent View of the PolicyLayer registry record for `search_elements`. HTML page: https://policylayer.com/tools/benjaminr-chrome-devtools-mcp/search-elements

## Facts

- Tool: `search_elements`
- Server: Chrome Devtools (`benjaminr/chrome-devtools-mcp`) — https://policylayer.com/tools/benjaminr-chrome-devtools-mcp.md
- Homepage: https://github.com/benjaminr/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": "search_elements",
    "arguments": {}
  }
}
```

## Why search_elements is rated Low

This tool retrieves and queries DOM elements without side effects. It performs a search operation that returns matching results, which is characteristic of Read category tools. The operation is non-destructive and involves no state changes, code execution, or external operations. The low severity reflects minimal blast radius—misuse would only return DOM information already accessible within the page context.

From the tool's own definition: "Tool description states it 'Search[es] for DOM elements matching a query string' and 'Returns: Search results with matching elements'. The parameters indicate a read-only query operation with no modification or execution capabilities."

## Use case

AI agents call search_elements 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": {
    "search_elements": {}
  }
}
```

## Other tools on Chrome Devtools (46)

- `clear_all_cookies` — Destructive — https://policylayer.com/tools/benjaminr-chrome-devtools-mcp/clear-all-cookies.md
- `clear_storage_for_origin` — Destructive — https://policylayer.com/tools/benjaminr-chrome-devtools-mcp/clear-storage-for-origin.md
- `clear_console` — Execute — https://policylayer.com/tools/benjaminr-chrome-devtools-mcp/clear-console.md
- `connect_to_browser` — Execute — https://policylayer.com/tools/benjaminr-chrome-devtools-mcp/connect-to-browser.md
- `evaluate_in_all_frames` — Execute — https://policylayer.com/tools/benjaminr-chrome-devtools-mcp/evaluate-in-all-frames.md
- `execute_javascript` — Execute — https://policylayer.com/tools/benjaminr-chrome-devtools-mcp/execute-javascript.md
- `focus_element` — Execute — https://policylayer.com/tools/benjaminr-chrome-devtools-mcp/focus-element.md
- `inspect_console_object` — Execute — https://policylayer.com/tools/benjaminr-chrome-devtools-mcp/inspect-console-object.md
- `navigate_to_url` — Execute — https://policylayer.com/tools/benjaminr-chrome-devtools-mcp/navigate-to-url.md
- `override_storage_quota` — Execute — https://policylayer.com/tools/benjaminr-chrome-devtools-mcp/override-storage-quota.md
- `start_chrome` — Execute — https://policylayer.com/tools/benjaminr-chrome-devtools-mcp/start-chrome.md
- `start_chrome_and_connect` — Execute — https://policylayer.com/tools/benjaminr-chrome-devtools-mcp/start-chrome-and-connect.md
- `start_css_coverage_tracking` — Execute — https://policylayer.com/tools/benjaminr-chrome-devtools-mcp/start-css-coverage-tracking.md
- `track_indexeddb` — Execute — https://policylayer.com/tools/benjaminr-chrome-devtools-mcp/track-indexeddb.md
- `disconnect_from_browser` — Other — https://policylayer.com/tools/benjaminr-chrome-devtools-mcp/disconnect-from-browser.md
- `collect_css_class_names` — Read — https://policylayer.com/tools/benjaminr-chrome-devtools-mcp/collect-css-class-names.md
- `describe_element` — Read — https://policylayer.com/tools/benjaminr-chrome-devtools-mcp/describe-element.md
- `get_all_cookies` — Read — https://policylayer.com/tools/benjaminr-chrome-devtools-mcp/get-all-cookies.md
- `get_background_colors` — Read — https://policylayer.com/tools/benjaminr-chrome-devtools-mcp/get-background-colors.md
- `get_computed_styles` — Read — https://policylayer.com/tools/benjaminr-chrome-devtools-mcp/get-computed-styles.md
- `get_connection_status` — Read — https://policylayer.com/tools/benjaminr-chrome-devtools-mcp/get-connection-status.md
- `get_console_error_summary` — Read — https://policylayer.com/tools/benjaminr-chrome-devtools-mcp/get-console-error-summary.md
- `get_console_logs` — Read — https://policylayer.com/tools/benjaminr-chrome-devtools-mcp/get-console-logs.md
- `get_cookies` — Read — https://policylayer.com/tools/benjaminr-chrome-devtools-mcp/get-cookies.md
- `get_document` — Read — https://policylayer.com/tools/benjaminr-chrome-devtools-mcp/get-document.md
- `get_element_at_position` — Read — https://policylayer.com/tools/benjaminr-chrome-devtools-mcp/get-element-at-position.md
- `get_element_attributes` — Read — https://policylayer.com/tools/benjaminr-chrome-devtools-mcp/get-element-attributes.md
- `get_element_box_model` — Read — https://policylayer.com/tools/benjaminr-chrome-devtools-mcp/get-element-box-model.md
- `get_element_outer_html` — Read — https://policylayer.com/tools/benjaminr-chrome-devtools-mcp/get-element-outer-html.md
- `get_inline_styles` — Read — https://policylayer.com/tools/benjaminr-chrome-devtools-mcp/get-inline-styles.md
- …and 16 more: https://policylayer.com/tools/benjaminr-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=benjaminr-chrome-devtools-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/benjaminr-chrome-devtools-mcp
