
Zen Devtools Mcp
io.github.sushruthPublished by GitHub account sushruthv1.0.0Updated Nov 5, 2026
Attach firefox-devtools-mcp to your running Zen or Firefox, auto-restarting with Marionette.
Overview
Wrapper around firefox-devtools-mcp that attaches to your already-running Zen or Firefox browser, restarting it with Marionette enabled when needed.
- What you can do
- Expose the upstream firefox-devtools-mcp browser tooling to the assistant, pointed at your existing Zen or Firefox session instead of a fresh instance.
- Detect whether Marionette is listening, and if not, quit the browser, relaunch it with Marionette enabled, wait for the port, then start the MCP server.
- Choose the target app, process name and Marionette port through command-line flags for Zen, Firefox or other forks.
- Run as a local stdio MCP server configured in clients such as OpenCode or Claude Code.
- When to use it
- Use it when you want an assistant to drive or inspect the browser you already have open in Zen or Firefox, rather than a separate throwaway browser instance, and you are on macOS.
- Requirements
- macOS only, since it relies on open, osascript and pgrep. Needs Node.js (npx) or Bun (bunx) to run from GitHub; no package install or credentials are declared. The browser must be relaunchable with Marionette, and the Marionette port (default 2828) must be free and reachable.
Installation
In SourceWeft
- Open Zen Devtools Mcp in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
zen-devtools-mcp
Wraps @mozilla/firefox-devtools-mcp so it attaches to your already-running Firefox-based browser — Zen Browser, Firefox, or any fork — instead of launching a throwaway instance.
The upstream --connectExisting mode requires the browser to have been launched with Marionette enabled. Plain relaunches (clicking the dock icon, open -a Zen) don't set that, so attaching fails. This wrapper fixes that: if Marionette isn't up, it gracefully quits the browser (session restore keeps your tabs), relaunches it with --marionette, waits for the port, then starts the MCP.
Install / run
No install needed — run it straight from GitHub:
Options
Examples:
MCP client config
OpenCode example:
Claude Code (claude mcp add-json zen-devtools '<json>' or .mcp.json):
Notes
- Session restore preserves tabs across wrapper-triggered restarts.
- Marionette can't be enabled on a live browser process — a restart is unavoidable the first time.
- macOS-only (
open,osascript,pgrep). - Passes
--connectExisting --enableScriptto the underlying MCP; it inherits stdio from its parent.
Source: README.md at commit c488048
Tools
0Version history
1- v1.0.0LatestOct 21, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts