アップデート一覧に戻る
New releaseSep 19, 2026

firefox-devtools-mcp v0.10.3

Firefox DevTools 用の Model Context Protocol サーバー - AI アシスタントが WebDriver BiDi を通じて Firefox ブラウザを検査および制御できるようにします

共有

Firefox DevTools MCP

npm version CI codecov License: MIT License: Apache 2.0

Glama

AIエージェントがFirefoxを使用できるようにするModel Context Protocolサーバーです。主なユースケースは2つあります:

  • エージェントによるブラウジング:エージェントがブラウザを通常のタスクに使用します。ページの読み取り、フォームの入力、Webサイト上の多段階のフローなどが含まれます。
  • エージェント支援によるWeb開発:エージェントが作業中のページを読み込み、コンソール、ネットワークリクエスト、デバッガー、プロファイラーなどの開発者ツールで検査します。

WebDriver BiDi(Selenium WebDriver経由)を通じてFirefoxを制御し、Claude Code、Claude Desktop、Cursor、ClineなどのMCPクライアントで動作します。

リポジトリ:https://github.com/mozilla/firefox-devtools-mcp

注:このMCPサーバーはローカルのFirefoxブラウザのインストールが必要で、glama.aiのようなクラウドホスティングサービスでは実行できません。ローカルで実行するにはnpx @mozilla/firefox-devtools-mcp@latestを使用するか、提供されているDockerfileでDockerを使用してください。

セキュリティ

ブラウザMCPサーバーには固有のリスクがあります。いくつかの重要な実践事項:

  • 専用のFirefoxプロファイルを使用してください。 通常のプロファイルに対してサーバーを実行しないでください。エージェントはブラウザが到達できるものすべてにアクセスでき、Cookieや保存されたセッションも含まれます。
  • 訪問するサイトに注意してください。 ページはエージェントを操作するように設計されたコンテンツ(プロンプトインジェクション)を返す可能性があります。自分が管理するか信頼できるサイトに限定してください。
  • 必要なツールモジュールのみを有効にしてください。 デフォルトのbasicプリセットにはすでにevaluate_scriptが含まれています。--tool-preset slimはそれを除外します。--tool-preset developer(デバッグ、ネットワーク、コンソール、プロファイラー)や--tool-preset mozilla(特権コンテキスト)などのより高いプリセットは、エージェントができることをさらに拡張します。

リスクの詳細な内訳と脆弱性の報告方法についてはSECURITY.mdを参照してください。

要件

  • Node.js ≥ 20.19.0
  • Firefox 100+がインストールされていること(自動検出、または--firefox-pathを渡す)

Claude CodeまたはCodexでのインストールと使用(npx)

推奨:npmから公開されている最新バージョンを実行するためにnpxを使用してください。

オプションA — CLI

Claude Code

claude mcp add firefox-devtools npx @mozilla/firefox-devtools-mcp@latest

# Headless + viewport via args
claude mcp add firefox-devtools npx @mozilla/firefox-devtools-mcp@latest -- --headless --viewport 1280x720

# Or via environment variables
claude mcp add firefox-devtools npx @mozilla/firefox-devtools-mcp@latest \
  --env START_URL=https://example.com \
  --env FIREFOX_HEADLESS=true

Codex

codex mcp add firefox-devtools -- npx @mozilla/firefox-devtools-mcp@latest

# Headless + viewport via args
codex mcp add firefox-devtools -- \
  npx @mozilla/firefox-devtools-mcp@latest -- --headless --viewport 1280x720

# Or via environment variables
codex mcp add firefox-devtools \
  --env START_URL=https://example.com \
  --env FIREFOX_HEADLESS=true \
  -- npx @mozilla/firefox-devtools-mcp@latest

オプション B — 設定ファイルを編集する

Claude Code

Claude Code の mcp_settings.json に以下を追加します:

{
  "mcpServers": {
    "firefox-devtools": {
      "command": "npx",
      "args": ["-y", "@mozilla/firefox-devtools-mcp@latest", "--headless", "--viewport", "1280x720"],
      "env": {
        "START_URL": "about:blank"
      }
    }
  }
}

Codex

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

オプション C — ヘルパースクリプト(ローカル開発ビルド)

npm run setup
# Choose Claude Code; the script saves JSON to the right path

MCP Inspector で試す

npx @modelcontextprotocol/inspector npx @mozilla/firefox-devtools-mcp@latest --start-url https://example.com --headless

次に、以下のようなツールを呼び出します:

  • list_pages、select_page、navigate_page
  • take_snapshot の後に click_by_uid / fill_by_uid
  • list_network_requests(常時キャプチャ)、get_network_request
  • list_downloads(常時キャプチャ)、set_download_behavior
  • screenshot_page、list_console_messages

CLI オプション

フラグまたは環境変数(名前は右側)を渡すことができます:

  • --firefox-path — Firefox バイナリへの絶対パス
  • --headless — UI なしで実行(FIREFOX_HEADLESS=true)
  • --viewport 1280x720 — 初期ウィンドウサイズ
  • --profile-path — 特定の Firefox プロファイルを使用。Firefox はそのパスの firefox_devtools_mcp_profile サブフォルダ内で実行され、.firefox-devtools-mcp ファイルでマークされます。マークされたプロファイルを --profile-path に指定すると、それを直接再利用します
  • --firefox-arg — 追加の Firefox 引数(繰り返し指定可能)
  • --start-url — 起動時にこの URL を開く(START_URL)
  • --accept-insecure-certs — TLS エラーを無視(ACCEPT_INSECURE_CERTS=true)
  • --connect-existing — 新規に起動する代わりに、既に実行中の Firefox に接続(CONNECT_EXISTING=true)
  • --marionette-port — connect-existing モード用の Marionette ポート、デフォルト 2828(MARIONETTE_PORT)
  • --idle-timeout — ツール呼び出しがない状態がこの秒数続くと connect-existing セッションが Firefox を解放、デフォルト 1800。Firefox は一度に 1 クライアントしか受け付けないため、他のクライアントは解放された後にのみ接続できます。次のツール呼び出しで再接続し、その時点で Firefox 内でアクティブなタブを選択します(IDLE_TIMEOUT)
  • --pref name=value — 起動時に moz:firefoxOptions 経由で Firefox の設定を指定(繰り返し指定可能)
  • --tool-preset — 有効にするツールモジュールを選択: slim、basic(デフォルト)、developer、mozilla、または all。ツールモジュールとプリセットを参照してください。(TOOL_PRESET)
  • --tools — 有効にするツールモジュールの明示的なリスト。--tool-preset を完全に上書きします(例: --tools pages network script)。ツールモジュールとプリセットを参照してください。
  • --enable-script — 非推奨。--tool-preset developer または --tools ... script debugging を使用してください。 developer ツールプリセットを選択します。(ENABLE_SCRIPT=true)
  • --enable-privileged-context — 非推奨。--tool-preset mozilla または --tools ... privileged prefs を使用してください。 mozilla ツールプリセットを選択します。MOZ_REMOTE_ALLOW_SYSTEM_ACCESS=1 が必要です(ENABLE_PRIVILEGED_CONTEXT=true)
  • --android-device — Firefox for Android モードを有効化。値は ADB デバイスのシリアル(例: emulator-5554)。接続済みデバイスを一覧表示するには adb devices を実行してください。値を省略するか auto を使用すると、接続されている単一のデバイスを自動的に選択します。
  • --android-wipe-app-data — Android モードが対象アプリの全データを消去することを確認します。--android-device と併せて必須です。(ANDROID_WIPE_APP_DATA=true)
  • --android-package — Android アプリのパッケージ名、デフォルトは org.mozilla.firefox。その他のパッケージ: Firefox Beta は org.mozilla.firefox_beta、Firefox Nightly は org.mozilla.fenix、Firefox Nightly Debug は org.mozilla.fenix.debug、geckoview は org.mozilla.geckoview_example(ANDROID_PACKAGE)
  • --unrestricted-save-paths — saveTo パラメータがデフォルトのルートではなく、ディスク上の任意の場所に書き込めるようにします。大量の出力をディスクに保存するおよび SECURITY.md のセキュリティに関する注意を参照してください。(UNRESTRICTED_SAVE_PATHS=true)
  • --log-file — MCP サーバーのログを stderr ではなくファイルに書き込みます。サーバー出力を隠す MCP クライアントでのデバッグセッションに便利です。詳細なデバッグログも含めるには DEBUG=* を設定してください。例: --log-file /tmp/firefox-mcp.log

ツールモジュールとプリセット

ツールはモジュールにグループ化されています。公開するモジュールは、名前付きプリセット (--tool-preset)または明示的なリスト(--tools)で選択します。両方が指定された場合、 --tools が優先され、プリセットは無視されます。

プリセット(それぞれが前のもののスーパーセット):

  • slim — ページを閲覧して操作するための最小限の機能
  • basic(デフォルト) — 通常のブラウジング向けのツールを追加
  • developer — Web 開発者向けのツールを追加
  • mozilla — Firefox 開発者向けのツールを追加
  • all — すべてのモジュール

モジュールの一覧と各プリセットに含まれるモジュールについては、docs/tools.md を参照してください。

デフォルトである basic には script が含まれ、したがって evaluate_script ツールも含まれることに注意してください。これが攻撃対象領域にとって何を意味するかについては SECURITY.md を参照し、除外するには --tool-preset slim または明示的な --tools リストを使用してください。

# Use the developer preset (adds network, console, debugging and profiler tools)
npx @mozilla/firefox-devtools-mcp --tool-preset developer

カテゴリ