# eyalzh/browser-control-mcp [Health: Active]

**Category:** 📂 Browser Automation  
**Repository:** https://github.com/eyalzh/browser-control-mcp  
**GitHub Stars:** 321  
**Views:** 3  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/eyalzh-browser-control-mcp

## Description
An MCP server paired with a browser extension that enables LLM clients to control the user's browser (Firefox).

## Claude Desktop Quick Installation
Heuristic fallback — verify the package name and runner against the repository README before running it. Uses `npx` (confidence: low):

```json
"mcpServers": {
  "browser-control-mcp": {
    "command": "npx",
    "args": ["-y","eyalzh-browser-control-mcp"],
    "env": {
      "EXTENSION_SECRET": "",
      "EXTENSION_PORT": ""
    }
  }
}
```

**Requires environment variables:** `EXTENSION_SECRET`, `EXTENSION_PORT` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What eyalzh/browser-control-mcp MCP server does

e yalzh/browser-control-mcp MCP server gives an MCP-compatible assistant access to selected information and organization features in a user's Firefox browser. It can open and close tabs, list current tabs, create named and colored tab groups, and reorder tabs. It can also search and read browser history.

For browsing and research tasks, the server can provide webpage text and links, subject to user consent. An assistant can find and highlight text in a tab and capture the visible area of a tab as a screenshot. These capabilities support tasks such as grouping work tabs, locating previously visited articles, opening search results, and comparing content from pages already open in Firefox.

## How it works

The system has two parts: an MCP server and a Firefox extension. The extension runs in Firefox and communicates with the local server through a shared secret. The server is then added to an MCP client's server configuration, such as Claude Desktop's configuration file.

The extension requires explicit consent before exposing webpage text and links for a domain. Screenshot access requires authorization for each individual tab through the extension toolbar. Firefox's `activeTab` permission limits that screenshot authorization to the relevant tab and causes it to expire when the tab navigates or closes. The extension does not request broad host permissions for screenshots.

Communication is local-only, with no remote data collection or tracking described in the project materials. The extension also provides an audit log for tool calls and settings for enabling or disabling tools.

## Setup and configuration

Install the Firefox add-on from addons.mozilla.org, use a prebuilt release, or build the project from source. A source build requires cloning the repository and running `npm install`, followed by `npm run build`. A temporary Firefox add-on can be loaded through `about:debugging` by selecting the `manifest.json` file in the `firefox-extension` directory.

After installing the extension, copy the secret shown on its preferences page. Configure the MCP server to run the built `dist/server.js` file with Node, and set `EXTENSION_SECRET` to that copied value. The server uses port 8089 by default; `EXTENSION_PORT` can change it. Docker is also supported by building the provided image and passing the secret to the container.

The repository provides a downloadable DXT package for Claude Desktop. The extension and server must both be installed and enabled, and connection startup may take a few seconds.

## Tools and capabilities

The eyalzh/browser-control-mcp MCP server supports these documented operations:

- Open, close, list, and reorder tabs.
- Create tab groups with a name and color.
- Search and read browser history.
- Read webpage text and links with consent.
- Find and highlight text in a tab with consent.
- Capture a tab's visible area with per-tab authorization.

## Limitations and notes

The project is experimental, so tool calls should be reviewed and authorized carefully. It is intentionally narrower than general web automation: it cannot modify webpages, interact with page controls, or run arbitrary scripts. Reading webpage content is consent-controlled for each domain, while screenshots require a separate toolbar authorization for each tab. The documented client-specific installation path is Claude Desktop; other client compatibility is not established by the supplied material.

_Full upstream README: https://allmcps.com/mcp/eyalzh-browser-control-mcp/readme_

