# get_element_attributes

Get all attributes of a DOM element. Args: node_id: Node ID of the element Returns: Dictionary of element attributes

Agent View of the PolicyLayer registry record for `get_element_attributes`. HTML page: https://policylayer.com/tools/benjaminr-chrome-devtools-mcp/get-element-attributes

## Facts

- Tool: `get_element_attributes`
- 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": "get_element_attributes",
    "arguments": {}
  }
}
```

## Why get_element_attributes is rated Low

This tool retrieves information about a DOM element's attributes without creating, modifying, deleting, or executing anything. It has no side effects—it simply queries and returns existing data. The blast radius of misuse is minimal since an attacker can only read attribute values visible in the DOM, not alter browser state or execute code.

From the tool's own definition: "Tool description states it 'Get[s] all attributes of a DOM element' and 'Returns: Dictionary of element attributes'. The verb 'get' and lack of any modification operation indicate data retrieval only."

## Use case

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

## 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_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
- `get_matched_styles` — Read — https://policylayer.com/tools/benjaminr-chrome-devtools-mcp/get-matched-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
