# navigate_page

Navigates the currently selected page to a URL.

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

## Facts

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

## Why navigate_page is rated High

Navigation to a URL triggers external operations (HTTP requests, JavaScript execution, third-party content loading) whose effects depend entirely on the URL argument. While not destructive or financial in isolation, this is an Execute action because it causes the browser to perform network operations and load potentially untrusted content.

From the tool's own definition: "Tool navigates a browser page to an arbitrary URL specified as an argument. The description states it 'Navigates the currently selected page to a URL' with no restrictions on which URLs are permitted."

## Use case

AI agents invoke navigate_page to trigger actions in Chrome DevTools MCP. 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 Chrome DevTools MCP:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "navigate_page": {
      "limits": [
        {
          "counter": "navigate_page_rate",
          "window": "minute",
          "max": 10,
          "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
- `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` — Write — https://policylayer.com/tools/anirbandz-chrome-mcp-devtool/fill.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
