mozilla/firefox-devtools-mcp
Model Context Protocol server for Firefox DevTools - enables AI assistants to inspect and control Firefox browser through WebDriver BiDi
Firefox DevTools MCP – 它是什么
Firefox DevTools MCP 是一个模型上下文协议(MCP)服务器,允许 AI 代理控制本地 Firefox 浏览器。它通过一组 RPC 风格的“工具”暴露浏览器的正常 UI 以及内置的开发者工具(控制台、网络监视器、调试器、性能分析器等)。AI 客户端(如 Claude Code、Claude Desktop、Cursor 或 Cline)可以调用这些工具,使浏览器导航、填写表单、点击元素、检查网络流量、运行 JavaScript,甚至调试页面。
为什么存在
- 代理浏览 – 为 LLM 提供一个可操作的浏览器,以完成多步骤的 Web 任务。
- 代理辅助的 Web 开发 – 让 LLM 检查您正在处理的页面、读取控制台输出、分析性能或调试 JavaScript。
服务器通过 WebDriver BiDi(现代双向 WebDriver 协议)与 Firefox 通信,底层使用 Selenium 的驱动程序。
如何使用(高级步骤)
- 安装 Firefox(版本 100+)。服务器会自动检测,或者您可以使用
--firefox-path指定二进制文件。 - 在本地运行 MCP 服务器 – 最简单的方法是使用
npx:
您可以添加标志,如npx @mozilla/firefox-devtools-mcp@latest # 默认启动无头 Firefox--headless、--viewport 1280x720或--profile-path …。 - 将服务器注册到 AI 客户端(Claude Code、Codex 等),使用 README 中显示的客户端特定命令。客户端将命令存储在其
mcp_settings.json或config.toml中。 - 让 AI 使用工具 – 例如
navigate_page、click_by_uid、list_network_requests、evaluate_script等。客户端通过 MCP 发送请求,服务器将其转发给 Firefox,并将结果返回给模型。
主要功能(工具模块)
| 预设 | 包含内容 | 典型用途 |
|---|---|---|
| slim | 最小化浏览(打开页面、点击、填写) | 简单的数据抓取或表单填写机器人 |
| basic (默认) | slim + script(评估 JavaScript) |
大多数 LLM 驱动的代理需要此功能 |
| developer | 添加 network、console、debugger、profiler |
AI 辅助的调试或性能分析 |
| mozilla | 添加特权模块(prefs、privileged、launch、bidi)– 仅在 Mozilla 内部构建中 |
Firefox 本身的内部测试 |
| all | 所有模块 |
工具通过 RPC 调用,例如:
list_pages、select_page、navigate_pagetake_snapshot→ 获取元素 UIDclick_by_uid、fill_by_uidlist_network_requests、get_network_requestscreenshot_page、list_console_messagesevaluate_script(在页面上下文中运行任意 JS)
大型输出可以使用 saveTo 参数保存到磁盘,避免在 LLM 上下文中产生巨大的负载。
安全与注意事项
- 专用配置文件 – 切勿针对您的正常 Firefox 配置文件运行;代理可以读取 cookie、密码等。
- 提示注入风险 – 页面可能试图操纵模型;将浏览限制在受信任的站点。
- 工具表面 – 默认的
basic预设包含evaluate_script,这赋予模型完整的 JavaScript 执行能力。如果不需要,请使用--tool-preset slim或显式的--tools列表将其移除。 - Android 模式 每次运行都会清除应用数据;仅使用一次性构建。
- Marionette / BiDi – 启用这些标志会使浏览器标识为自动化(
navigator.webdriver = true),这可能会在某些站点触发机器人检测。
请参阅 SECURITY.md 了解完整的风险分析。
谁可能使用此功能?
- LLM 驱动的助手,需要代表用户浏览网页或填写表单。
- 面向开发者的代理,可以调试页面、分析性能或检查网络流量。
- 研究人员,探索代理式 Web 交互或使用 LLM 进行自动化 UI 测试。
入门清单
- 安装 Node 20.19+ 和 Firefox 100+。
- 运行
npx @mozilla/firefox-devtools-mcp@latest(如果您不想要 UI,请添加--headless)。 - 将服务器添加到您的 AI 客户端的 MCP 配置中(请参阅 README 中的 Claude Code / Codex 示例)。
- 调用一个简单的工具,例如
navigate_page({url: "https://example.com"}),并观察浏览器的响应。 - 调整
--tool-preset或--tools,仅暴露您需要的功能。
更多信息
- 文档:
docs/tools.md(完整工具列表)、SECURITY.md(风险缓解)、CONTRIBUTING.md(如何本地构建)。 - 问题跟踪器:GitHub Issues 用于错误或功能请求。
- 社区:Mozilla 的开源渠道;该包也发布在 npm 上。
以上所有细节均直接取自仓库的 README;未添加任何额外功能。
相关
- 项目
- 项目
- 项目
- 项目
- 项目