Skip to main content
Glama

Browserless MCP Server

MCP Badge

MCP-Server (Model Context Protocol) für Browserless.io — stellt die Browserless-Smart-Scraper-API LLM-Clients wie Claude Desktop, Cursor, VS Code und Windsurf bereit.

Schnellstart

Holen Sie sich ein API-Token von browserless.io (kostenloser Tarif verfügbar) und richten Sie dann Ihren MCP-Client auf den gehosteten Server aus:

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

Keine lokale Installation erforderlich — siehe Konfiguration für Client-spezifische Ausschnitte.

Related MCP server: Pinchtab MCP Wrapper

Tools

Tool

Beschreibung

browserless_smartscraper

Scraped eine einzelne Webseite und liefert ihren Inhalt als Markdown oder HTML. Behandelt JavaScript-lastige Seiten und Anti-Bot-Maßnahmen automatisch. Für Inhalte über mehrere Seiten verwenden Sie browserless_crawl; um die URLs einer Website aufzulisten, verwenden Sie browserless_map.

browserless_search

Durchsucht das Web mit Browserless und scraped optional jedes Ergebnis. Unterstützt Web-, Nachrichten- und Bildersuche mit Geo-Targeting und Zeitfiltern.

browserless_map

Ermittelt und kartiert alle URLs einer Website. Scannt über Sitemaps und Link-Extraktion. Liefert URLs mit optionalen Titeln und Beschreibungen. Nützlich für Site-Audits und die Inhaltserkennung.

browserless_crawl

Crawlt eine Website und scraped jede entdeckte Seite. Unterstützt Tiefenkontrolle, Pfadfilter, Sitemap-Strategien und konfigurierbare Scrape-Optionen. Liefert gescrapte Inhalte und Metadaten für jede Seite.

browserless_performance

Führt Lighthouse-Audits auf einer beliebigen URL aus. Liefert Scores und Metriken für Barrierefreiheit, Best Practices, Performance, PWA und SEO. Optional nach Kategorie filtern oder Performance-Budgets angeben.

browserless_function

Führt benutzerdefiniertes Puppeteer-JavaScript in der Browserless-Cloud aus. Die Funktion erhält ein page-Objekt und einen optionalen context; geben Sie { data, type } zurück, um die Payload und den Content-Type zu steuern.

browserless_export

Exportiert eine Webseite über die Browserless-/export-API. Ruft die URL ab und liefert ihren nativen Inhalt (HTML, PDF, Bild usw.) mit automatischer Content-Type-Erkennung.

browserless_agent

Steuert eine persistente Browser-Sitzung über eine ReAct-Schleife: Snapshot der Seite, planen, Stapel von Interaktionen (Klicken, Tippen, Scrollen, Evaluieren usw.) und anschließend neue Snapshots. Verwendet ref-basierte Selektoren, die von den Snapshots abgeleitet werden. Unterstützt Multi-Tab-Workflows, Screenshots, Captcha-Lösung, Live-URLs und Datei-Upload/-Download (erfasste Downloads erscheinen automatisch als Handle; Bytes gelangen nie in den Kontext).

browserless_skill

Lädt ein On-Demand-Rezept für eine nicht-triviale Seitenmechanik (Shadow DOM, Cookie-Einwilligung, Modaldialoge, Captchas, dynamische Inhalte, Snapshots, die das Ziel nur verzögert liefern, Screenshots, Tabs). Ergänzung zu browserless_agent.

browserless_profiles

Listet die für das aktuelle Token stehenden Authentifizierungs-Profile mit Cookie- und Ursprungszählern auf. Übergeben Sie den Namen eines Profils als profile an ein anderes Tool, um dessen angemeldeten Zustand wiederzuverwenden.

browserless_account

Liest das Konto hinter dem aktuellen Token aus: Plan, Einheiten-Guthaben, Abrechnungszeitraum und API-Key-Namen. Gibt niemals API-Token-Werte zurück.

browserless_usage

Liest den Request- und Einheitenverbrauch aus: Erfolge, Fehler, Timeouts, Queueing, Spitzen-Concurrency, Captchas, Proxy-Bytes und -Einheiten. Optional auf bestimmte API-Keys eingegränzt.

browserless_sessions

Untersucht die Sitzungen des Kontos — gerade laufende Browser, persistente Sitzungen auf dedizierten Workern, aufgezeichnete Sitzungs-Replays und 1Password-Credential-Integrationen. Lädt außerdem ein Replay als vollständig eigenständige, vollständig in sich geschlossene rrweb-Player-Seite herunter (action: "replay"), die zum Rendern kein Netzwerk benötigt: Sie wird im Browser geöffnet, wenn der Server local läuft, andernfalls als Inline-HTML-Ressource angehängt, falls sie klein genug ist.

browserless_logs

Liest Browserless' eigene Aufzeichnung der letztener Anfragen: was versucht wurde, ob etwas fehlschlug, warum es gestoppt wurde, wie lange es dauerte und was es kostete. Das Tool zur Diagnose eines Laufs, der auf Seiten von Browserless ausfiel. Das verfügbare Fenster ist planabhängig.

Skills

Der Server bringt eine eingebettete Bibliothek von Skills mit — bei Bedarf ladbare Rezepte, mit denen der Agent schwierige Seitenmechaniken abhandelt. Skills werden automatisch in die Antworten von browserless_agent injiziert, wenn ihre Trigger auslösen (z. B. wenn der Agent auf ein Cookie-Banner stößt), und können auch manuell über das Tool browserless_skill geladen werden.

Skill

Quelle

Zweck

shadow-dom

src/skills/shadow-dom.md

Tiefe Selektoren und Verankerung von iframes in Shadow Roots.

cookie-consent

src/skills/cookie-consent.md

Hersteller-spezifische Rezepte zum näheren Behandeln von Cookie-Bannern (OneTrust, Cookiebot, Didomi, TrustArc, u. a.).

modals

src/skills/modals.md

Schließen von Dialogen, Alertdialogen und Overlay-Schließen-Buttons per Heuristik.

captchas

src/skills/captchas.md

Verwendung des solve-Befehls, Antwort-Semenatik und Eskalationspfade hin (nur in der Cloud).

dynamic-content

src/skills/dynamic-content.md

Wahl der richtigen wait*-Methode für async-/AJAX-/SPA-Inhalte.

snapshot-misses

src/skills/snapshot-misses.md

Umgang mit abgeschnittenen/leeren Snapshots sowie Bild-Rendering-Inhalten.

screenshots

src/skills/screenshots.md

Wann ein Screenshot gegenüber einem Snapshot, Umfang und Formatwahl.

tabs

src/skills/tabs.md

Multi-Tab-Workflows und „hereinschauen, ohne den Tab zu wechseln” über targetId.

Einen Skill explizit laden:

{
  "method": "tools/call",
  "params": {
    "name": "browserless_skill",
    "arguments": { "id": "cookie-consent" },
  },
}

Residential-Proxy (browserless_agent)

Übergeben Sie browserless_agent ein Top-Level-Objekt proxy, um die Sitzung über Residential-IPs zu leiten. Verwenden Sie dies, wenn die Zielsysteme Datencenter-Traffic per IP blockieren.

{
  "method": "tools/call",
  "params": {
    "name": "browserless_agent",
    "arguments": {
      "method": "goto",
      "params": { "url": "https://example.com" },
      "proxy": {
        "proxy": "residential",
        "proxyCountry": "us",
        "proxySticky": true,
      },
    },
  },
}

Feld

Hinweise

proxy

"residential" — einziger derzeit unterstützter Rückgabetyp.

proxyCountry

ISO-2-Ländercode ("us", "de"). Wird automatisch in Kleinschreibung normalisiert. Nicht-Buchstaben-Eingaben werden abgewiesen.

proxyState

Name des US-Bundesstaats, Leerzeichen durch Unterstrich ersetzt ("new_york"). Nur für kostenpflichtige Tarife — nicht berechtigte Tokens erhalten eine 401.

proxyCity

Ziel-Stadt. Nur für kostenpflichtige/Enterprise-Tarife — nicht berechtigte Tokens erhalten eine 401.

proxySticky

Stabile IP, solange das zugrunde liegende WebSocket geöffnet bleibt. Wiederverbindungen (Leerlauf-Abbruch, Netzabbrruch, Browserabsturz) erzeugen eine neue Sticky-ID und neue IP.

proxyLocaleMatch

Genpasst navigator an die Proxy-IP des Ziellandes an.

proxyPreset

Benanntes Voreinstellung (z. B. "px_amazon01"). Verfügbare Voreinstellungen hängen vom Plan ab — für die Liste den Browserless-Support fragen.

externalProxyServer

Eigener Socket-Dienst, z. B. http://user:pass@host:port. Muss http:// oder https:// sein.

Hinweis: proxyCountry / proxyState / proxyCity / proxySticky / proxyLocaleMatch / proxyPreset erfordern, dass entweder proxy: "residential" oder externalProxyServer festgelegt ist. Der MCP-Server lehnt diese Kombination bei Validierung ab; ohne diese Einstellungen würde die API sie stillschweigend ignorieren.

The proxy object is read once at session creation. To change it, call close and start a new session — the agent client keys sessions on the proxy fingerprint, so passing a different config will land on a fresh WebSocket.

Configuration

The server is hosted at https://mcp.browserless.io/mcp. Authenticate via headers (preferred) or a ?token= query parameter.

Installing via an AI agent? See install.md for agent-readable setup instructions.

Using headers (recommended for clients that support them):

{
  "mcpServers": {
    "browserless": {
      "url": "https://mcp.browserless.io/mcp",
      "headers": {
        "Authorization": "Bearer your-token-here"
      }
    }
  }
}

Using URL query parameters (for clients like Claude.ai custom connectors that only accept a URL):

https://mcp.browserless.io/mcp?token=your-token-here

To connect to a specific Browserless regional endpoint, add the x-browserless-api-url header or the browserlessUrl query parameter:

{
  "mcpServers": {
    "browserless": {
      "url": "https://mcp.browserless.io/mcp",
      "headers": {
        "Authorization": "Bearer your-token-here",
        "x-browserless-api-url": "https://production-lon.browserless.io"
      }
    }
  }
}
https://mcp.browserless.io/mcp?token=your-token-here&browserlessUrl=https://production-lon.browserless.io

When both headers and query parameters are present, headers take precedence.

Claude Desktop

Add to your claude_desktop_config.json:

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

Cursor

Add to your Cursor MCP settings:

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

VS Code

Add to your VS Code settings (settings.json):

{
  "mcp": {
    "servers": {
      "browserless": {
        "url": "https://mcp.browserless.io/mcp",
        "headers": {
          "Authorization": "Bearer your-token-here"
        }
      }
    }
  }
}

Windsurf

Add to your Windsurf MCP configuration:

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

Self-Hosting

The server can also be run locally — useful for air-gapped deployments or pointing at a self-hosted Browserless instance. Clone this repo and build the Docker image:

docker build -f docker/Dockerfile -t browserless-mcp .

docker run \
  -e BROWSERLESS_TOKEN=your-token \
  -e BROWSERLESS_API_URL=https://your-browserless-instance.example.com \
  -p 8080:8080 \
  browserless-mcp

Then point your MCP client at http://localhost:8080/mcp using the same header/query-parameter auth as above.

Self-hosted environment variables

Variable

Required

Default

Description

BROWSERLESS_TOKEN

Yes

Your Browserless API token

BROWSERLESS_API_URL

No

https://production-sfo.browserless.io

API endpoint (for self-hosted Browserless)

BROWSERLESS_API_SERVER

No

https://api.browserless.io

Account API host — backs browserless_account, _usage, _sessions and _logs. A different host from BROWSERLESS_API_URL, which is a browser runtime

BROWSERLESS_REPLAY_CDN_URL

No

https://d3uycvholi7jx8.cloudfront.net/

Origin serving session-replay artifacts. Replay paths are origin-checked against it

TRANSPORT

No

stdio

Transport type: stdio or httpStream

PORT

No

8080

HTTP server port (only for httpStream transport)

BROWSERLESS_TIMEOUT

No

30000

Request timeout in milliseconds

BROWSERLESS_MAX_RETRIES

No

3

Max retry attempts for failed requests

BROWSERLESS_CACHE_TTL

No

60000

Cache TTL in milliseconds (0 to disable)

AMPLITUDE_API_KEY

No

Amplitude project API key. Sends MCP usage analytics — SDK lifecycle events plus our own tool/skill events

MCP_COMPLIANCE_MODE

No

unset (full surface)

Serve the reduced, directory-compliant surface. Fails closed: any set value except false/0/no/off enables it

MCP Resources

Resource URI

Description

browserless://api-docs

Smart scraper API documentation

browserless://status

Live service health status

MCP Prompts

Prompt

Description

scrape-url

Scrape a webpage and summarize its content

extract-content

Extract specific information from a webpage

Development

npm install
npm run build
npm test
npm run coverage

Tests

The test suite uses Mocha with Chai and Sinon. Specs live alongside the code in test/ (test/lib/, test/tools/, test/prompts/, test/resources/, test/integration/) and run against the compiled output in build/.

  • npm test — compiles TypeScript and runs every *.spec.js under build/test/. No external services or BROWSERLESS_TOKEN are required; the API client is stubbed.

  • npm run coverage — runs the suite under c8 with the thresholds configured in package.json (lines ≥ 80%, branches ≥ 70%, functions ≥ 80%).

Tests run automatically on every pull request via the Test workflow on Node 24. PRs must keep the suite green before they can merge.

API Token

Get your API token at browserless.io. The token authenticates all requests to the Browserless API.

License

SSPL-1.0

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    MCP server for browser automation with anti-detection. Scout pages, find elements, interact with websites, and monitor network traffic from any AI client that supports the Model Context Protocol.
    21
    1
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Remote MCP server for web scraping with anti-bot evasion. Provides stealth HTTP fetching, headless browser with Cloudflare bypass, CSS selectors, YouTube transcripts, and Markdown conversion.
    MIT

View all related MCP servers

Related MCP Connectors

  • Zenrows MCP server — Fetch, Extract, Batch, and Browser Sessions for AI coding assistants

  • Official Octoparse MCP server for template discovery, cloud tasks, and structured data export.

  • Hosted real Google Chrome MCP with per-user persistent state. Navigate, click, type, screenshot.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/browserless/browserless-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server