# sendblue-browser-mcp [Health: Active]

**Category:** 📂 Browser Automation  
**Repository:** https://github.com/sendblue-api/sendblue-browser-use  
**GitHub Stars:** 3  
**npm Downloads (last month):** 114  
**Views:** 2  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/sendblue-browser-mcp

## Description
Drive a stealth-patched Chromium daemon: navigate, screenshot, eval JS, attach over CDP.

## Tools
Capabilities this server exposes over MCP:

- **health** — Check if the sendblue-browser-use daemon is reachable. Returns service metadata, active session count, and navScreenshotPolicy. No auth used (the /health endpoint is public).
- **list_sessions** — List every active browser session on the daemon.
- **create_session** — Create a new browser session. persistent=true follows the daemon default and backs to an on-disk profile that survives restarts but does NOT expose a CDP url; set persistent=false for CDP attach. The response includes autoNavScreenshots so clients know whether navigate writes background evidence.
- **get_session** — Inspect a session — current page URL/title, console message count, CDP url, and whether automatic nav screenshots are enabled.
- **navigate** — Navigate the session's page to a URL. http(s) only; file:// and chrome:// are rejected. waitUntil defaults to 'domcontentloaded'. Only sessions with autoNavScreenshots=true write background evidence; call screenshot after headed navigation when you need evidence.
- **screenshot** — Take a PNG screenshot of the session's page. Returns an MCP image block. Optional CSS selector to capture a specific element; selector waits up to 5s. Use after headed navigation because headed sessions usually skip automatic nav screenshots to avoid flicker.
- **script** — Evaluate a JavaScript expression in the session's page context. EXPRESSION form only — wrap statements in an IIFE. 422 if the eval throws. Body cap 200 kB. timeoutMs defaults to 30000; pass 0 to disable.
- **get_cookies** — Read cookies from the session's context. Optional comma-separated URL filter.
- **set_cookies** — Inject cookies. Each cookie needs name+value plus EITHER url OR (domain AND path).
- **get_console** — Read recent console messages from the session's page (ring buffer).
- **get_cdp_url** — Return the CDP websocket URL and targetId for a non-persistent session so a Playwright/Puppeteer client can connectOverCDP() and select the session page. Persistent sessions return 409.
- **purge_session** — Clear cookies and permissions context-wide, then current open page/origin localStorage, sessionStorage, IndexedDB, ServiceWorkers, CacheStorage, and console buffer — but keep the session id. Does NOT delete the on-disk profile or enumerate every historical origin.
- **close_session** — Close the session and delete its on-disk profile.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "sendblue-browser-mcp": {
    "command": "npx",
    "args": ["-y","sendblue-browser-mcp@0.2.3"],
    "env": {
      "BROWSER_USE_API_KEY": "",
      "BROWSER_USE_URL": ""
    }
  }
}
```

**Requires environment variables:** `BROWSER_USE_API_KEY`, `BROWSER_USE_URL` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What sendblue-browser-mcp does

The sendblue-browser-mcp MCP server gives an MCP-compatible agent access to a separately running Chromium daemon. The daemon exposes an authenticated HTTP API, while the MCP package translates browser operations into agent-callable tools. This separates browser lifetime from an individual Claude, Cursor, Codex, or other agent session.

Browser state is organized into named sessions. Persistent sessions retain profile data across restarts, allowing a client to reuse cookies and an existing login. Sessions can also be isolated for concurrent work, reducing the chance that one agent changes another agent's browser state. A purge operation removes cookies and active-origin storage while preserving the session name.

## How it works

The underlying process runs Chromium patched through Patchright. It can operate headlessly or with a configured display mode, and it supports options such as viewport size, user agent, locale, timezone, proxy, and Playwright tracing. Navigation can optionally produce screenshots according to the daemon's screenshot policy.

Requests are authorized with a bearer token, except for the health endpoint. The MCP wrapper needs the daemon URL and the same API key used by the daemon. Browser actions can also be performed directly with curl or through libraries that use the HTTP API.

For non-persistent sessions, the daemon can return a shared CDP URL. A separate Playwright, Puppeteer, undetected-chromedriver, or custom CDP client can then attach to the browser. Persistent sessions do not provide this shared CDP URL.

## Setup and configuration

Install the daemon locally with Bun and Node.js available, install the Patchright Chromium binary, set `BROWSER_USE_API_KEY`, and start the development process. The repository also provides a Docker Compose path; its default data directory is `./data`, and the service is exposed on `127.0.0.1:8787`.

Configure the sendblue-browser-mcp MCP server with a command such as `npx -y sendblue-browser-mcp@0.2.3`. Set `BROWSER_USE_URL` to the daemon address and `BROWSER_USE_API_KEY` to the matching token. CDP remains loopback-only in the Docker setup unless its bind address and port mapping are explicitly changed.

## Tools and capabilities

The MCP layer wraps the HTTP API with tools covering:

- Health checks and session listing.
- Session creation with persistence, headless mode, viewport, locale, timezone, proxy, user-agent, and trace settings.
- Session inspection, deletion, and state purging.
- URL navigation with wait and timeout options.
- Full-page or selector-based PNG screenshots.
- JavaScript execution in the page context through Playwright's evaluation API.
- Cookie reading and writing.
- Retrieval of buffered browser console messages.
- CDP URL retrieval for eligible non-persistent sessions.

Scripts have a 30-second default timeout, can specify a longer timeout up to 120 seconds, or can disable the request timeout with zero. The script payload is limited to 200 kB. API errors use structured status codes and error objects, while detailed browser-side failures are logged by the daemon.

The sendblue-browser-mcp MCP server fits browser QA, authenticated workflow debugging, screenshot capture, and agent tasks that need an existing login. It is not described as a solution for hostile scraping at scale.

_Full upstream README: https://allmcps.com/mcp/sendblue-browser-mcp/readme_

