# browser_hover

Hover over element on page

Agent View of the PolicyLayer registry record for `browser_hover`. HTML page: https://policylayer.com/tools/a11y-agent-skills/browser-hover

## Facts

- Tool: `browser_hover`
- Server: A11y Agent Skills (`smukh/a11y-agent-skills`) — https://policylayer.com/tools/a11y-agent-skills.md
- Homepage: https://github.com/smukh/a11y-agent-skills
- Risk category: Execute (High risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

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

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

## Why browser_hover is rated High

Hovering is a browser action that executes a mouse event on a live page. While it doesn't directly write or delete data, it triggers external operations (JS event handlers, UI state changes) whose effects depend on the target element, placing it in the Execute category. Misuse could trigger unintended UI flows, but blast radius is generally limited.

From the tool's own definition: "'Hover over element on page' — triggers a browser interaction (mouse hover) on a live browser session, which can cause side effects such as triggering JavaScript events, opening tooltips, menus, or other dynamic UI changes."

## Use case

AI agents invoke browser_hover to trigger actions in A11y Agent Skills. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call: builds kicked off, notifications sent, workflows started.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches A11y Agent Skills:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "browser_hover": {
      "limits": [
        {
          "counter": "browser_hover_rate",
          "window": "minute",
          "max": 10,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on A11y Agent Skills (23)

- `browser_click` — Execute — https://policylayer.com/tools/a11y-agent-skills/browser-click.md
- `browser_drag` — Execute — https://policylayer.com/tools/a11y-agent-skills/browser-drag.md
- `browser_fill_form` — Execute — https://policylayer.com/tools/a11y-agent-skills/browser-fill-form.md
- `browser_navigate` — Execute — https://policylayer.com/tools/a11y-agent-skills/browser-navigate.md
- `browser_press_key` — Execute — https://policylayer.com/tools/a11y-agent-skills/browser-press-key.md
- `browser_select_option` — Execute — https://policylayer.com/tools/a11y-agent-skills/browser-select-option.md
- `browser_set_checked` — Execute — https://policylayer.com/tools/a11y-agent-skills/browser-set-checked.md
- `browser_type` — Execute — https://policylayer.com/tools/a11y-agent-skills/browser-type.md
- `run_keyboard_journey` — Execute — https://policylayer.com/tools/a11y-agent-skills/run-keyboard-journey.md
- `scan_page` — Execute — https://policylayer.com/tools/a11y-agent-skills/scan-page.md
- `verify_repair` — Execute — https://policylayer.com/tools/a11y-agent-skills/verify-repair.md
- `browser_expect_list_visible` — Read — https://policylayer.com/tools/a11y-agent-skills/browser-expect-list-visible.md
- `browser_snapshot` — Read — https://policylayer.com/tools/a11y-agent-skills/browser-snapshot.md
- `get_rule_help` — Read — https://policylayer.com/tools/a11y-agent-skills/get-rule-help.md
- `scan_html` — Read — https://policylayer.com/tools/a11y-agent-skills/scan-html.md
- `browser_expect_title` — Write — https://policylayer.com/tools/a11y-agent-skills/browser-expect-title.md
- `browser_expect_url` — Write — https://policylayer.com/tools/a11y-agent-skills/browser-expect-url.md
- `browser_expect_value` — Write — https://policylayer.com/tools/a11y-agent-skills/browser-expect-value.md
- `browser_expect_visible` — Write — https://policylayer.com/tools/a11y-agent-skills/browser-expect-visible.md
- `browser_expect_visible_text` — Write — https://policylayer.com/tools/a11y-agent-skills/browser-expect-visible-text.md
- `compare_reports` — Write — https://policylayer.com/tools/a11y-agent-skills/compare-reports.md
- `refuse_to_perform` — Write — https://policylayer.com/tools/a11y-agent-skills/refuse-to-perform.md
- `report_result` — Write — https://policylayer.com/tools/a11y-agent-skills/report-result.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=a11y-agent-skills · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/a11y-agent-skills
