firefox-browser-control
Firefox 浏览器控制 for Codex
从 Codex 控制你已经打开的 Firefox 会话。该插件可以列出并整理非隐私标签页,创建原生标签页分组,并安全地打开、激活、导航或关闭标签页。
Firefox 扩展及其配套桥接器在本地运行,没有 TCP 监听、遥测、广告或扩展直接发出的网络请求。用户请求的浏览器数据会传递到他们配置的 Codex 环境中;请参阅隐私政策。
它能做什么
检查 Firefox 配套扩展是否已连接。
列出标签页和原生标签页分组。
对选定的标签页进行分组,或按 URL/标题匹配分组。
解除分组、打开、激活、导航和关闭标签页。
这有意地使人无法读取页面内容、点击元素、填写表单、检查隐私浏览窗口,或导航到非 HTTP(S) URL。
示例提示:
*“By grānse,将已打开页面的地址按 permitted ` component."""
“在 Firefox 中,将已打开的 Gmail 标签页分组。”
“列出我在 Firefox 中打开的标签页。”
“在我 make 新加一个 Firefox 标签页中,打开项目文档。”
Related MCP server: universal-browser-bridge
安装
若需要在 /plugins/firefox-browser-control/INSTALL.md 中查看完整说明,详见 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.mjsSign the extension from Mozilla Add-ons when it becomes available. 在开发期间,可从 about:debugging#/runtime/this-firefox 临时加载 plugins/firefox-browser-control/extension/manifest.json。 然后开始一个新的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 discovers
.mcp.jsonfrom the plugin manifest and already launchesscripts/mcp-server.mjs.MCP
server提供强描述的工具,例如firefox_list_tabs和firefox_group_tabs.工具调用被分配一个随机请求 ID,请求发送至本地 Unix socket。
scripts/native-host.mjs通过 Firefox 的 prefixed-length 原生消息协议转发请求。extension/background.js使用 Firefox WebExtension API 执行请求的操作,并将结果沿同一路径返回。
该原生 host 在 Firefox 扩展连接期间保持持有该 socket。:由于 MCP server 每次调用都会建立短时 socket 连接,因而无需 Firefox 之外的守护进程。
为什么有两个协议
Codex 通过 stdio 来使用 Model Context Protocol,而 Firefox 扩展只能通过原生消息与本地程序交谈。这个小型的 Unix socket 中继将这两种环境相连,不打开 TCP 端口,也不会让浏览器暴露于网络中。
工具表面
工具 | 用途 |
| 确认扩展和本地桥已连接。 |
| 返回标签页 ID、清理后的源、窗口和组 ID。 |
| 列出原生 Firefox 标签组 ID 及其显示状态。 |
| 将明确的标签页 ID 输入到命名组中。 |
| 按 URL / 名称匹配标签页,并按窗口分组。 |
| 从当前组中移除标签页。 |
| 打开一个 URL。 |
| 导航到所选标签页。 |
| 聚焦标签页及其窗口。 |
| 关闭选中的标签页。 |
安全模型
监听 Unix socket,而非网络端口。
该 socket 限制为当前操作系统用户(
0600)。Firefox 只接受来自安装程序声明的扩展 ID 的原生消息。
隐私窗口中的标签页对扩展不可见。
完整 URL、URL 查询 / 片段、页面标题和页面内容不会返回给 Codex;标签页结果仅包含源(origins)。
MCP server 强制严格的 JSON Schema 和固定的工具到方法映射。
请求在十秒后超时。
扩展仅执行调度器中的标签页;导航限定为 HTTP(S) URL 以及
about:blank。当临时目录被会退,每个用户会获得
0700目录,socket 权限为0600。
扩展不会申请任何网站主机权限,也不会发出直接网络请求。 Only 当用户主动发送 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 中临时 Add-ons 旁的 Reload 按钮。修改插件元数据、技能或 MCP server 后,需要重新安装插件并启动新的 Codex 任务。
限制
扩展未签名,因此 Firefox 重启后需要重新加载。
自动安装 native host 目前仅支持 Linux 和 macOS。
中继目前使用 Unix socket,不支持原生 Windows。
该扩展需要 Node.js、native-host 以及 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