
How to add Browser Control MCP to Windsurf
MCP server paired with a Firefox extension for tab management, history search, and reading webpage content. Paste the config into ~/.codeium/windsurf/mcp_config.json and restart Windsurf.
Last updated June 14, 2026 · 294★ · stdio · apikey
Windsurf config for Browser Control MCP
npm install && npm run build{
"mcpServers": {
"browser-control-mcp": {
"command": "node",
"args": [
"/path/to/repo/mcp-server/dist/server.js"
],
"env": {
"EXTENSION_SECRET": "<secret_on_firefox_extension_options_page>",
"EXTENSION_PORT": "8089"
}
}
}
}Setup steps
- 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
- 2Paste the Browser Control MCP config below.
- 3Fill in placeholder secrets, then save.
- 4Click Refresh in the MCP panel.
- 5Browser Control MCP's tools become available to Cascade.
Before you start
- Firefox browser with the Browser Control MCP extension installed (from addons.mozilla.org or as a temporary add-on)
- Node.js (to run the MCP server) or Docker
- The EXTENSION_SECRET shown on the extension's preferences page in Firefox
- An MCP client such as Claude Desktop
What Browser Control MCP can do in Windsurf
Open or close tabsOpen new browser tabs or close existing ones.
Get the list of opened tabsRetrieve the list of currently opened tabs in the browser.
Create tab groupsCreate tab groups with a specified name and color.
Reorder opened tabsRearrange the order of opened tabs in the browser.
Read and search browser historyRead and search the browser's browsing history.
Read a webpage's text content and linksRead the text content and links of a webpage. Requires explicit user consent per domain.
Find and highlight text in a tabFind and highlight text within a browser tab. Requires explicit user consent.
Security
Uses a local-only connection with a shared secret (EXTENSION_SECRET) between the MCP server and the Firefox extension. Reading webpage content requires explicit user consent per domain, enforced at the extension's manifest level. The extension does not support page modification, interactions, or arbitrary scripting, performs no remote data collection or tracking, provides an extension-side audit log for tool calls and per-tool enable/disable configuration, and has no runtime third-party dependencies. The project is still experimental; authorize and monitor tool calls carefully.
Browser Control MCP + Windsurf FAQ
Where is the Windsurf config file?
Windsurf reads MCP servers from ~/.codeium/windsurf/mcp_config.json. Paste the Browser Control MCP config there under the "mcpServers" key and restart the client.
Is Browser Control MCP safe to use with Windsurf?
Uses a local-only connection with a shared secret (EXTENSION_SECRET) between the MCP server and the Firefox extension. Reading webpage content requires explicit user consent per domain, enforced at the extension's manifest level. The extension does not support page modification, interactions, or arbitrary scripting, performs no remote data collection or tracking, provides an extension-side audit log for tool calls and per-tool enable/disable configuration, and has no runtime third-party dependencies. The project is still experimental; authorize and monitor tool calls carefully.
Which browser is supported?
Firefox. The companion extension is available on addons.mozilla.org and can also be installed as a temporary add-on from a pre-built .xpi file.
How is it more secure than web automation MCP servers?
It does not support page modification, page interactions, or arbitrary scripting. Reading webpage content requires explicit per-domain user consent enforced at the extension's manifest level, it uses a local-only connection with a shared secret, performs no remote data collection, provides an audit log of tool calls, and has no runtime third-party dependencies.
How do I install it with Claude Desktop?
Install the Firefox extension, then download the Claude Desktop DXT file (linked from the extension's 'Manage extension' page or the GitHub releases) and open it or drag it into Claude Desktop's settings. Enable the DXT extension after installing. Alternatively, build the MCP server from source and add the mcpServers configuration manually.