关于 zen-devtools-mcp
zen-devtools-mcp 封装 `@mozilla/firefox-devtools-mcp`,用于连接已运行的 Zen、Firefox 或兼容浏览器。需要时会重启浏览器以启用 Marionette,再启动 MCP 服务。
主要功能
- 01连接正在运行的浏览器
- 02通过重启启用 Marionette
- 03支持 Zen、Firefox 及其分支
- 04可配置应用、进程和端口
适用场景
- 01检查正在运行的 Zen 浏览器
- 02将 Firefox 连接到浏览器开发者工具
- 03使用自定义 Marionette 端口
MCP 相关
它以 `--connectExisting --enableScript` 启动 `@mozilla/firefox-devtools-mcp`,并透传标准输入输出,供 MCP 客户端操作现有浏览器。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
zen-devtools-mcp
对 @mozilla/firefox-devtools-mcp 进行封装,使其连接到已经运行的基于 Firefox 的浏览器——Zen Browser、Firefox 或任何分支版本——而不是启动一个临时实例。
上游的 --connectExisting 模式要求浏览器启动时启用 Marionette。普通重启(点击 Dock 图标、运行 open -a Zen)不会启用它,因此无法连接。此封装解决了这个问题:如果 Marionette 尚未运行,它会正常退出浏览器(会话恢复会保留你的标签页),使用 --marionette 重新启动浏览器,等待端口就绪,然后启动 MCP。
安装 / 运行
无需安装——直接从 GitHub 运行:
npx github:sushruth/zen-devtools-mcp
bunx github:sushruth/zen-devtools-mcp
选项
| 标志 | 默认值 | 控制内容 |
|---|---|---|
--app | Zen | 用于 open -a / 退出的 macOS 应用名称 |
--process | zen | 用于 pgrep -x 的进程名称 |
--port | 2828 | 用于探测和监听的 Marionette 端口 |
示例:
# Firefox instead of Zen
npx github:sushruth/zen-devtools-mcp --app Firefox --process firefox
# Zen with a custom Marionette port
npx github:sushruth/zen-devtools-mcp --port 2829
MCP 客户端配置
OpenCode 示例:
"zen-devtools": {
"type": "local",
"command": ["npx", "-y", "github:sushruth/zen-devtools-mcp"],
"enabled": true
},
"firefox-devtools": {
"type": "local",
"command": ["npx", "-y", "github:sushruth/zen-devtools-mcp",
"--app", "Firefox", "--process", "firefox", "--port", "2829"],
"enabled": true
}
Claude Code(claude mcp add-json zen-devtools '<json>' 或 .mcp.json):
"zen-devtools": {
"command": "npx",
"args": ["-y", "github:sushruth/zen-devtools-mcp"]
}
注意事项
- 会话恢复会在封装触发的重启后保留标签页。
- 无法在正在运行的浏览器进程中启用 Marionette——首次使用时必须重启。
- 仅适用于 macOS(
open、osascript、pgrep)。 - 会向底层 MCP 传递
--connectExisting --enableScript;它会继承父进程的标准输入输出。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。