
Browserbase
io.github.mindstonePublished by GitHub account mindstonev0.1.1Updated Oct 25, 2026
Browserbase MCP server: cloud browser sessions, agents, contexts, fetch, search, functions
Overview
A local connector that exposes the Browserbase cloud browser API, letting an assistant run cloud browser sessions, AI web agents, fetches, searches and server-
- What you can do
- Create, inspect and end cloud browser sessions, including live-view and debugger URLs, logs, replays and recording downloads, and upload files into a session. Manage persistent contexts that keep cookies and storage across sessions. Create, update and run AI web agents, poll runs to completion and read their step-by-step messages. Fetch a URL as raw body, markdown or schema-driven JSON, and run ranked web searches. List, inspect and invoke deployed serverless browser functions, and manage downloads, extensions and certificates.
- When to use it
- Use it when an assistant should drive a real cloud browser or delegate extraction tasks to Browserbase AI agents, for example pulling structured data such as pricing tiers from a page. It suits hosts that want one local connector covering the whole Browserbase API rather than a single-purpose tool.
- Requirements
- Runs locally over stdio via npx, so Node.js 20+ and npm are needed. A Browserbase API key is required in the BROWSERBASE_API_KEY environment variable. Optional settings: BROWSERBASE_REQUEST_TIMEOUT_MS for per-request timeouts and MCP_WORKSPACE_PATH for the directory that local uploads are read from. Network access to the Browserbase API is required.
Installation
In SourceWeft
- Open Browserbase in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
@mindstone/mcp-server-browserbase
[npm version] [License: FSL-1.1-MIT]
Cloud browser automation via the Browserbase API: sessions with live-view debugging, AI web agents, persistent contexts, downloads, fetch/search, and serverless functions.
Best for MCP hosts that want a local browser-automation connector covering the entire Browserbase API — from "open a browser and show me" to "run an agent that extracts pricing data".
Status
- Version: 0.1.1 · npm
- Auth: API key (
BROWSERBASE_API_KEY) - Tools: 53 (projects, sessions, contexts, agents, agent runs, downloads, extensions, certificates, fetch/search, functions)
- Surface: cloud-api
- Machine-readable:
STATUS.json
Why this exists
Browserbase's API spans everything from raw CDP sessions to fully-managed AI agents. This package exposes all of it to local stdio MCP hosts as a single connector with deliberate guardrails: session billing is called out in tool descriptions, destructive actions are annotated, external web content is always wrapped as untrusted data, and long-running work is polled (Browserbase has no webhooks).
Example interaction
"Extract the pricing tiers from example.com and give them to me as JSON."
Tools the host calls:
create_agent_run— starts a run with the task and aresult_schemafor the JSON shape.wait_for_agent_run— polls until the run completes and returns the structured result.get_agent_run_messages— (optional) shows what the agent did, step by step.
Response (trimmed):
Requirements
- Node.js 20+
- npm
- A Browserbase API key (browserbase.com/settings).
One-click install
[Add to Cursor] [Add to VS Code] [Add to VS Code Insiders]
After clicking the button, your host will prompt you to fill: BROWSERBASE_API_KEY.
Manual config for Claude Desktop / Claude Code / Goose / Continue.dev (Browserbase)
Quick Start
Install & build
npx
Local
Configuration
When running inside a host that provides the credential bridge, configure_browserbase_api_key persists the key through the host instead of the environment.
MCP Host Configuration
Security notes
Sessions are billed — release them
Every create_session starts a billable browser (per-minute, 1-minute minimum). The create_session and end_session descriptions tell the agent this explicitly, and end_session should be called as soon as automation finishes. Exceeding the project's concurrency limit returns 429 with a retry-after window that the error resolution surfaces verbatim.
Live-view URLs grant control
get_session returns a credentialed connectUrl and get_session_debug_urls returns debugger/live-view URLs. Anyone with these URLs can watch AND drive the browser — they are for sharing with the session's owner, never publicly.
External content is always enveloped
Anything authored outside your account — fetched page content, search results, page titles in debug URLs, agent run tasks/results/messages, CDP log bodies, replay playlists, download filenames, function output, error details — is wrapped in <untrusted-content source="browserbase:…"> envelopes with close-tag breakout escaping before it reaches the model. CDP log rawBody values are additionally truncated beyond ~4KB with a truncation note.
File uploads are workspace-sandboxed
upload_session_file, upload_extension, and upload_certificate accept local file_paths. Reads are constrained to MCP_WORKSPACE_PATH (or the system temp directory when unset) using canonical-prefix containment: .. traversal, absolute paths outside the sandbox, and symlinks that escape it are rejected before any disk read. The read is open-then-validate: the connector opens a descriptor, confirms the opened inode is the file the sandbox approved, reads through that descriptor, and re-checks it after the read — a file swapped or modified mid-read fails closed.
fetch_url cannot probe internal networks
fetch_url (and the URLs embedded in search results you might fetch next) are guarded by a public-URL check: only http:///https:// schemes, and localhost, loopback, link-local, and private IP ranges are rejected before any request is sent.
Delete and stop tools are annotated as destructive
delete_context, delete_agent, delete_download, delete_extension, delete_certificate, end_session, stop_agent_run, invoke_function, and all create_*/upload_* tools carry destructiveHint: true. Deletes are permanent; hosts should require explicit user confirmation.
Tools (53)
Configuration
- configure_browserbase_api_key — Save your Browserbase API key (host-persisted when a bridge is present)
Projects
- list_projects — List projects (IDs, concurrency limits, default timeouts)
- get_project — Get one project's details
- get_project_usage — Browser minutes and proxy bytes consumed
Sessions
- create_session — Create a cloud browser session (billed per minute; returns connectUrl)
- list_sessions — List sessions, filtered by status or userMetadata query
- get_session — Get a session's status and connectUrl
- end_session — Release a session (REQUEST_RELEASE semantics; sessions also auto-expire)
- get_session_debug_urls — Live-view + debugger URLs to share with a human
- get_session_logs — CDP-level session logs (raw bodies truncated beyond ~4KB)
- get_session_replays — List recorded pages available for replay
- get_session_replay_playlist — Fetch a page's m3u8 replay playlist
- request_session_recording_downloads — Request async MP4 assembly (HTTP 202)
- get_session_recording_downloads — Poll MP4 status; get short-lived signed URLs
- upload_session_file — Upload a sandboxed local file to /tmp/.uploads/ in the session
Contexts (persistent browser state)
- create_context — Create a context for persisting cookies/storage across sessions
- get_context — Get a context's details
- delete_context — Permanently delete a context
Agents
- create_agent — Create a reusable agent (name, system prompt, result schema)
- list_agents — List agents (cursor-paginated, date-filterable)
- get_agent — Get an agent's prompt and result schema
- update_agent — Partially update an agent
- delete_agent — Delete an agent (existing runs unaffected)
Agent Runs
- create_agent_run — Start a run (ad-hoc or with an agent; %variable% substitution for sensitive values)
- list_agent_runs — List runs (cursor-paginated, filterable)
- get_agent_run — Get a run's status and terminal result/cause
- wait_for_agent_run — Recommended: poll until terminal and return the result
- get_agent_run_messages — The run's UIMessage conversation (since/nextSince feed)
- stop_agent_run — Stop a running run (202; 409 if already terminal)
Downloads (files downloaded inside sessions)
- list_downloads — List downloads for a session (offset-paginated, filterable)
- get_download_info — Metadata (size, checksum, MIME type)
- get_download_file — Fetch the bytes as base64 (8MB inline cap)
- delete_download — Permanently delete a download
Extensions
- upload_extension — Upload a zipped Chrome extension (sandboxed file read)
- get_extension — Get an uploaded extension
- delete_extension — Permanently delete an extension
Certificates
- upload_certificate — Upload a CA certificate for TLS-inspecting proxies
- list_certificates — List uploaded certificates
- get_certificate — Get a certificate
- delete_certificate — Permanently delete a certificate
Fetch & Search
- fetch_url — Server-side fetch: raw body, markdown, or schema-driven JSON
- web_search — Web search with ranked results
Functions (serverless browser automations — list/invoke/inspect only)
- list_functions — List deployed functions
- get_function — Get a function
- invoke_function — Invoke a function (async 202; poll the invocation)
- list_function_versions — List a function's versions
- get_function_version — Get a version's userParamsSchema (check before invoking)
- list_function_invocations — List a version's invocations
- get_function_invocation — Get an invocation's status, results, and cause
- get_function_invocation_logs — An invocation's logs
- list_function_builds — List function builds
- get_function_build — Get a build's status and failure cause
- get_function_build_logs — A build's logs
API coverage notes
- Deprecated upstream:
GET /sessions/{id}/recording(rrweb event dump) is deprecated by Browserbase and returns a deprecation 404 — it is deliberately not exposed. Useget_session_replays/get_session_replay_playlist(watchable) or the recording-download tools (MP4 files) instead. - No webhooks: Browserbase is poll-based. Agent runs (
wait_for_agent_run/get_agent_run), recording downloads (get_session_recording_downloads), and function invocations (get_function_invocation) are all polled. - No list endpoints for contexts or extensions — record the IDs returned at creation.
- Functions are deploy-only via the Browserbase CLI — this connector lists, inspects, and invokes existing functions; it cannot create them.
Error handling
All upstream errors are returned as structured JSON with ok: false, a semantic code (AUTH_REQUIRED, VALIDATION_FAILED, NOT_FOUND, CONFLICT, GONE, RATE_LIMITED, PAYMENT_REQUIRED, UPSTREAM_ERROR, TIMEOUT, …), and an actionable resolution. Rate-limit errors include the server-provided retry-after window. Upstream error text is enveloped as untrusted content, and the API key never appears in any output.
Licence
FSL-1.1-MIT — Functional Source License, Version 1.1, with MIT future licence. The software converts to MIT licence on 2030-04-08.
Source: connectors/browserbase/README.md at commit 22c4611
Tools
0Version history
1- v0.1.1LatestSep 16, 2026
Score
40% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.