firefox-browser-control
Firefox Browser Control para Codex
Crea y controla la sesión de Firefox que ya tienes abierta desde Codex. El complemento puede listar y organizar pestañas no privadas, crear grupos de pestañas nativos y abrir, activar, navegar o cerrar pestañas de forma segura.
La extensión de Firefox y su puente se ejecutan localmente, sin escuchador TCP, telemetría, publicidad ni solicitudes de red directas de la extensión. La información del navegador que solicite el usuario se envía a su entorno de Codex configurado; consulta la política de privacidad.
Qué puede hacer
Comprobar si está conectada la extensión complementaria de Firefox.
Enumerar pestañas y grupos de pestañas nativos.
Agrupar pestañas seleccionadas o agrupar pestañas según coincidencias de URL/título.
Desagrupar, abrir, activar, navegar y cerrar pestañas.
De forma intencionada, no puede leer el contenido de la página, hacer clic en elementos, rellenar formularios, inspeccionar ventanas privadas ni navegar a URLs que no sean HTTP(S).
Ejemplos de comandos:
"Agrupa mis pestañas de Gmail abiertas en Firefox."
"Lista mis pestañas abiertas de Firefox."
"Abre la documentación del proyecto en una pestaña nueva de Firefox."
Related MCP server: universal-browser-bridge
Instalación
Consulta plugins/firefox-browser-control/INSTALL.md para obtener la configuración completa. En resumen:
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.mjsInstala la extensión firmada desde Mozilla Add-ons cuando esté disponible. Durante el desarrollo, carga plugins/firefox-browser-control/extension/manifest.json temporalmente desde about:debugging#/runtime/this-firefox. Después inicia una nueva tarea de Codex.
Cómo funciona
La implementación es un puente local de cuatro partes:
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 descubre
.mcp.jsondesde el manifiesto del plugin y ejecutascripts/mcp-server.mjs.El servidor MCP expone herramientas muy descriptivas, como
firefox_list_tabsyfirefox_group_tabs.Una llamada de herramienta se asocia con un ID de solicitud aleatorio y se envía a través del socket local de Unix.
scripts/native-host.mjsretransmite esa solicitud mediante el protocolo de mensajería nativa de Firefox con prefijo de longitud.extension/background.jsejecuta la operación solicitada con las APIs WebExtension de Firefox y devuelve el resultado por la misma ruta.
El host nativo posee el socket siempre que la extensión de Firefox esté conectada. El servidor MCP abre una conexión de socket de corta duración por cada llamada a una herramienta, por lo que no se requiere ningún demonio en segundo plano fuera de Firefox.
Por qué hay dos protocolos
Codex usa Model Context Protocol a través de stdio, mientras que las extensiones de Firefox solo pueden comunicarse con programas locales mediante mensajería nativa. El pequeño puente de socket Unix conecta ambos entornos sin abrir ningún puerto TCP ni exponer el navegador a la red.
Superficie de herramientas
Herramienta | Finalidad |
| Confirmar que la extensión y el puente nativo están conectados. |
| Devolver IDs de pestañas, orígenes sanitizados, ventanas e IDs de grupos. |
| Enumerar los IDs nativos de grupos de pestañas de Firefox y su estado de visualización. |
| Colocar los IDs de pestañas seleccionados en un grupo con nombre. |
| Buscar pestañas por URL/título y agruparlas por ventana. |
| Quitar pestañas de su grupo actual. |
| Abrir una URL. |
| Navegar una pestaña seleccionada. |
| Enfocar una pestaña y su ventana. |
| Cerrar las pestañas seleccionadas. |
Modelo de seguridad
El puente escucha en un socket Unix, no en un puerto TCP.
El socket está restringido al usuario actual del sistema operativo (
0600).Firefox acepta mensajes nativos únicamente desde el ID de la extensión declarado por el instalador.
Las pestañas de navegación privada son invisibles para la extensión.
Las URLs completas, la consulta o fragmento de la URL, los títulos de página y el contenido de página no se devuelven a Codex; los resultados del listado de pestañas solo contienen orígenes.
El servidor MCP aplica thena JSON explícita y una asignación fija de herramienta a método.
Las solicitudes expiran transcurridos diez segundos.
La extensión solo realiza los métodos de pestañas que están en su despachador fijo y restringir la navegación a URLs HTTP(S) además de
about:blank.El fallback de directorio temporal hueco crea un directorio por usuario con permisos
0700, y un socket0600.
La extensión no solicita permisos de host para ningún sitio web y no hace ninguna solicitud de red directa. Solo transmite actividad de navegación sanada cuando el usuario inicia un comando de Codex para la gestión de pestañas.
Estructura del repositorio
.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 guidanceDesarrollo
Ejecuta las comprobaciones del repositorio con Node.js 20 o posterior:
npm testCompila el paquete de extensión listo para AMO:
npm run build:extensionEl paquete ZIP se escribe en artifacts/. El texto de la ficha de la tienda, las instrucciones para revisores y el checklist de envío están en store/AMO_SUBMISSION.md.
Después de cambiar la extensión, usa Recargar junto al complemento temporal en about:debugging. Después de cambiar los metadatos del plugin, la skill o el servidor MCP, reinstala el plugin e inicia una nueva tarea de Codex.
Limitaciones
La extensión no está firmada y deberá cargarse de nuevo después de reiniciar Firefox.
La instalación automática del host nativo actualmente es compatible con Linux y macOS.
El relé actualmente usa sockets Unix y no es compatible con Windows.
La extensión requiere Node.js, el host nativo y Codex o el cliente de revisión independiente.
Esta es una integración independiente de la comunidad y no está afiliada ni respaldada por Mozilla o OpenAI.
Licencia
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