mcpField
Z
zen-devtools-mcp

zen-devtools-mcp

Local
github.com/sushruthBrowser Automation0Updated 1w ago

About zen-devtools-mcp

zen-devtools-mcp wraps `@mozilla/firefox-devtools-mcp` to connect to an already-running Zen, Firefox, or compatible browser. It restarts the browser with Marionette enabled when needed, then starts the MCP server.

Key features

  1. 01Attaches to a running browser
  2. 02Enables Marionette through a restart
  3. 03Supports Zen, Firefox, and forks
  4. 04Configurable app, process, and port

Use cases

  1. 01Inspecting a running Zen browser
  2. 02Connecting Firefox to browser devtools
  3. 03Using a custom Marionette port

MCP support

It launches `@mozilla/firefox-devtools-mcp` with `--connectExisting --enableScript` and passes through stdio, allowing an MCP client to use the existing browser.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project 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-mcp
bunx 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 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 client config

OpenCode example:

"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):

"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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.