firefox-browser-control
Firefox Browser Control for Codex
Управляйте уже открытой сессией Firefox прямо из Codex. Плагин умеет перечислять и упорядочивать неприватные вкладки, создавать нативные группы вкладок, а также безопасно открывать, активировать, переходить по адресам и закрывать вкладки.
Расширение Firefox и его мост работают локально: без TCP-слушателя, телеметрии, рекламы и прямых сетевых запросов со стороны расширения. Данные браузера, запрошенные пользователем, передаются только в настроенное для него окружение Codex; см. политику конфиденциальности.
Возможности
Проверять, подключено ли сопутствующее расширение Firefox.
Перечислять вкладки и нативные группы вкладок.
Группировать выбранные вкладки или группировать вкладки по совпадению URL/заголовка.
Разгруппировывать, открывать, активировать, переходить по адресам и закрывать вкладки.
Плагин намеренно не может читать содержимое страниц, кликать по элементам, заполнять формы, изучать приватные окна или переходить на адреса, отличные от HTTP(S).
Примеры команд:
«Сгруппируй мои открытые вкладки Gmail в Firefox».
«Покажи список моих открытых вкладок Firefox».
«Открой документацию проекта в новой вкладке Firefox».
Related MCP server: universal-browser-bridge
Установка
Полную настройку см. в plugins/firefox-browser-control/INSTALL.md. Кратко:
git clone https://github.com/thenailedone/firefox-browser-control.git
cd firefox-browser-control
codex plugin marketplace add "$PWD"
codex plugin add firefox-browser-control@firefox-browser-control
node plugins/firefox-browser-control/scripts/install-native-host.mjsУстановите подписанное расширение из Mozilla Add-ons, когда оно станет доступно. Во время разработки временно загружайте plugins/firefox-browser-control/extension/manifest.json из about:debugging#/runtime/this-firefox. Затем запустите новую задачу Codex.
Как это работает
Реализация — это локальный мост из четырёх частей:
Codex
│ MCP over stdio
▼
MCP server (Node.js)
│ newline-delimited JSON over a user-only Unix socket
▼
Firefox native-messaging host (Node.js)
│ Firefox native messaging over stdin/stdout
▼
Firefox WebExtension
│ WebExtension APIs
▼
Non-private tabs and tab groups in the running Firefox profileCodex обнаруживает
.mcp.jsonв манифесте плагина и запускаетscripts/mcp-server.mjs.MCP-сервер предоставляет инструменты со строгим описанием, например
firefox_list_tabsиfirefox_group_tabs.Вызову инструмента присваивается случайный идентификатор запроса, и он передаётся через локальный Unix-сокет.
scripts/native-host.mjsретранслирует запрос через протокол native messaging Firefox с префиксом длины.extension/background.jsвыполняет запрошенную операцию через Firefox WebExtension API и возвращает результат по тому же пути.
Нативный хост удерживает сокет, пока подключено расширение Firefox. MCP-сервер создаёт короткоживущее соединение с сокетом для каждого вызова инструмента, поэтому за пределами Firefox фоновый демон не требуется.
Почему используется два протокола
Codex общается по Model Context Protocol через stdio, а расширения Firefox общаться со локальными программами могут только через native messaging. Небольшая ретрансляционная часть на Unix-сокете соединяет эти окружения, не открывая TCP-порт и не выводя браузер в сеть.
Теблица инструментов
Инструмент | Назначение |
| Подтверждает, что расширение и нативный мост подключены. |
| Возвращает идентификаторы вкладок, очищенные origins, окна и идентификаторы групп. |
| Выводит идентификаторы нативных tab-групп Firefox и состояние их отображения. |
| Помещает явно заданные идентификаторы вкладок в группу с именем. |
| Находит вкладки по URL/заголовоку и группирует их по окнам. |
| Убирает вкладки из их текущей группы. |
| Открывает URL. |
| Переходит на другой адрес в выбранной вкладке. |
| Фокусирует вкладку и её окно. |
| Закрывает выбранные вкладки. |
Модель безопасности
Мост слушает Unix-сокет, а не сетевой порт.
Сокет ограничен текущим пользователем операционной системы (режим
0600).Firefox принимает native-сообщения только от идентификатора расширения, объявленного установщиком.
Вкладки из приватных окон невидимы для расширения.
Полные URL, URL-параметры и фрагменты, заголовки страниц и содержимое страниц не возвращаются в Codex; результаты выдачи вкладок содержат только origins.
MCP-сервер применяет явные JSON-схемы и фиксированное соответствие «инструмент → метод».
Запросы завершаются по таймауту через десять секунд.
Расширение выполняет только методы вкладок из своего фиксированного диспетчера и ограничивает навигацию адресами HTTP(S) и
about:blank.Запасной вариант с временным каталогом создаёт отдельный каталог пользователя с режимом
0700, а сокет получает режим0600.
Расширение не запрашивает прав на хосты сайтов и не совершает прямых сетевых запросов. Оно передаёт очищенную информацию о просмотренных вкладках только тогда, когда пользователь отправляет команду управления вкладками из Codex.
Структура репозитория
.agents/plugins/marketplace.json Codex marketplace catalog
plugins/firefox-browser-control/
.codex-plugin/plugin.json Plugin metadata
.mcp.json MCP server launch configuration
extension/ Firefox WebExtension
scripts/mcp-server.mjs MCP tool server
scripts/native-host.mjs Firefox/native-socket relay
scripts/install-native-host.mjs Native-host installer
scripts/review-client.mjs Standalone reviewer test client
skills/control-firefox/SKILL.md Agent usage guidanceРазработка
Запустите проверки репозитория с Node.js 20 или новее:
npm testСоберите архив расширения, готовый для публикации на AMO:
npm run build:extensionZIP записывается в artifacts/. Описание для магазина, инструкции для ревьюеров и чек-лист отправки находятся в store/AMO_SUBMISSION.md.
После изменения расширения используйте Перезагрузить рядом с временным дополнением в about:debugging. После изменения метаданных плагина, скилла или MCP-сервера переустановите плагин и запустите новую задачу Codex.
Ограничения
Расширение без подписи, поэтому после перезапуска Firefox его нужно загружать заново.
Автоматическая установка нативного хоста сейчас поддерживает Linux и macOS.
Ретранслятор сейчас использует Unix-сокеты и не поддерживает нативную Windows.
Расширению требуются Node.js, нативный хост и либо Codex, либо автономный проверочный клиент.
Это независимая интеграция сообщества; она не аффилирована с Mozilla или OpenAI и не одобрена ими.
Лицензия
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseAqualityCmaintenanceEnables Claude Code to inspect network traffic, query the DOM, read console logs, and capture WebSocket frames in Firefox.17
- AlicenseNot gradedqualityBmaintenanceEnables MCP-compatible AI agents to securely control Chrome tabs via a local bridge, with explicit per-tab sharing and human approval for consequential actions.MIT
- AlicenseNot gradedqualityAmaintenanceEnables MCP-capable CLIs to operate real, already-logged-in Firefox tabs via a WebExtension and native messaging, without simulated input. Supports navigation, clicking, typing, reading, screenshots, and console/network capture with policy gating and frame awareness.MIT
- FlicenseNot gradedqualityCmaintenanceLocal MCP server for Codex that provides on-demand, read-only access to Edge tabs and bookmarks, plus controlled interaction with agent-owned tabs. Requires manual activation via the browser extension and enforces a fail-closed security model.
Related MCP Connectors
Browser MCP for logged-in tasks. Uses your Chrome — credentials stay local. Zero-token replay.
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
Stealth web browser for agents: search, fetch, click and type through persistent sessions over MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/thenailedone/firefox-browser-control'
If you have feedback or need assistance with the MCP directory API, please join our Discord server