All MCP Servers
Design & MediaMCP Registrynpm14 toolsA · 91

Browserless MCP server

io.browserless · Updated

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 (91/100) on the MCP Skills Hub health score as of Oct 27, 2026.

Source 17GitHub stars

One-click install

Opens your editor and pre-fills the config. Your editor will ask before adding it.

How to install Browserless in your AI client

Setup for Claude Code, Claude Desktop, Cursor, Codex, Windsurf, Cline and VS Code — copy-paste ready.

How to install Browserless in Claude CodeAnthropic's agentic CLI

  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.

What does Browserless need from you?

OAuth or bearer token — Bearer token for your Browserless API key (Bearer <token>). Optional: the hosted server also supports OAuth sign-in.

  • BROWSERLESS_TOKENrequiredsecretEnvironment variable

    Your Browserless API token

  • BROWSERLESS_API_URLoptionalEnvironment variable

    Browserless API endpoint (regional or self-hosted)

  • AuthorizationoptionalsecretHTTP header

    Bearer token for your Browserless API key (Bearer <token>). Optional: the hosted server also supports OAuth sign-in.

  • x-browserless-api-urloptionalHTTP header

    Regional Browserless endpoint, e.g. https://production-lon.browserless.io. Defaults to San Francisco.

Pass secrets through your shell environment rather than committing them into a config file.

What tools does Browserless expose? (14)

Taken from the project's README — the server itself was not queried, so check its docs for the exact schemas.

  • browserless_smartscraperScrape 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_searchSearch the web using Browserless and optionally scrape each result. Supports web, news, and image search with geo-targeting and time filters.
  • browserless_mapDiscover 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_crawlCrawl 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_performanceRun 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_functionExecute 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_exportExport 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_agentDrive 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_skillLoad 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_profilesList 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_accountRead the account behind the current token: plan, unit balance, billing period, and API key names. Never returns API token values.
  • browserless_usageRead request and unit consumption: successes, errors, timeouts, queueing, peak concurrency, captchas, proxy bytes and units. Optionally scoped to specific API keys.
  • browserless_sessionsInspect 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_logsRead 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

What the code can do

Read from the published package source — never executed. Parsed 62 of 62 source files.

This server can run other programs on your machine, read and write files and make network requests.

How it was published

  • Runs postinstall on install — this executes when you install the package, before you deliberately run anything.
  • Published by a verified CI identity (github trusted publishing) rather than a personal token.
  • Has a provenance attestation tying this artifact to the commit it was built from.
  • 3 npm maintainers · last published by GitHub Actions.

Maintainer of this package and think something here is wrong? Tell us and we'll correct it.

Before you install

Signals gathered from the source repo and package registry — not a safety verdict.

What it can reach

  • Runs code on your machine — Executes as a local process with your user's permissions, including filesystem access.
  • Downloads at launch — The package is fetched from its registry each run unless you pin a version.
  • Last commit today — Actively maintained.
  • 17 GitHub stars — Community adoption signal.
  • 1.8k weekly downloads — Regularly installed by other developers.

Client compatibility

Claude Code: NativeClaude Desktop: NativeCursor: NativeCodex CLI: NativeWindsurf: NativeCline: NativeVS Code: Native

Health score

A · 91

Maintenance, adoption, transparency and packaging — not a safety audit. How this is calculated

  • Maintenance30%100%

    Last commit 0 days ago.

  • Adoption20%57%

    17 stars, 1776 weekly downloads.

  • Transparency20%100%

    4/4: ✓ public source repo, ✓ declared license, ✓ documentation, ✓ discoverable tool list.

  • Provenance15%100%

    Package and registry entry point at the same repository.

  • Packaging15%100%

    Publishes a pinned version (1.40.2).

Documentation

Full README

Browserless MCP Server

MCP (Model Context Protocol) server for Browserless.io — expose the Browserless smart scraper API to LLM clients like Claude Desktop, Cursor, VS Code, and Windsurf.

Quick Start

Get an API token from browserless.io (free tier available), then point your MCP client at the hosted server:

json
{
  "mcpServers": {
    "browserless": {
      "url": "https://mcp.browserless.io/mcp?token=your-token-here"
    }
  }
}

No local install — see Configuration for per-client snippets.

Tools

| Tool | Description | | -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 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 with jq; files expire after 15 minutes or when the MCP session ends. Optionally filter by category, emulate a mobile or desktop device, supply a custom Lighthouse config, or supply performance budgets. | | 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, screenshots, captcha solving, live URLs, and file upload/download (captured downloads auto-surface as handles; bytes never enter context). | | 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

…

Excerpt — the full document is on GitHub.

Maintain Browserless? Add a badge to your README

Shows its health grade, and links readers to install steps for every client.

markdown
[![Browserless on MCP Skills Hub](https://mcp-skills-hub.vercel.app/badge/io-browserless-mcp)](https://mcp-skills-hub.vercel.app/mcps/io-browserless-mcp)

Catalog data refreshed . Something wrong? Report it.