
firefox-devtools-mcp v0.9.15
Сервер протокола контекста модели для Firefox DevTools - позволяет AI-ассистентам проверять и управлять браузером Firefox через Remote Debugging Protocol.
Firefox DevTools MCP
Сервер 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_pagetake_snapshot, затемclick_by_uid/fill_by_uidlist_network_requests(постоянный захват),get_network_requestlist_downloads(постоянный захват),set_download_behaviorscreenshot_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
