browser-control
MCP server paired with a browser extension that enables AI agents to control the user's browser.
claude mcp add --transport stdio eyalzh-browser-control-mcp node /path/to/repo/mcp-server/dist/server.js \ --env EXTENSION_PORT="8089" \ --env EXTENSION_SECRET="<secret_on_firefox_extension_preferences_page>"
How to use
Browser Control MCP provides a security-conscious bridge between a local Firefox browser extension and an MCP server. The server exposes tools to manage tabs (open/close, list, reorder, group creation with color), read and search browsing history, and read webpage content and links with user consent. The extension enforces consent per domain before reading page content, and the two communicate over a local channel using a shared secret. You can invoke commands like closing non-work tabs, creating a tab group named Development, or searching your history for articles about a topic. When you want to perform more involved research, you can tell the assistant to open a site in the browser, read top stories or papers, and summarize findings, with the extension logging tool calls and configurable enable/disable options.
How to install
Prerequisites:
- Node.js installed on your machine (recommended LTS).
- Firefox browser (with the Browser Control MCP extension, or access to the extension’s DXT/Claude Desktop workflow if using Claude).
Option A: Run the MCP server locally (Node)\n1. Clone the repository and install dependencies:\n npm install\n2. Build the server if needed and start it locally, ensuring the path to the built server.js matches your environment:\n node /path/to/repo/mcp-server/dist/server.js\n3. Set up the MCP configuration file (e.g., claude_desktop_config.json) to point to the server and provide EXTENSION_SECRET and EXTENSION_PORT as required by the extension.\n4. In the Firefox extension preferences, enter the secret and connect to the local MCP server on the configured port.
Option B: Run via Docker\n1. Build the Docker image:\n docker build -t browser-control-mcp .\n2. Run the container with port mapping and environment variables:\n docker run --rm -i -p 127.0.0.1:8089:8089 -e EXTENSION_SECRET=<secret_from_extension> -e CONTAINERIZED=true browser-control-mcp\n3. Create or update your mcpServers configuration to point to the containerized server (the container exposes port 8089 by default).
Prerequisites recap: ensure you have a working Node.js environment, a Firefox profile with the Browser Control MCP extension installed, and a configured MCP client (e.g., Claude Desktop or your own integration) that uses the mcpServers config to connect to http://localhost:8089 (or the port you mapped).
Additional notes
Tips and caveats:
- The extension requires explicit user consent to read webpage content and links. This is enforced in the browser, and the server will reflect this restriction in its behavior.
- Use the EXTENSION_SECRET to tightly couple the MCP server with the extension; never expose this secret beyond your local environment.
- If you modify the extension or server, re-build or re-deploy and update the mcpServers config accordingly.
- The default port is 8089 but you can customize it via EXTENSION_PORT in your environment.
- When using Docker, ensure the host and container networking allow the extension to reach the server; use localhost or the proper network alias as required by your setup.
- The server is experimental; monitor tool calls and enable auditing in the extension to maintain awareness of which capabilities are being invoked.
Related MCP Servers
mcp
Browser MCP is a Model Context Provider (MCP) server that allows AI applications to control your browser
supermemory
Your memories are in ChatGPT... But nowhere else. Universal Memory MCP makes your memories available to every single LLM. No logins or paywall. One command to set it up.
obsidian -tools
Add Obsidian integrations like semantic search and custom Templater prompts to Claude or any MCP client.
Security-Detections
MCP to help Defenders Detection Engineer Harder and Smarter
mcp
Octopus Deploy Official MCP Server
furi
CLI & API for MCP management