GitHub - eyalzh/browser-control-mcp: MCP server paired with a browser extension that enables AI agents to control the user's browser. (original) (raw)

Browser Control MCP

An MCP server paired with a browser extension that enables AI agents, such as Claude Desktop, to manage the user's local browser, to interact with open tabs and to use the browser for research and information retrieval.

Features

The MCP server supports the following tools:

In addition, the contents of each opened tab in the browser is available as an MCP resource, allowing the user to select browser tabs in the MCP client itself (e.g. Claude) and load their content into the context.

Example use-cases:

Tab management

Browsing and research

Comparison to web automation MCP servers

The purpose of this MCP server is to provide AI agents with safe access to the user's personal browser. It does not support web pages modification or arbitrary scripting. The browser extension can also be configured to limit the actions that the MCP server can perform (in the extension's preferences page).

Installation

Clone this repository, then run the following commands in the main repository directory to build both the MCP server and the browser extension.

npm install
npm install --prefix mcp-server
npm install --prefix firefox-extension
npm run build

Usage with Firefox

The browser-control-mcp extension was developed for Firefox.

To install the extension:

  1. Type about:debugging in the Firefox URL bar
  2. Click on "This Firefox"
  3. click on "Load Temporary Add-on..."
  4. Select the manifest.json file under the firefox-extension folder in this project
  5. The extension's preferences page will open. Copy the secret key to your clipboard. It will be used to configure the MCP server.

If you prefer not to run the extension on your personal Firefox browser, an alternative is to download a separate Firefox instance (such as Firefox Developer Edition, available at https://www.mozilla.org/en-US/firefox/developer/).

Usage with Claude Desktop:

After installing the extension, add the following configuration to claude_desktop_config.json (use the Edit Config button in Claude Desktop Developer settings):

{
    "mcpServers": {
        "browser-control": {
            "command": "node",
            "args": [
                "/path/to/repo/mcp-server/dist/server.js"
            ],
            "env": {
                "EXTENSION_SECRET": "<secret_from_extension>"
            }
        }
    }
}

Replace /path/to/repo with the correct path.

Set the EXTENSION_SECRET based on the value provided on the extension's preferences in the extension management page in Firefox (you can access it from about:addons).

Make sure to restart Claude Desktop. It might take a few seconds for the MCP server to connect to the extension.