Назад к обновлениям
New releaseJul 28, 2026

firefox-devtools-mcp v0.9.15

Сервер протокола контекста модели для Firefox DevTools - позволяет AI-ассистентам проверять и управлять браузером Firefox через Remote Debugging Protocol.

Поделиться

Firefox DevTools MCP

npm version CI codecov License: MIT License: Apache 2.0

Glama

Сервер Model Context Protocol для автоматизации Firefox через WebDriver BiDi (посредством Selenium WebDriver). Работает с Claude Code, Claude Desktop, Cursor, Cline и другими MCP-клиентами.

Репозиторий: https://github.com/mozilla/firefox-devtools-mcp

Примечание: Этот MCP-сервер требует локально установленный браузер Firefox и не может работать в облачных хостингах, таких как glama.ai. Используйте npx @mozilla/firefox-devtools-mcp@latest для локального запуска или Docker с предоставленным Dockerfile.

Безопасность

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)

Рекомендуется: используйте npx, чтобы запускать последнюю опубликованную версию из npm.

Вариант A — CLI

Claude Code

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

# Headless + viewport через аргументы
claude mcp add firefox-devtools npx @mozilla/firefox-devtools-mcp@latest -- --headless --viewport 1280x720

# Или через переменные окружения
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 через аргументы
codex mcp add firefox-devtools -- \
  npx @mozilla/firefox-devtools-mcp@latest -- --headless --viewport 1280x720

# Или через переменные окружения
codex mcp add firefox-devtools \
  --env START_URL=https://example.com \
  --env FIREFOX_HEADLESS=true \
  -- npx @mozilla/firefox-devtools-mcp@latest

Вариант B — Редактирование файла конфигурации

Claude Code

Добавьте в mcp_settings.json Claude Code:

{
  "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 — Вспомогательный скрипт (локальная dev-сборка)

npm run setup
# Выберите Claude Code; скрипт сохранит JSON по правильному пути

Попробуйте с 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 — запуск без интерфейса (FIREFOX_HEADLESS=true)
  • --viewport 1280x720 — начальный размер окна
  • --profile-path — использовать конкретный профиль Firefox
  • --firefox-arg — дополнительные аргументы Firefox (повторяемый)
  • --start-url — открыть этот URL при запуске (START_URL)
  • --accept-insecure-certs — игнорировать ошибки TLS (ACCEPT_INSECURE_CERTS=true)
  • --connect-existing — подключиться к уже запущенному Firefox вместо запуска нового (CONNECT_EXISTING=true)
  • --marionette-port — порт Marionette для режима connect-existing, по умолчанию 2828 (MARIONETTE_PORT)
  • --pref name=value — установить настройку Firefox при запуске через moz:firefoxOptions (повторяемый)
  • --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 для 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. Другие пакеты: org.mozilla.firefox_beta для Firefox Beta, org.mozilla.fenix для Firefox Nightly, org.mozilla.fenix.debug для Firefox Nightly Debug, org.mozilla.geckoview_example для geckoview (ANDROID_PACKAGE)
  • --unrestricted-save-paths — разрешить параметру saveTo запись в любое место на диске вместо корневых каталогов по умолчанию. См. Сохранение объёмных результатов на диск и примечание по безопасности в SECURITY.md. (UNRESTRICTED_SAVE_PATHS=true)
  • --log-file — записывать журналы MCP-сервера в файл вместо stderr. Полезно для отладки сессий с MCP-клиентами, которые скрывают вывод сервера. Установите DEBUG=*, чтобы также включить подробные журналы отладки. Пример: --log-file /tmp/firefox-mcp.log

Категории