# crawlio-browser MCP server

Bridge a live Chrome browser to your agent: 150 tools for capture, extraction, and observation.

## At a glance

crawlio-browser is an MCP server in the Web & Search category. It runs locally over stdio via `npx -y crawlio-browser`, and declares no required credentials. It exposes 80 tools, including search, execute and observe. It scores A (85/100) on the MCP Skills Hub health score as of Oct 28, 2026.

## Install

### How to install crawlio-browser in Claude Code

1. Add the server

```bash
claude mcp add crawlio-browser -- npx -y crawlio-browser
```

2. Verify it's connected

```bash
claude mcp list
```

3. Sharing it with your team?

   Add `--scope project` to write it to .mcp.json in the repository root, which you can commit (with the secrets left as environment variables).

4. Use it in a session

   Ask Claude to use the tools this server exposes (e.g. search, execute, observe). It discovers them automatically.

### How to install crawlio-browser in Claude Desktop

1. Open your MCP config

   macOS: ~/Library/Application Support/Claude/claude_desktop_config.json · Windows: %APPDATA%\Claude\claude_desktop_config.json

2. Add this server

```json
{
  "mcpServers": {
    "crawlio-browser": {
      "command": "npx",
      "args": [
        "-y",
        "crawlio-browser"
      ]
    }
  }
}
```

3. Restart Claude Desktop

   The tools appear under the 🔌 menu once the app reloads.

### How to install crawlio-browser in Cursor

1. Create / edit .cursor/mcp.json in your project

```json
{
  "mcpServers": {
    "crawlio-browser": {
      "command": "npx",
      "args": [
        "-y",
        "crawlio-browser"
      ]
    }
  }
}
```

2. Enable it

   Cursor Settings → MCP → toggle the server on. Tools become available to the Composer/Agent.

### How to install crawlio-browser in Codex CLI

1. Add to ~/.codex/config.toml

```toml
[mcp_servers.crawlio-browser]
command = "npx"
args = ["-y", "crawlio-browser"]
```

2. Run Codex

   Codex loads MCP servers from config.toml on startup and exposes their tools to the agent.

### How to install crawlio-browser in Windsurf

1. Edit ~/.codeium/windsurf/mcp_config.json

```json
{
  "mcpServers": {
    "crawlio-browser": {
      "command": "npx",
      "args": [
        "-y",
        "crawlio-browser"
      ]
    }
  }
}
```

2. Reload

   Windsurf → Cascade → refresh MCP servers. Cascade can now call the tools.

### How to install crawlio-browser in Cline

1. Open Cline → MCP Servers → Configure

   Adds to cline_mcp_settings.json.

2. Add the server

```json
{
  "mcpServers": {
    "crawlio-browser": {
      "command": "npx",
      "args": [
        "-y",
        "crawlio-browser"
      ]
    }
  }
}
```

### How to install crawlio-browser in VS Code

1. Create .vscode/mcp.json

```json
{
  "servers": {
    "crawlio-browser": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "crawlio-browser"
      ]
    }
  }
}
```

2. Start it

   VS Code shows a ▶ Start action above the server entry. Agent mode (Copilot Chat) can then use the tools.

## Tools

- `search` — Discover available commands by keyword
- `execute` — Run async JS with `bridge`, `crawlio`, `smart`, `sleep`, and `compileRecording` in scope
- `observe` — Start/query/stop extension-resident training, recording, and page monitors
- `connect_tab` — Connect to a browser tab
- `disconnect_tab` — Disconnect from the current tab
- `list_tabs` — List all open tabs with IDs and URLs
- `get_connection_status` — Check CDP connection state
- `reconnect_tab` — Force reconnect to fix stale connections
- `get_capabilities` — Report live browser-bridge availability by tab, CDP domain, and permission state
- `capture_page` — Full capture: framework + network + console + DOM
- `detect_framework` — Detect JS framework and version
- `start_network_capture` — Start recording network requests
- `stop_network_capture` — Stop recording and return captured requests
- `get_console_logs` — Get console logs (errors, warnings, info)
- `get_cookies` — Get cookies (sensitive values redacted)
- `get_dom_snapshot` — Simplified DOM tree with shadow DOM and iframe support
- `take_screenshot` — Viewport/full-page/element image (JPEG default, PNG on request)
- `get_response_body` — Get response body for a captured network request
- `browser_navigate` — Navigate to a URL (auto-settle)
- `browser_click` — Click element by CSS selector (auto-settle, left/right/middle, modifiers)
- `browser_double_click` — Double-click element
- `browser_type` — Type text into element (auto-settle)
- `browser_press_key` — Press keyboard key (Enter, Tab, Escape, shortcuts)
- `browser_hover` — Hover over element
- `browser_select_option` — Select `` by value (auto-settle)
- `browser_scroll` — Scroll page or element
- `browser_drag` — Drag from one element to another
- `browser_file_upload` — Upload files to ``
- `browser_wait` — Wait N milliseconds
- `browser_wait_for` — Wait for element state (visible, hidden, attached, detached)
- `browser_intercept` — Block, modify headers, or mock responses for URL patterns
- `emulate_network` — Throttle network (offline, 3G, 4G, WiFi presets)
- `set_cache_disabled` — Disable/enable browser cache
- `set_extra_headers` — Add custom headers to all requests
- `get_websocket_connections` — List active WebSocket connections
- `get_websocket_messages` — Get WebSocket message history
- `get_frame_tree` — Get frame hierarchy (main + iframes)
- `switch_to_frame` — Switch execution context to iframe
- `switch_to_main_frame` — Switch back to main frame
- `create_tab` — Create new tab with URL
- `close_tab` — Close tab by ID
- `switch_tab` — Focus a tab by ID
- `set_cookie` — Set cookie (supports httpOnly via CDP)
- `delete_cookies` — Delete cookies by name/domain/path
- `get_storage` — Read localStorage or sessionStorage
- `set_storage` — Write storage item
- `clear_storage` — Clear all storage items
- `get_databases` — List IndexedDB databases
- `query_object_store` — Query IndexedDB object store
- `clear_database` — Clear or delete IndexedDB database
- `get_dialog` — Get pending JS dialog (alert/confirm/prompt)
- `handle_dialog` — Accept or dismiss dialog
- `set_viewport` — Set viewport dimensions
- `set_user_agent` — Override User-Agent string
- `emulate_device` — Emulate device (iPhone, iPad, Pixel, Galaxy, Desktop)
- `set_geolocation` — Override geolocation coordinates
- `set_stealth_mode` — Anti-detection mode (opt-in, patches webdriver fingerprint)
- `get_security_state` — TLS certificate details, protocol, cipher
- `ignore_certificate_errors` — Ignore cert errors for staging environments
- `list_service_workers` — List all service worker registrations
- `stop_service_worker` — Stop/unregister a service worker
- `bypass_service_worker` — Bypass service workers for network requests
- `set_outer_html` — Replace element's HTML
- `set_attribute` — Set element attribute
- `remove_attribute` — Remove element attribute
- `remove_node` — Remove element from DOM
- `start_css_coverage` — Track which CSS rules are used
- `start_js_coverage` — Track which JS code is executed
- `get_computed_style` — Get resolved CSS properties for element
- `force_pseudo_state` — Force :hover, :focus, :active states
- `get_performance_metrics` — Chrome metrics + Web Vitals (LCP, CLS, FID)
- `get_dom_counters` — Count DOM nodes, documents, event listeners
- `force_gc` — Force garbage collection
- `take_heap_snapshot` — V8 heap snapshot summary
- `print_to_pdf` — Generate PDF (custom paper, margins, orientation)
- `get_accessibility_tree` — Accessibility tree for screen-reader audit
- `get_targets` — List all Chrome targets (pages, workers, extensions)
- `attach_to_target` — Attach CDP session to any target
- `create_browser_context` — Create isolated (incognito-like) context
- `highlight_element` — Highlight element with colored overlay

Source repository: https://github.com/Crawlio-app/crawlio-browser

---

Source: https://mcp-skills-hub.vercel.app/mcps/app-crawlio-crawlio-browser · MCP Skills Hub · data as of 2026-10-28T12:31:05Z
