FoxBridge MCP
Allows AI assistants to read and drive a real, logged-in Firefox browser, including tabs, navigation, page content, cookies, history, bookmarks, localStorage, and network requests.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@FoxBridge MCPList my open Firefox tabs and read the active one."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Read and drive your real, logged-in Firefox from an AI assistant — over the Model Context Protocol (MCP).
FoxBridge is two coordinated pieces:
An MCP server (
foxbridge-mcp, this npm package) — reads your on-disk Firefox profile (cookies, history, sessions, localStorage) with zero native dependencies (Node's built-innode:sqlite), and hosts a local WebSocket bridge.A Firefox extension ("FoxBridge") — runs inside your real browser and executes the server's commands with genuine WebExtension APIs, so the assistant drives your actual, logged-in tabs.
Everything runs locally. The extension sends nothing anywhere on its own.
⚠️ Security: FoxBridge grants total read/drive access to your logged-in browser sessions — live cookies (incl.
httpOnlysession tokens), storage, history, and the ability to act as you on any site. Only run it with an assistant you trust, and understand that any data the assistant reads goes to that assistant. Keep it local; treat cookie/token output as credentials.
What it can do
Drive your real Firefox (via the extension — ff_* tools):
ff_status, ff_list_tabs, ff_open_tab, ff_activate_tab, ff_close_tab, ff_navigate, ff_reload, ff_read_page, ff_click, ff_type, ff_scroll, ff_wait_for, ff_eval, ff_fetch (call site APIs as you), ff_download (save files with your auth), ff_network (see the tab's live XHR/fetch calls), ff_get_cookies (incl. httpOnly).
Related MCP server: ruyipage-mcp
Demo
Ask your MCP client (Claude, etc.) things like:
> Search Google for "playwright vs puppeteer" and summarize the top 5 results.
→ opens a tab, reads the results, returns a summary
> Open my exchange dashboard, wait for the balance to load, and read it.
→ ff_navigate + ff_wait_for + ff_read_page (as the logged-in you)
> What API calls does this page make? Then call the balances endpoint and give me the JSON.
→ ff_network to discover the endpoint, then ff_fetch it with your cookies
> Download the PDF linked as "Invoice" on this page.
→ ff_download saves it to ~/Downloads using your sessionRead the on-disk profile (no browser needed):
list_profiles, get_cookies, get_history, get_bookmarks, get_sessions, get_local_storage, get_cache_info, clear_disk_cache.
Optional standalone Playwright browser (playwright is an optional dependency): browser_start, navigate, read_page, eval_js, tab/interaction tools. Not required for the ff_* or on-disk tools.
Install
1. The MCP server
Via npm / npx — add to your MCP client config (e.g. Claude Desktop / Claude Code):
{
"mcpServers": {
"foxbridge": {
"command": "npx",
"args": ["-y", "foxbridge-mcp"]
}
}
}One-click (Claude Desktop): grab the .mcpb bundle from the Releases page and open it — Claude Desktop installs it in one click. (Build it yourself with npm run mcpb:pack.)
Requires Node ≥ 22.5 (for node:sqlite).
2. The Firefox extension
Install FoxBridge from Mozilla Add-ons (AMO): link added after the listing is approved.
Or load it from source for development: about:debugging → This Firefox → Load Temporary Add-on → pick extension/manifest.json.
The extension auto-connects to the server on ws://127.0.0.1:8787. Check with the ff_status tool.
Usage
Ask your assistant things like:
"List my open Firefox tabs and read the active one."
"Open my dashboard, wait for the balance to load, and read it."
"Call this site's API as me and give me the JSON."
Configuration
BRIDGE_PORT(env) — override the bridge port (default8787). Useful to run isolated instances.
Development
npm install # playwright is optional and NOT downloaded automatically
npm run build # compile TypeScript -> dist/
npm start # run the server on stdioExtension packaging/signing:
npm run ext:build # build an unsigned .xpi into dist-ext/
npm run ext:submit # submit to AMO (listed) — needs AMO API credsLicense
MIT © Sina Mohsenifar
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sinamohsenifar/foxbridge-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server