# Browserbase MCP connector

Connecting Browserbase to Elaichi lets Claude, ChatGPT, Cursor, or the Elaichi Agent start and review browser sessions, pull recordings and logs, manage saved contexts and projects, and check usage, all inside each person's own Browserbase access.

Source: https://elaichi.ai/connectors/browserbase/

## Facts

| | |
| --- | --- |
| Application | Browserbase |
| Category | Application Development |
| AI tools | 52 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 52 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Browserbase is connected

- Summarize Browserbase sessions started this week by team.
- Which Browserbase sessions ran longest yesterday?
- List Browserbase contexts and the sessions using them.

## Connect Browserbase in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Browserbase.
2. Optionally set Share with, then press Connect.
3. Paste a Browserbase API key. One person generates a token in Browserbase and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Browserbase tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Browserbase to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Browserbase to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Browserbase to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Browserbase to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Browserbase tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Browserbase through Elaichi

### Find out why a browser run failed

Engineering. Ask for the logs and debug links from the Browserbase session that broke overnight, then open the replay to see the exact page where it stopped.

### Review last night's test sessions in one place

QA. List the Browserbase sessions from the latest run, pull their recordings, and get a plain summary of which ones finished cleanly and which did not.

### Start a fresh browser for a collection job

Data. Spin up a new Browserbase session in the right project, upload the file the job needs, and request a recording download when it is done.

### Keep saved browser contexts tidy

Platform. Create a Browserbase context for a reusable login state, update it when credentials rotate, and delete the ones nobody has used in months.

### Check project usage before the invoice lands

Operations. Ask how much browser time each Browserbase project has used this month and which ones are climbing fastest, without opening the dashboard.

### Confirm what an agent did for a customer

Support. Look up a Browserbase agent or session by its ID, walk through the replay page by page, and tell the customer exactly what happened.

## Frequently asked questions

### How do I connect Browserbase to Claude?

Two steps. In Elaichi, choose Browserbase and paste in an API key from your Browserbase dashboard, which is the whole sign-in step, with no OAuth application to register and no client ID or secret to generate. Then in Claude, open Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp. Claude can now work with your Browserbase sessions, contexts, projects, and agents as you.

### Does Browserbase work with ChatGPT and Cursor as well as Claude?

Yes. Once Browserbase is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client, and the Elaichi Agent. You connect Browserbase once and every client you use picks it up.

### What can an AI agent actually do with my Browserbase data?

It can start a new Browserbase session, list the ones already running or finished, and pull the logs, debug links, recordings, and page-by-page replays from any of them. It can also create, update, and delete saved contexts, look up projects and their usage, and manage Browserbase agents. Because Browserbase exposes a lot of actions, short concrete asks like "show me the logs for the session that failed this morning" work better than long instructions.

### Does connecting Browserbase give the AI access to every project?

No. The AI works inside whatever the Browserbase API key you connected can already reach, so it sees the projects, sessions, and contexts that key is allowed to see and nothing more. Elaichi can narrow that access further by team or by action, and it never widens it beyond what Browserbase itself permits.

### Can my team share one Browserbase connection?

Yes. One person connects Browserbase in Elaichi and shares the connection with a team, and nobody else ever handles the API key. Each teammate still signs in to Elaichi as themselves, so every session they start or recording they pull is recorded in the audit log under their own name.

### Can I stop an agent from deleting or changing things in Browserbase?

Yes. Restrictions in Elaichi apply per action, so you can allow reading Browserbase sessions, logs, and replays while blocking deleting contexts, removing agents, or updating a session. A blocked action is never shown to Claude, ChatGPT, or Cursor at all, so no prompt, however worded, can reach it.

### What happens to a Browserbase connection when someone leaves?

When you offboard someone in Elaichi, their access to Browserbase through Elaichi ends immediately, along with everything else they were connected to. A shared Browserbase connection keeps working for the rest of the team. If you ever want to remove Browserbase entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor, and every other client at the same time.

## All 52 Browserbase tools

Every tool below is callable through https://api.elaichi.ai/mcp once Browserbase is connected, subject to the toolbox it is in and the restrictions on the caller.

- **Create a Browserbase session** (Create). Create a new Browserbase session with optional browser settings, proxy configuration, region, and user metadata. Returns: id, createdAt, updatedAt, projectId, startedAt, expiresAt, proxyBytes, keepAlive, connectUrl, seleniumRemoteUrl, signingKey, endedAt, contextId, userMetadata. All body fields are optional; if projectId is omitted it is inferred from the API key. Timeout must be between 60 and…
- **List all Browserbase sessions** (List). List Browserbase sessions, optionally filtered by status or a user metadata query. Returns: id, createdAt, updatedAt, projectId, startedAt, expiresAt, proxyBytes, keepAlive, connectUrl, seleniumRemoteUrl, signingKey, endedAt, contextId, userMetadata.
- **Get single Browserbase session by ID** (Get). Get a single Browserbase session by id. Returns: id, createdAt, updatedAt, projectId, startedAt, expiresAt, proxyBytes, keepAlive, connectUrl, seleniumRemoteUrl, signingKey, endedAt, contextId, userMetadata. Required: id.
- **Update a Browserbase session by ID** (Update). Close or update a Browserbase session by id. Send status REQUEST_RELEASE to end the session before its timeout and avoid unnecessary usage charges. Returns: id, createdAt, updatedAt, projectId, startedAt, expiresAt, proxyBytes, keepAlive, connectUrl, seleniumRemoteUrl, signingKey, endedAt, contextId, userMetadata. Required: id, status.
- **Browserbase sessions get logs** (Get). Retrieve Chrome DevTools Protocol (CDP) logs for a Browserbase session. Returns: method, pageId, sessionId, request, response, timestamp, frameId, loaderId. Required: session_id.
- **Browserbase sessions get debug URLS** (Get). Get live debug URLs for a Browserbase session, including the debugger URL, fullscreen debugger URL, per-page debug URLs, and the WebSocket connection URL. Returns: debuggerFullscreenUrl, debuggerUrl, pages, wsUrl. Required: session_id.
- **Browserbase sessions get recording** (Get). Get the rrweb recording events for a Browserbase session. Returns an array of event objects, each containing: data, sessionId, timestamp, type. Required: session_id.
- **Browserbase sessions get replays** (Get). Get replay page metadata for a Browserbase session. Returns a list of pages (each with pageId, url, startTimeMs, endTimeMs) and a pageCount. Required: session_id.
- **Browserbase sessions get replay page** (Get). Get an HLS VOD media playlist (.m3u8) for a specific page of a Browserbase session replay. Returns the raw m3u8 playlist string. Required: session_id, page_id.
- **Create a Browserbase session recording download** (Create). Enqueue recording downloads (MP4) for a Browserbase session. Returns: downloads, statusCode, error, message. Required: session_id. Poll the list endpoint to check download completion status.
- **List all Browserbase session recording downloads** (List). List per-page recording download status for a Browserbase session, with a short-lived signed URL for each completed page on standard (non-BYOS) projects. Returns: downloads, statusCode, error, message. Required: session_id.
- **Create a Browserbase session upload** (Create). Upload a file to a Browserbase session for use during the browser session. Returns: message. Required: session_id, file.
- **Create a Browserbase context** (Create). Create a Browserbase context for uploading a custom user-data-directory. Returns: id, uploadUrl, publicKey, cipherAlgorithm, initializationVectorSize. Accepts an optional projectId (inferred from the API key if omitted).
- **Get single Browserbase context by ID** (Get). Get a single Browserbase context by id. Returns: id, createdAt, updatedAt, projectId. Required: id.
- **Update a Browserbase context by ID** (Update). Update a Browserbase context by id, refreshing the upload URL and encryption credentials for the user-data-directory. Returns: id, uploadUrl, publicKey, cipherAlgorithm, initializationVectorSize. Required: id.
- **Delete a Browserbase context by ID** (Delete). Delete a Browserbase context by id. Returns an empty 204 response on success. Required: id.
- **List all Browserbase projects** (List). List Browserbase projects. Returns: id, createdAt, updatedAt, name, ownerId, defaultTimeout, concurrency. Max 1000 per page.
- **Get single Browserbase project by ID** (Get). Get a single Browserbase project by id. Returns: id, createdAt, updatedAt, name, ownerId, defaultTimeout, concurrency. Required: id.
- **Browserbase projects get usage** (Get). Get usage statistics for a Browserbase project. Returns: browserMinutes, proxyBytes. Required: project_id.
- **Create a Browserbase agent** (Create). Create a new reusable Browserbase agent with a system prompt and optional result schema. Returns: agentId, name, createdAt, updatedAt, systemPrompt, resultSchema. Required: name.
- **List all Browserbase agents** (List). List Browserbase agents across your account, filterable by creation time. Returns: agentId, name, createdAt, updatedAt, systemPrompt, resultSchema.
- **Get single Browserbase agent by ID** (Get). Get a single Browserbase agent by id. Returns: agentId, name, createdAt, updatedAt, systemPrompt, resultSchema. Required: id.
- **Update a Browserbase agent by ID** (Update). Update an existing Browserbase agent by id. Only the fields provided in the body are modified; omitted fields are left unchanged. Returns: agentId, name, createdAt, updatedAt, systemPrompt, resultSchema. Required: id.
- **Delete a Browserbase agent by ID** (Delete). Delete a Browserbase agent by id. Runs that already referenced this agent are unaffected. Returns an empty 204 response on success. Required: id.
- **Create a Browserbase agent run** (Create). Create a Browserbase agent run from a natural language task. Returns the created run in PENDING state including runId, task, status, createdAt, updatedAt, agentId, sessionId, sandboxId, resultSchema, result, cause, startedAt, and endedAt. Required: task.
- **List all Browserbase agent runs** (List). List Browserbase agent runs with optional filtering by status, agent ID, and creation time range. Returns: runId, task, status, createdAt, updatedAt, agentId, sessionId, sandboxId, resultSchema, result, cause, startedAt, endedAt.
- **Get single Browserbase agent run by ID** (Get). Get a single Browserbase agent run by id. Returns the full run object including runId, task, status, createdAt, updatedAt, sessionId, result, cause, startedAt, and endedAt. Required: id.
- **Browserbase agent runs list messages** (List). List messages produced by a Browserbase agent run in chronological order with oldest messages first. Returns: id, createdAt, message, runId, task, updatedAt, agentId, sessionId, sandboxId, resultSchema, result, cause, startedAt, endedAt. Required: run_id.
- **Browserbase agent runs stop** (Stop). Stop an in-progress Browserbase agent run by run_id. Returns the run object including runId, task, status, createdAt, updatedAt, sessionId, and result. Required: run_id. Stopping a run that has already finished returns a conflict.
- **Browserbase certificates upload** (Upload). Upload a PEM-encoded CA certificate file to a Browserbase project via multipart form data. Browserbase validates that the file is a parseable PEM certificate at upload time (up to 100 MB). Returns: id, createdAt, updatedAt, projectId. Required: file.
- **List all Browserbase certificates** (List). List all certificates in Browserbase. Returns: id, createdAt, updatedAt, projectId. Max 1000 per page.
- **Get single Browserbase certificate by ID** (Get). Get a single Browserbase certificate by id. Returns: id, createdAt, updatedAt, projectId. Required: id.
- **Delete a Browserbase certificate by ID** (Delete). Delete a Browserbase certificate by id. Returns an empty 204 response on success. Required: id.
- **Browserbase extensions upload** (Upload). Upload a browser extension file to Browserbase as multipart form data. Returns: id, createdAt, updatedAt, fileName, projectId. Required: file.
- **Get single Browserbase extension by ID** (Get). Get a single Browserbase extension by id. Returns: id, createdAt, updatedAt, fileName, projectId. Required: id.
- **Delete a Browserbase extension by ID** (Delete). Delete a Browserbase extension by id. Returns an empty 204 response on success. Required: id.
- **List all Browserbase downloads** (List). List Browserbase downloads for a session, with optional filters by filename, MIME type, file size, and creation date. Returns: id, sessionId, filename, mimeType, size, checksum, createdAt. Required: sessionId. Max 100 per page.
- **Get single Browserbase download by ID** (Get). Get a single Browserbase download by id. Returns: id, sessionId, filename, mimeType, size, checksum, createdAt. Required: id.
- **Delete a Browserbase download by ID** (Delete). Delete a Browserbase download by id, removing the file from storage and marking it as deleted. Returns an empty 204 response on success. Required: id.
- **List all Browserbase functions** (List). List Browserbase functions. Returns: id, projectId, name, createdAt, updatedAt. Max 100 per page.
- **Get single Browserbase function by ID** (Get). Get a single Browserbase function by id. Returns: id, projectId, name, createdAt, updatedAt. Required: id.
- **Browserbase functions invoke** (Action). Invoke a Browserbase function by id, triggering asynchronous execution with optional parameters and session creation settings. Returns: id, projectId, functionId, versionId, sessionId, status, createdAt, updatedAt, startedAt, expiresAt, region, params, results, endedAt. Required: function_id.
- **List all Browserbase function versions** (List). List Browserbase function versions for a given function. Returns: id, projectId, functionId, functionBuildId, createdAt, updatedAt, sessionCreateParams, userParamsSchema. Required: function_id. Max 100 per page.
- **Get single Browserbase function version by ID** (Get). Get a single Browserbase function version by id. Returns: id, projectId, functionId, functionBuildId, createdAt, updatedAt, sessionCreateParams, userParamsSchema. Required: id.
- **Browserbase function versions list invocations** (List). List invocations for a Browserbase function version. Returns each invocation's id, projectId, functionId, versionId, sessionId, createdAt, updatedAt, startedAt, expiresAt, region, params, results, and endedAt. Required: version_id.
- **List all Browserbase function builds** (List). List Browserbase function builds, optionally filtered by status. Returns: id, projectId, request, status, createdAt, updatedAt, startedAt, expiresAt, endedAt, builtFunctions, cause. Max 100 per page.
- **Get single Browserbase function build by ID** (Get). Get a single Browserbase function build by id. Returns: id, projectId, request, status, createdAt, updatedAt, startedAt, expiresAt, endedAt, builtFunctions, cause. Required: id.
- **Browserbase function builds get logs** (Get). Get build logs for a Browserbase function build. Returns: logs, total. Required: build_id.
- **Get single Browserbase function invocation by ID** (Get). Get a Browserbase function invocation by id. Returns the full invocation object including id, projectId, functionId, versionId, sessionId, status, createdAt, updatedAt, startedAt, expiresAt, region, params, results, endedAt, and cause. Required: id.
- **Browserbase function invocations get logs** (Get). Get execution logs for a Browserbase function invocation. Returns an object containing the logs array (each entry has a message and timestamp) and the total count of log entries. Required: invocation_id.
- **Browserbase fetch fetch page** (Action). Fetch a page through Browserbase's proxy infrastructure and retrieve the response content in raw, JSON, or markdown format. Returns: id, statusCode, headers, content, contentType, encoding. Required: url.
- **Browserbase search web search** (Search). Search the web via Browserbase. Returns: requestId, query, results. Required: query. Query length 1–200 characters; numResults range 1–25 (default 10).
