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 的驱动程序。


如何使用(高级步骤)

  1. 安装 Firefox(版本 100+)。服务器会自动检测,或者您可以使用 --firefox-path 指定二进制文件。
  2. 在本地运行 MCP 服务器 – 最简单的方法是使用 npx:
    npx @mozilla/firefox-devtools-mcp@latest   # 默认启动无头 Firefox
    
    您可以添加标志,如 --headless、--viewport 1280x720 或 --profile-path …。
  3. 将服务器注册到 AI 客户端(Claude Code、Codex 等),使用 README 中显示的客户端特定命令。客户端将命令存储在其 mcp_settings.json 或 config.toml 中。
  4. 让 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_page
  • take_snapshot → 获取元素 UID
  • click_by_uid、fill_by_uid
  • list_network_requests、get_network_request
  • screenshot_page、list_console_messages
  • evaluate_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 测试。

入门清单

  1. 安装 Node 20.19+ 和 Firefox 100+。
  2. 运行 npx @mozilla/firefox-devtools-mcp@latest(如果您不想要 UI,请添加 --headless)。
  3. 将服务器添加到您的 AI 客户端的 MCP 配置中(请参阅 README 中的 Claude Code / Codex 示例)。
  4. 调用一个简单的工具,例如 navigate_page({url: "https://example.com"}),并观察浏览器的响应。
  5. 调整 --tool-preset 或 --tools,仅暴露您需要的功能。

更多信息

  • 文档:docs/tools.md(完整工具列表)、SECURITY.md(风险缓解)、CONTRIBUTING.md(如何本地构建)。
  • 问题跟踪器:GitHub Issues 用于错误或功能请求。
  • 社区:Mozilla 的开源渠道;该包也发布在 npm 上。

以上所有细节均直接取自仓库的 README;未添加任何额外功能。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目