Browse Bridge for Cursor
Cursor Plugin that wires Browse Bridge remote MCP into Cursor so agents can observe and control browser tabs you have Explicitly Enabled in the Chrome extension.
- MCP:
https://mcp.browsebridge.com/mcp - Site: https://browsebridge.com
- Chrome extension: listed on the Chrome Web Store
- License: MIT
Prerequisites
- Create an account at https://browsebridge.com/sign-up (plans: https://browsebridge.com/plans).
- Install the Browse Bridge Chrome extension from the Chrome Web Store and sign in with the same account.
- Sign in and open Connections to create an API key (starts with
bbk_). Keep it secret. - Cursor with plugin/MCP support.
Install (Marketplace / local)
Official Marketplace (after listing)
Install browse-bridge from the Cursor Marketplace and paste your API key when prompted (BROWSEBRIDGE_API_KEY).
Local test (before / without Marketplace)
# Copy (do not symlink outside this folder)
cp -R /path/to/browsebridge-cursor-plugin ~/.cursor/plugins/local/browse-bridge
Reload Window, open Customize, configure BROWSEBRIDGE_API_KEY, confirm MCP tools appear (browser_observe, browser_click, etc.).
Manual mcp.json snippet
{
"mcpServers": {
"browse-bridge": {
"url": "https://mcp.browsebridge.com/mcp",
"headers": {
"Authorization": "Bearer ${BROWSEBRIDGE_API_KEY}"
}
}
}
}
Plugin variables only fill in inside the plugin, so for a manual config use your real key or ${env:BROWSEBRIDGE_API_KEY}.
Usage
- Open a normal website tab (not
chrome://). - Click the Browse Bridge toolbar icon, then Enable on the tab you want to share. Accept the confirmation and any Chrome permission prompt. Use Take control (or Ctrl+Shift+Period) to take the tab back at any time.
- In Cursor, use MCP tools such as
browser_list_sessions,browser_observe,browser_click,browser_screenshot. - Challenges / sensitive sites may pause the agent for human Take over or Approve.
Tools (19)
JavaScript dialogs
While the agent has control, a page alert / confirm / prompt stays pending until browser_handle_dialog (or about a 30-second timeout dismiss). Other click, type, and navigate calls while a dialog is open return DIALOG_PENDING. Native HTTP basic or digest sign-in prompts are not JavaScript dialogs (HTTP_AUTH_REQUIRED). The human completes or cancels them. Browse Bridge never types those credentials.
Approvals
Sensitive-site clicks/types/navigations and cross-origin navigations (and cross-origin link clicks) return APPROVAL_REQUIRED. The human Approves or Denies in the Chrome side panel. The agent can withdraw its own request with browser_cancel_approval (APPROVAL_CANCELLED — that is not a human Deny). While an approval is pending, observe/screenshot/wait/get_status/list_sessions/release_control still run.
Configuration
Declared in .cursor-plugin/plugin.json → variables and referenced only as ${BROWSEBRIDGE_API_KEY} in mcp.json.
Privacy & security
See PRIVACY.md and SECURITY.md.
Repo layout
.cursor-plugin/plugin.json
mcp.json
assets/logo.svg
README.md
LICENSE
PRIVACY.md
SECURITY.md
SUPPORT.md