Browser Use
OFFICIAL SERVERLocal MCP server that drives a Chrome or Chromium browser step by step, with an agent fallback
Local bridge that turns your logged-in Chrome tabs into MCP tools for web apps and the browser
By opentabs-dev (individual) JavaScript Local · stdio, Streamable HTTP Browser automation
48 popularity score ★ 1.0k ↓ 281/wk
Opens the app, which asks before it adds the server.
claude mcp add --transport http opentabs http://127.0.0.1:9515/mcp{
"mcpServers": {
"opentabs": {
"url": "http://127.0.0.1:9515/mcp"
}
}
}{
"servers": {
"opentabs": {
"type": "http",
"url": "http://127.0.0.1:9515/mcp"
}
}
}[mcp_servers.opentabs]
url = "http://127.0.0.1:9515/mcp"gemini mcp add --scope user --transport http opentabs http://127.0.0.1:9515/mcpOpens the app, which asks before it adds the server.
npm install -g @opentabs-dev/cli
opentabs startclaude mcp add opentabs -- opentabs start --stdio{
"mcpServers": {
"opentabs": {
"command": "opentabs",
"args": [
"start",
"--stdio"
]
}
}
}{
"mcpServers": {
"opentabs": {
"command": "opentabs",
"args": [
"start",
"--stdio"
]
}
}
}{
"servers": {
"opentabs": {
"type": "stdio",
"command": "opentabs",
"args": [
"start",
"--stdio"
]
}
}
}[mcp_servers.opentabs]
command = "opentabs"
args = ["start", "--stdio"]gemini mcp add --scope user opentabs opentabs -- start --stdioPORT |
Optional: Port the local server listens on; 9515 by default (also --port). |
|---|---|
OPENTABS_CONFIG_DIR |
Optional: Moves the config directory away from ~/.opentabs. |
OPENTABS_TELEMETRY_DISABLED |
Optional: Set to 1 to turn off anonymous telemetry (DO_NOT_TRACK=1 also works). |
OPENTABS_DANGEROUSLY_SKIP_PERMISSIONS |
Optional: Set to 1 to bypass all per-tool permission checks. |
OpenTabs runs a small HTTP server on your own machine (port 9515 by default) and pairs it with a Chrome extension. An MCP client connects to the server, the extension connects to the same server over a WebSocket, and tool calls are carried out inside the browser tabs you already have open, using the sessions you are already signed in with. Instead of clicking through pages, plugins call each site's own web APIs from inside the tab.
Two kinds of tools come out of it. Built-in browser tools work on any tab with no plugin: 76 of them at version 0.0.115 (counted in platform/mcp-server/src/browser-tools/index.ts, which matches the docs' count), covering tabs, windows and tab groups, clicking and typing, screenshots, page HTML, cookies and storage, console logs, network capture and request interception, history, bookmarks, downloads and device emulation. Plugins add site-specific tools; the project says it has more than 100 plugins (Slack, Discord, GitHub, Jira, Notion, Stripe and others), installed one at a time with `opentabs plugin install <name>`, and you can write and publish your own.
There are several ways to connect. The default /mcp endpoint loads every enabled tool into the client. A gateway endpoint at /mcp/gateway exposes only two tools, `opentabs_list_tools` and `opentabs_call`, for clients with little room for tool schemas. `opentabs start --stdio` lets a client launch a stdio bridge, and agents with shell access can skip MCP and use `opentabs tool call`. Every tool starts off disabled and is set per plugin or per tool to Off, Ask or Auto. The settings file ~/.opentabs/config.json is written with 0600 permissions, and it holds `updateCheckIntervalMinutes`, which makes the server check npm for updates every 30 minutes by default (0 turns it off) (platform/mcp-server/src/config.ts at v0.0.115).
| Runtime | Node.js 22+ |
|---|
Node.js 22 or newer and Google Chrome. Install the CLI globally with `npm install -g @opentabs-dev/cli`, run `opentabs start` once, then load the unpacked extension from ~/.opentabs/extension in chrome://extensions with Developer mode turned on. You must already be signed in to each site you want a plugin to use, and each site needs its plugin installed with `opentabs plugin install <name>`.
Chrome only; the extension is loaded unpacked by hand (not in the Chrome Web Store). The HTTP server has to be running: the docs say `opentabs start --stdio` is a bridge to that server and does not start one itself, even though they also present it as a way to skip a manual `opentabs start`. Site tools exist only for sites that have a plugin; the rest go through the generic browser tools. The default /mcp endpoint loads every enabled tool schema; the docs suggest /mcp/gateway when many plugins are on. The audit endpoint keeps the last 500 tool calls. Anonymous telemetry is on by default. The project states it is not affiliated with or endorsed by any of the services its plugins reach.
Suits a developer who wants an assistant to act in web apps they already use in Chrome (chat, issue trackers, docs, dashboards) without setting up API keys or OAuth apps for each one, and who is comfortable with tools acting as their signed-in self. Because plugins run with your live sessions, it fits people willing to read plugin code before enabling it, as the docs themselves advise. Pick something else if you use a browser other than Chrome, need a headless or server-side setup, or want a service's official API server with its own scoped tokens instead of your full browser session.
browser_list_tabsbrowser_open_tabbrowser_close_tabbrowser_navigate_tabbrowser_focus_tabbrowser_get_tab_infobrowser_list_windowsbrowser_create_windowbrowser_update_windowbrowser_close_windowbrowser_list_tab_groupsbrowser_create_tab_groupbrowser_update_tab_groupbrowser_add_tabs_to_groupbrowser_remove_tabs_from_groupbrowser_list_tabs_in_groupbrowser_get_recently_closedbrowser_restore_sessionbrowser_click_elementbrowser_type_textbrowser_press_keybrowser_hover_elementbrowser_select_optionbrowser_scrollbrowser_wait_for_elementbrowser_query_elementsbrowser_handle_dialogbrowser_get_tab_contentbrowser_get_page_htmlbrowser_screenshot_tabbrowser_execute_scriptbrowser_get_element_stylesbrowser_get_cookiesbrowser_set_cookiebrowser_delete_cookiesbrowser_get_storagebrowser_clear_site_databrowser_get_console_logsbrowser_clear_console_logsbrowser_enable_network_capturebrowser_get_network_requestsbrowser_disable_network_capturebrowser_export_harbrowser_get_websocket_framesbrowser_intercept_requestsbrowser_fulfill_requestbrowser_fail_requestbrowser_stop_interceptingbrowser_throttle_networkbrowser_emulate_devicebrowser_search_historybrowser_search_bookmarksbrowser_create_bookmarkbrowser_download_filebrowser_list_downloadsbrowser_notifyplugin_list_tabsplugin_analyze_siteextension_get_stateextension_reload