browser control mcp
An MCP server paired with a Firefox extension that enables LLM clients to control the user's browser, supporting tab management, history search, and content reading.
An MCP server paired with a Firefox extension that enables LLM clients to control the user's browser, supporting tab management, history search, and content reading.
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: - Open or close tabs - Get the list of opened tabs - Reorder opened tabs - Read and search the browser's history - Read webpages text content and links - Find and highlight text in a browser tab
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/).