# fill

Type text into a input, text area or select an option from a <select> element.

Agent View of the PolicyLayer registry record for `fill`. HTML page: https://policylayer.com/tools/anirbandz-chrome-mcp-devtool/fill

## Facts

- Tool: `fill`
- Server: Chrome DevTools MCP (`anirbandz/chrome_mcp_devtool`) — https://policylayer.com/tools/anirbandz-chrome-mcp-devtool.md
- Homepage: https://github.com/Anirbandz/Chrome_MCP_DEVTOOL
- Risk category: Write (Medium 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": "fill",
    "arguments": {}
  }
}
```

## Why fill is rated Medium

The tool modifies data in form fields (write operation) but the changes are reversible and limited to a single page session. Severity is medium because misuse could lead to unintended form submissions or injection of malicious input into web applications, but the blast radius is contained to the current browser tab's interaction.

From the tool's own definition: "Tool description states it 'Type text into a input, text area or select an option from a <select> element' — this modifies form state and input fields in the live browser, creating reversible changes to DOM elements."

## Use case

AI agents use fill to create or update resources in Chrome DevTools MCP, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Chrome DevTools MCP environment.

## Recommended policy (PolicyLayer)

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

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "fill": {
      "limits": [
        {
          "counter": "fill_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Chrome DevTools MCP (25)

- `click` — Execute — https://policylayer.com/tools/anirbandz-chrome-mcp-devtool/click.md
- `drag` — Execute — https://policylayer.com/tools/anirbandz-chrome-mcp-devtool/drag.md
- `emulate` — Execute — https://policylayer.com/tools/anirbandz-chrome-mcp-devtool/emulate.md
- `evaluate_script` — Execute — https://policylayer.com/tools/anirbandz-chrome-mcp-devtool/evaluate-script.md
- `handle_dialog` — Execute — https://policylayer.com/tools/anirbandz-chrome-mcp-devtool/handle-dialog.md
- `hover` — Execute — https://policylayer.com/tools/anirbandz-chrome-mcp-devtool/hover.md
- `navigate_page` — Execute — https://policylayer.com/tools/anirbandz-chrome-mcp-devtool/navigate-page.md
- `new_page` — Execute — https://policylayer.com/tools/anirbandz-chrome-mcp-devtool/new-page.md
- `performance_start_trace` — Execute — https://policylayer.com/tools/anirbandz-chrome-mcp-devtool/performance-start-trace.md
- `performance_stop_trace` — Execute — https://policylayer.com/tools/anirbandz-chrome-mcp-devtool/performance-stop-trace.md
- `press_key` — Execute — https://policylayer.com/tools/anirbandz-chrome-mcp-devtool/press-key.md
- `resize_page` — Execute — https://policylayer.com/tools/anirbandz-chrome-mcp-devtool/resize-page.md
- `wait_for` — Execute — https://policylayer.com/tools/anirbandz-chrome-mcp-devtool/wait-for.md
- `get_console_message` — Read — https://policylayer.com/tools/anirbandz-chrome-mcp-devtool/get-console-message.md
- `get_network_request` — Read — https://policylayer.com/tools/anirbandz-chrome-mcp-devtool/get-network-request.md
- `list_console_messages` — Read — https://policylayer.com/tools/anirbandz-chrome-mcp-devtool/list-console-messages.md
- `list_network_requests` — Read — https://policylayer.com/tools/anirbandz-chrome-mcp-devtool/list-network-requests.md
- `list_pages` — Read — https://policylayer.com/tools/anirbandz-chrome-mcp-devtool/list-pages.md
- `performance_analyze_insight` — Read — https://policylayer.com/tools/anirbandz-chrome-mcp-devtool/performance-analyze-insight.md
- `take_screenshot` — Read — https://policylayer.com/tools/anirbandz-chrome-mcp-devtool/take-screenshot.md
- `take_snapshot` — Read — https://policylayer.com/tools/anirbandz-chrome-mcp-devtool/take-snapshot.md
- `close_page` — Write — https://policylayer.com/tools/anirbandz-chrome-mcp-devtool/close-page.md
- `fill_form` — Write — https://policylayer.com/tools/anirbandz-chrome-mcp-devtool/fill-form.md
- `select_page` — Write — https://policylayer.com/tools/anirbandz-chrome-mcp-devtool/select-page.md
- `upload_file` — Write — https://policylayer.com/tools/anirbandz-chrome-mcp-devtool/upload-file.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=anirbandz-chrome-mcp-devtool · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/anirbandz-chrome-mcp-devtool
