# Browserless MCP server

Official Browserless MCP server: browser automation, scraping, screenshots and PDFs for AI agents.

## At a glance

Browserless is an MCP server in the Design & Media category. It runs locally over stdio via `npx -y @browserless.io/mcp`, and needs BROWSERLESS_TOKEN and Authorization. It exposes 14 tools, including browserless_smartscraper, browserless_search and browserless_map. It scores A (92/100) on the MCP Skills Hub health score as of Oct 28, 2026.

## Install

### How to install Browserless in Claude Code

1. Add the server

```bash
claude mcp add browserless -e 'BROWSERLESS_TOKEN=<BROWSERLESS_TOKEN>' -- npx -y @browserless.io/mcp
```

2. Fill in your credentials

   Replace <BROWSERLESS_TOKEN>, Bearer <YOUR_TOKEN> with your real values. Keep secrets out of any config file you commit.

3. Verify it's connected

```bash
claude mcp list
```

4. 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).

5. Use it in a session

   Ask Claude to use the tools this server exposes (e.g. browserless_smartscraper, browserless_search, browserless_map). It discovers them automatically.

### How to install Browserless 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": {
    "browserless": {
      "command": "npx",
      "args": [
        "-y",
        "@browserless.io/mcp"
      ],
      "env": {
        "BROWSERLESS_TOKEN": "<BROWSERLESS_TOKEN>"
      }
    }
  }
}
```

3. Fill in your credentials

   Replace <BROWSERLESS_TOKEN>, Bearer <YOUR_TOKEN> with your real values. Keep secrets out of any config file you commit.

4. Restart Claude Desktop

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

### How to install Browserless in Cursor

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

```json
{
  "mcpServers": {
    "browserless": {
      "command": "npx",
      "args": [
        "-y",
        "@browserless.io/mcp"
      ],
      "env": {
        "BROWSERLESS_TOKEN": "<BROWSERLESS_TOKEN>"
      }
    }
  }
}
```

2. Fill in your credentials

   Replace <BROWSERLESS_TOKEN>, Bearer <YOUR_TOKEN> with your real values. Keep secrets out of any config file you commit.

3. Enable it

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

### How to install Browserless in Codex CLI

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

```toml
[mcp_servers.browserless]
command = "npx"
args = ["-y", "@browserless.io/mcp"]
env = { BROWSERLESS_TOKEN = "<BROWSERLESS_TOKEN>" }
```

2. Fill in your credentials

   Replace <BROWSERLESS_TOKEN>, Bearer <YOUR_TOKEN> with your real values. Keep secrets out of any config file you commit.

3. Run Codex

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

### How to install Browserless in Windsurf

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

```json
{
  "mcpServers": {
    "browserless": {
      "command": "npx",
      "args": [
        "-y",
        "@browserless.io/mcp"
      ],
      "env": {
        "BROWSERLESS_TOKEN": "<BROWSERLESS_TOKEN>"
      }
    }
  }
}
```

2. Fill in your credentials

   Replace <BROWSERLESS_TOKEN>, Bearer <YOUR_TOKEN> with your real values. Keep secrets out of any config file you commit.

3. Reload

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

### How to install Browserless in Cline

1. Open Cline → MCP Servers → Configure

   Adds to cline_mcp_settings.json.

2. Add the server

```json
{
  "mcpServers": {
    "browserless": {
      "command": "npx",
      "args": [
        "-y",
        "@browserless.io/mcp"
      ],
      "env": {
        "BROWSERLESS_TOKEN": "<BROWSERLESS_TOKEN>"
      }
    }
  }
}
```

3. Fill in your credentials

   Replace <BROWSERLESS_TOKEN>, Bearer <YOUR_TOKEN> with your real values. Keep secrets out of any config file you commit.

### How to install Browserless in VS Code

1. Create .vscode/mcp.json

```json
{
  "servers": {
    "browserless": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@browserless.io/mcp"
      ],
      "env": {
        "BROWSERLESS_TOKEN": "<BROWSERLESS_TOKEN>"
      }
    }
  }
}
```

2. Fill in your credentials

   Replace <BROWSERLESS_TOKEN>, Bearer <YOUR_TOKEN> with your real values. Keep secrets out of any config file you commit.

3. Start it

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

## Tools

- `browserless_smartscraper` — Scrape a single webpage and return its content as markdown or HTML. Handles JavaScript-heavy pages and anti-bot measures automatically. For content across multiple pages, use `browserless_crawl`; to list a site's URLs, use `browserless_map`
- `browserless_search` — Search the web using Browserless and optionally scrape each result. Supports web, news, and image search with geo-targeting and time filters.
- `browserless_map` — Discover and map all URLs on a website. Scans via sitemaps and link extraction. Returns URLs with optional titles and descriptions. Useful for site audits and content discovery.
- `browserless_crawl` — Crawl a website and scrape every discovered page. Supports depth control, path filtering, sitemap strategies, and configurable scrape options. Returns scraped content and metadata for each page.
- `browserless_performance` — Run Lighthouse audits on any URL. Returns category scores inline and saves the full JSON report outside the conversation: a local path (stdio) or authenticated single-use download URL (HTTP). Download to disk and inspect only needed fields 
- `browserless_function` — Execute custom Puppeteer JavaScript on the Browserless cloud. The function receives a `page` object and optional `context`; return `{ data, type }` to control the payload and Content-Type.
- `browserless_export` — Export a webpage via the Browserless `/export` API. Fetches the URL and returns its native content (HTML, PDF, image, etc.) with automatic content-type detection.
- `browserless_agent` — Drive a persistent browser session via a ReAct loop: snapshot the page, plan, batch interactions (click, type, scroll, evaluate, etc.), and re-snapshot. Uses ref-based selectors derived from snapshots, supports multi-tab workflows, screensh
- `browserless_skill` — Load an on-demand recipe for a non-trivial page mechanic (shadow DOM, cookie consent, modals, captchas, dynamic content, snapshot misses, screenshots, tabs). Companion to `browserless_agent`.
- `browserless_profiles` — List the authentication profiles saved for the current token, with cookie and origin counts. Pass a profile's name as `profile` to another tool to reuse its logged-in state.
- `browserless_account` — Read the account behind the current token: plan, unit balance, billing period, and API key names. Never returns API token values.
- `browserless_usage` — Read request and unit consumption: successes, errors, timeouts, queueing, peak concurrency, captchas, proxy bytes and units. Optionally scoped to specific API keys.
- `browserless_sessions` — Inspect the account's sessions — browsers running now, persistent sessions on dedicated workers, recorded session replays, and 1Password credential integrations. Also downloads a replay as a fully self-contained rrweb player page (`action: 
- `browserless_logs` — Read Browserless's own record of recent requests: what was attempted, whether it failed, why it stopped, how long it took and what it cost. The tool for diagnosing a run that failed on the Browserless side. Available window is plan-dependen

Source repository: https://github.com/browserless/browserless-mcp

---

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