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.

VerifiedSTDIODesktop onlyBrowser AutomationDeveloper Tools

Overview

AI-generated 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.
Before you install
It quits and relaunches your browser the first time Marionette is not running, which closes the current session; tabs are expected to return via session restore but unsaved state may be lost. It passes --connectExisting --enableScript to the underlying MCP, giving the assistant scripting access to the attached browser, so page content and logged-in sessions are exposed to it.

Installation

In SourceWeft

  1. Open Zen Devtools Mcp in the dashboard and add it to a workspace.
  2. 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:

npx github:sushruth/zen-devtools-mcpbunx github:sushruth/zen-devtools-mcp

Options

FlagDefaultWhat it controls
--appZenmacOS app name for open -a / quit
--processzenprocess name for pgrep -x
--port2828Marionette port to probe and listen on

Examples:

# Firefox instead of Zennpx github:sushruth/zen-devtools-mcp --app Firefox --process firefox
# Zen with a custom Marionette portnpx github:sushruth/zen-devtools-mcp --port 2829

MCP client config

OpenCode example:

jsonc
"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>' or .mcp.json):

json
"zen-devtools": {  "command": "npx",  "args": ["-y", "github:sushruth/zen-devtools-mcp"]}

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 --enableScript to the underlying MCP; it inherits stdio from its parent.

Source: README.md at commit c488048

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  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