Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Control and debug Firefox: navigate, fill forms, inspect network and console, profile.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
FIREFOX_HEADLESS, START_URL你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"firefox-devtools": {
"command": "npx",
"args": [
"-y",
"@mozilla/firefox-devtools-mcp",
"--tool-preset",
"developer"
],
"env": {
"FIREFOX_HEADLESS": "your-value",
"START_URL": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add firefox-devtools --env FIREFOX_HEADLESS=your-value --env START_URL=your-value -- npx -y @mozilla/firefox-devtools-mcp --tool-preset developer运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"firefox-devtools": {
"command": "npx",
"args": [
"-y",
"@mozilla/firefox-devtools-mcp",
"--tool-preset",
"developer"
],
"env": {
"FIREFOX_HEADLESS": "your-value",
"START_URL": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"firefox-devtools": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@mozilla/firefox-devtools-mcp",
"--tool-preset",
"developer"
],
"env": {
"FIREFOX_HEADLESS": "your-value",
"START_URL": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
FIREFOX_HEADLESS envSTART_URL env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册名称已通过 GitHub 账户 mozilla 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.10.7)于9天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Spec Driven Development, Remote Desktop Commander, AI Deprecations
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
AI model shutdown dates, replacements, change feed and webhook alerts for 8 providers.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Model Context Protocol server that lets AI agents use Firefox. It has two main use cases:
It controls Firefox through WebDriver BiDi (via Selenium WebDriver) and works with Claude Code, Claude Desktop, Cursor, Cline and other MCP clients.
Repository: https://github.com/mozilla/firefox-devtools-mcp
Note: This MCP server requires a local Firefox browser installation and cannot run on cloud hosting services like glama.ai. Use
npx @mozilla/firefox-devtools-mcp@latestto run locally, or use Docker with the provided Dockerfile.
Browser MCP servers carry inherent risks. A few key practices:
basic preset already includes evaluate_script; --tool-preset slim drops it. Higher presets such as --tool-preset developer (debugging, network, console, profiler) and --tool-preset mozilla (privileged context) expand what the agent can do further.See SECURITY.md for a full breakdown of risks and how to report vulnerabilities.
--firefox-path)Recommended: use npx so you run the latest published version from npm.
claude mcp add firefox-devtools npx @mozilla/firefox-devtools-mcp@latest
claude mcp add firefox-devtools npx @mozilla/firefox-devtools-mcp@latest -- --headless --viewport 1280x720
claude mcp add firefox-devtools npx @mozilla/firefox-devtools-mcp@latest \ --env START_URL=https://example.com \ --env FIREFOX_HEADLESS=true
codex mcp add firefox-devtools -- npx @mozilla/firefox-devtools-mcp@latest
codex mcp add firefox-devtools -- \ npx @mozilla/firefox-devtools-mcp@latest -- --headless --viewport 1280x720
codex mcp add firefox-devtools \ --env START_URL=https://example.com \ --env FIREFOX_HEADLESS=true \ -- npx @mozilla/firefox-devtools-mcp@latest
Add to Claude Code’s mcp_settings.json:
{
"mcpServers": { "firefox-devtools": { "command": "npx", "args": ["-y", "@mozilla/firefox-devtools-mcp@latest", "--headless", "--viewport", "1280x720"], "env": { "START_URL": "about:blank" } } } }
Add to ~/.codex/config.toml:
[mcp_servers.firefox-devtools]
command = "npx" args = ["-y", "@mozilla/firefox-devtools-mcp@latest", "--headless", "--viewport", "1280x720"]
[mcp_servers.firefox-devtools.env] START_URL = "about:blank"
npm run setup
npx @modelcontextprotocol/inspector npx @mozilla/firefox-devtools-mcp@latest --start-url https://example.com --headless
Then call tools like:
list_pages, select_page, navigate_pagetake_snapshot then click_by_uid / fill_by_uidlist_network_requests (always‑on capture), get_network_requestlist_downloads (always‑on capture), set_download_behaviorscreenshot_page, list_console_messagesYou can pass flags or environment variables (names on the right):
--firefox-path — absolute path to Firefox binary--headless — run without UI (FIREFOX_HEADLESS=true)--viewport 1280x720 — initial window size--profile-path — use a specific Firefox profile. Firefox runs in a firefox_mcp_profile subfolder of that path, marked with a .firefox-mcp file; pointing --profile-path at a marked profile reuses it directly--firefox-arg — extra Firefox arguments (repeatable)--start-url — open this URL on start (START_URL)--accept-insecure-certs — ignore TLS errors (ACCEPT_INSECURE_CERTS=true)--connect-existing — attach to an already-running Firefox instead of launching a new one (CONNECT_EXISTING=true)--marionette-port — Marionette port for connect-existing mode, default 2828 (MARIONETTE_PORT)--idle-timeout — seconds without tool calls after which a connect-existing session releases Firefox, default 1800. Firefox accepts one client at a time, so other clients can only connect once it is released. The next tool call reconnects and selects the tab that is active in Firefox at that moment (IDLE_TIMEOUT)--pref name=value — set Firefox preference at startup via moz:firefoxOptions (repeatable)--tool-preset — select which tool modules to enable: slim, basic (default), developer, mozilla, or all. See Tool modules and presets. (TOOL_PRESET)--tools — explicit list of tool modules to enable, overriding --tool-preset entirely (e.g. --tools pages network script). See Tool modules and presets.--enable-script — _deprecated, use --tool-preset developer or --tools ... script debugging._ Selects the developer tool preset. (ENABLE_SCRIPT=true)--enable-privileged-context — _deprecated, use --tool-preset mozilla or --tools ... privileged prefs._ Selects the mozilla tool preset. Requires MOZ_REMOTE_ALLOW_SYSTEM_ACCESS=1 (ENABLE_PRIVILEGED_CONTEXT=true)--android-device — enable Firefox for Android mode; value is the ADB device serial (e.g. emulator-5554). Run adb devices to list connected devices. Omit the value or use auto to select the single connected device automatically.--android-wipe-app-data — confirm that Android mode wipes all data of the target app. Required together with --android-device. (ANDROID_WIPE_APP_DATA=true)--android-package — Android app package name, default org.mozilla.firefox. Other packages: org.mozilla.firefox_beta for Firefox Beta, org.mozilla.fenix for Firefox Nightly, org.mozilla.fenix.debug for Firefox Nightly Debug, org.mozilla.geckoview_example for geckoview (ANDROID_PACKAGE)--unrestricted-save-paths — let the saveTo parameter write anywhere on disk instead of the default roots. See Saving bulky output to disk and the security note in SECURITY.md. (UNRESTRICTED_SAVE_PATHS=true)--log-file — write MCP server logs to a file instead of stderr. Useful for debugging sessions with MCP clients that hide server output. Set DEBUG=* to also include verbose debug logs. Example: --log-file /tmp/firefox-mcp.logTools are grouped into modules. You choose which modules to expose either with a named preset (--tool-preset) or with an explicit list (--tools). When both are given, --tools wins and the preset is ignored.
Presets (each is a superset of the previous):
slim — the minimum to browse and interact with pagesbasic (default) — adds tools for regular browsingdeveloper — adds tools for web developersmozilla — adds tools for Firefox developersall — every moduleSee docs/tools.md for the list of modules and the modules in each preset.
Note that basic, the default, includes script and therefore the evaluate_script tool. See SECURITY.md for what that means for the attack surface, and use --tool-preset slim or an explicit --tools list to drop it.
# Use the developer preset (adds network, console, debugging and profiler tools)
npx @mozilla/firefox-devtools-mcp --tool-preset developer
npx @mozilla/firefox-devtools-mcp --tools pages network console
The prefs and privileged modules require MOZ_REMOTE_ALLOW_SYSTEM_ACCESS=1 and are only available in the Mozilla-internal build. The launch module requires the Mozilla-internal build too: it restarts Firefox under a caller-chosen binary, profile, environment and set of preferences, which is a configuration change the operator should own. Use --pref, --firefox-path and the other command-line options instead. The bidi module also requires the Mozilla-internal build: it sends any WebDriver BiDi command, so it gives access to what the other modules expose. The public package skips these modules even if requested and logs a warning naming the modules it dropped.
--pref)Use --android-device to automate Firefox running on an Android device. Requires adb on your PATH and geckodriver, which is managed automatically.
Warning: Android mode wipes all data of the target app before every session.
Tabs, history, bookmarks, passwords, cookies and settings are all lost. geckodriver runs
adb shell pm clearwhen creating the session and offers no way to skip it,
then runs the session on its own temporary profile which is deleted afterwards.
Because of this,
--android-devicerequires--android-wipe-app-data, and you should
install a build dedicated to automation rather than automating the browser you use.
Bug 2064088 tracks adding an
option to geckodriver to keep the existing app data.
# List connected devices
adb devices
npx @mozilla/firefox-devtools-mcp --android-device auto --android-wipe-app-data
npx @mozilla/firefox-devtools-mcp --android-device --android-wipe-app-data
npx @mozilla/firefox-devtools-mcp --android-device --android-package org.mozilla.fenix --android-wi
只显示了开头部分;其余内容请在仓库中阅读