Skip to main content
Glama
ollrich

Browser Control MCP

by ollrich

FireMCP

Release License: MIT

English | Deutsch

FireMCP lets your AI assistant read your real Firefox: open tabs, live rendered pages, search within pages, history, bookmarks and screenshots. It consists of a Firefox add-on and a local MCP server, so it works with Claude Desktop, Claude Code and other MCP clients.

It reads what you already see in your browser, including pages behind a login and pages that only render with JavaScript, where a plain web fetch returns stale or empty content. It can open, close and arrange tabs, but it never clicks, types, submits forms or runs scripts of its own on pages.

Tools

Reading pages

Tool

What it does

read-tab

Read an open tab, found by URL or title fragment, by tab ID, or the active tab

read-tabs

Read several open tabs in one call

open-and-read-tab

Open a URL, wait until it has rendered and return its text

open-and-read-tabs

Open several URLs in background tabs, read them and close them again

search-tab

Find text in a tab and return snippets with offsets

read-page-meta

Meta tags, Open Graph, JSON-LD and headings of a page

read-selection

The text you have selected in a tab

get-tab-web-content

Full text and links of a tab (the original low level tool)

capture-tab-screenshot

Screenshot of the visible part of a tab

The reading tools return compact text, by default up to 40,000 characters per call with the offset to continue from. Options: format: "markdown" keeps headings, lists, links and tables, mainContentOnly leaves out navigation and sidebars, selector and excludeSelector pick parts of a page, and redactPersonalData masks e-mail addresses, phone numbers, IBANs and card numbers.

Browser data

Tool

What it does

get-list-of-open-tabs

Open tabs with state (active, unloaded, loading), filter and sort

get-current-tab

The tab you are looking at

get-tab-metadata

Details of one tab

get-recent-browser-history

Visited pages, newest first, filtered by words and age

search-bookmarks

Bookmarks with folder path and date added

Tabs

Tool

What it does

open-browser-tab

Open a page in a new tab

close-browser-tabs

Close tabs

reorder-browser-tabs

Change the order of tabs

group-browser-tabs

Put tabs into a named, colored tab group

find-highlight-in-browser-tab

Find and highlight text in a tab

Related MCP server: blackmount-mcp

What stays under your control

  • Local only. The add-on talks to the MCP server on your computer over 127.0.0.1 and ::1, and only accepts commands signed with a secret key that only the two of them know. FireMCP has no server of its own and collects no telemetry.

  • Consent per site. The add-on reads a page only after you have allowed its site once. History, bookmarks and find on page are optional permissions, asked for on first use. A screenshot needs a click on the FireMCP toolbar button in that tab.

  • Deny list. Sites on the list are never read or opened and are left out of history and bookmark results.

  • Switches and log. Every tool can be switched off in the add-on's settings, and the last 100 actions are logged there.

Your assistant sees whatever it reads. Pages can contain text written to mislead AI assistants, so keep an eye on what your assistant does with your browser, as with any MCP server.

Installation

You need Firefox 140 or later.

1. Firefox add-on

Open the latest release in Firefox and click firemcp-<version>.xpi. The add-on is signed by Mozilla and updates itself. Its settings page opens after the installation and shows the secret key that the MCP server needs.

2. MCP server

Claude Desktop: Download firemcp-<version>.dxt from the same release and open it, or drag it into the extensions page of Claude Desktop's settings. Enter the secret key under "Configure" and switch the extension on.

Claude Code (needs Node.js 22 or later):

git clone https://github.com/ollrich/firemcp.git
cd firemcp
npm install
npm run build
claude mcp add firemcp --scope user -e EXTENSION_SECRET=<secret> -- node "$PWD/mcp-server/dist/server.js"

Other MCP clients: Build as above, then add the server to the client's configuration:

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

The connection to the add-on is up a few seconds after the server starts.

Settings

Variable

Default

Meaning

EXTENSION_SECRET

(required)

Secret key from the add-on's settings page

EXTENSION_PORT

8089

Port for the connection to the add-on; must match the add-on's settings

BROWSER_MCP_TOOLS

all

all, read (only reading tools plus opening pages) or a comma separated list of tool names

BROWSER_MCP_DEBUG

off

1 writes a detailed log to stderr

Several MCP clients

Several clients can use the same Firefox at once, for example Claude Desktop and a few Claude Code sessions. The first server process for a port and secret owns the connection to the add-on; further processes with the same values pass their calls on to it. A second browser or Firefox profile gets its own port and secret.

The original add-on

FireMCP grew out of Browser Control MCP. The server also works with that add-on from addons.mozilla.org, with fewer features: no markdown, no selectors, no page metadata, selected text or bookmarks. Tools that need the FireMCP add-on say so.

Examples

  • "Read the open Jira tab and list the tickets assigned to me."

  • "Search my history for the article about night trains I read last week and summarize it."

  • "Open the three newest results on the conference page and compare their deadlines."

Development

npm install
npm run build   # MCP server and add-on, the XPI lands in firefox-extension/web-ext-artifacts
npm test        # server tests (node:test) and add-on tests (Jest)
  • mcp-server: the MCP server (TypeScript, Node.js)

  • firefox-extension: the Firefox add-on (Manifest V2), texts in _locales/en and _locales/de

  • common: message types shared by both

For a test without signing, load firefox-extension/manifest.json as a temporary add-on in about:debugging. Architecture, project rules and the release steps are in AGENTS.md.

Credits

FireMCP builds on the work of others:

Their full history is part of this repository. FireMCP itself is maintained by Oliver Eichhof (ollrich).

License

MIT. Firefox is a trademark of the Mozilla Foundation; FireMCP is not affiliated with Mozilla.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to control and automate your Chrome browser directly, leveraging existing login states and configurations for tasks like content analysis, semantic search across tabs, screenshots, network monitoring, and interactive operations.
    12
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to access and search local browser history, bookmarks, open tabs, and downloads for personalized context.
    MIT
  • A
    license
    C
    quality
    C
    maintenance
    Enables AI assistants to read and drive a real, logged-in Firefox browser, including tabs, cookies, history, and site interactions, all through the Model Context Protocol.
    52
    10 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to access individual Firefox tabs in their real logged-in state with time-limited, clearly marked, and revocable sharing. Supports both view-only and full-control modes, including interaction, navigation, and automation of the shared tab.
    1
    MIT