Skip to main content
Glama
thenailedone

firefox-browser-control

by thenailedone

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.mjs

Instala 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 profile
  1. Codex descubre .mcp.json desde el manifiesto del plugin y ejecuta scripts/mcp-server.mjs.

  2. El servidor MCP expone herramientas muy descriptivas, como firefox_list_tabs y firefox_group_tabs.

  3. Una llamada de herramienta se asocia con un ID de solicitud aleatorio y se envía a través del socket local de Unix.

  4. scripts/native-host.mjs retransmite esa solicitud mediante el protocolo de mensajería nativa de Firefox con prefijo de longitud.

  5. extension/background.js ejecuta 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

firefox_status

Confirmar que la extensión y el puente nativo están conectados.

firefox_list_tabs

Devolver IDs de pestañas, orígenes sanitizados, ventanas e IDs de grupos.

firefox_list_groups

Enumerar los IDs nativos de grupos de pestañas de Firefox y su estado de visualización.

firefox_group_tabs

Colocar los IDs de pestañas seleccionados en un grupo con nombre.

firefox_group_tabs_by_url

Buscar pestañas por URL/título y agruparlas por ventana.

firefox_ungroup_tabs

Quitar pestañas de su grupo actual.

firefox_open_tab

Abrir una URL.

firefox_navigate_tab

Navegar una pestaña seleccionada.

firefox_activate_tab

Enfocar una pestaña y su ventana.

firefox_close_tabs

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 socket 0600.

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 guidance

Desarrollo

Ejecuta las comprobaciones del repositorio con Node.js 20 o posterior:

npm test

Compila el paquete de extensión listo para AMO:

npm run build:extension

El 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

MIT

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables 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
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables 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
  • F
    license
    Not graded
    quality
    C
    maintenance
    Local 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.

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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