zen-devtools-mcp について
zen-devtools-mcp は `@mozilla/firefox-devtools-mcp` をラップし、起動中の Zen、Firefox、互換ブラウザーに接続します。必要に応じて Marionette を有効にするためブラウザーを再起動してから、MCP サーバーを起動します。
主な機能
- 01起動中のブラウザーへの接続
- 02再起動による Marionette の有効化
- 03Zen、Firefox とその派生版に対応
- 04アプリ、プロセス、ポートの設定
活用シーン
- 01起動中の Zen ブラウザーの調査
- 02Firefox とブラウザーデベロッパーツールの接続
- 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 が起動していない場合は、ブラウザーを正常に終了してから(セッション復元によってタブは保持されます)、--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 サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。