An MCP server paired with a browser extension that enables LLM clients to control the user's browser.
An MCP server paired with a browser extension that enables LLM clients, such as Claude Desktop, to control the user's local browser (Firefox).
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.
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
The final npm run build
command will also generate a shared secret between the MCP server and 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"
]
}
}
}
Replace <path to repo>
with the correct path.
Make sure to restart Claude Desktop.
The browser-control-mcp extension was developed for Firefox.
To install the extension:
about:debugging
in the Firefox URL barmanifest.json
file under the firefox-extension
folder in this projectIf 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/).