freema/firefox-devtools-mcp

freema/firefox-devtools-mcp

от freema
MCP-сервер от Mozilla для автоматизации Firefox через WebDriver BiDi. Позволяет ИИ-агентам (Claude, Cursor) управлять браузером: навигация, скриншоты и работа с консолью/сетью. Полезен разработчика...

Firefox DevTools MCP

npm version CI codecov License: MIT License: Apache 2.0

Glama

Model Context Protocol server for automating Firefox via WebDriver BiDi (through Selenium WebDriver). Works with Claude Code, Claude Desktop, Cursor, Cline and other MCP clients.

Repository: https://github.com/mozilla/firefox-devtools-mcp

Note: This MCP server requires a local Firefox browser installation and cannot run on cloud hosting services like glama.ai. Use npx @mozilla/firefox-devtools-mcp@latest to run locally, or use Docker with the provided Dockerfile.

Security

Browser MCP servers carry inherent risks. A few key practices:

  • Use a dedicated Firefox profile. Never run the server against your regular profile — the agent has access to whatever the browser can reach, including cookies and saved sessions.
  • Be cautious about which sites you visit. Pages can return content designed to manipulate the agent (prompt injection). Stick to sites you control or trust.
  • Avoid enabling extra flags unless needed. --enable-script and --enable-privileged-context significantly expand what the agent can do.
accept_dialog

Примите диалоговое окно браузера. Укажите promptText для подсказок.

Примите диалоговое окно браузера. Укажите promptText для подсказок.

Параметры

  • promptTextstring

    Text for prompt dialogs

clear_console_messages

Очищает собранные сообщения консоли.

Очищает собранные сообщения консоли.

Параметры

Без параметров.

clear_snapshot

Очищает кэш снимков. Обычно не требуется.

Очищает кэш снимков. Обычно не требуется.

Параметры

Без параметров.

click_by_uid

Нажимает на элемент по UID. Устанавливает dblClick для двойного щелчка.

Нажимает на элемент по UID. Устанавливает dblClick для двойного щелчка.

Параметры

  • uidstringобязательный

    Element UID from snapshot

  • dblClickboolean

    Double-click (default: false)

close_page

Закрывает вкладку по индексу.

Закрывает вкладку по индексу.

Параметры

  • pageIdxnumberобязательный

    Tab index to close

dismiss_dialog

Отклоняет диалоговое окно браузера.

Отклоняет диалоговое окно браузера.

Параметры

Без параметров.

drag_by_uid_to_uid

Перетаскивает элемент на другой элемент (HTML5 drag events).

Перетаскивает элемент на другой элемент (HTML5 drag events).

Параметры

  • fromUidstringобязательный

    Source element UID

  • toUidstringобязательный

    Target element UID

fill_by_uid

Заполняет текстовое поле ввода/textarea по UID.

Заполняет текстовое поле ввода/textarea по UID.

Параметры

  • uidstringобязательный

    Input element UID from snapshot

  • valuestringобязательный

    Text to fill

fill_form_by_uid

Заполняет несколько полей формы одновременно.

Заполняет несколько полей формы одновременно.

Параметры

  • elementsobject[]обязательный

    Array of {uid, value} pairs

get_firefox_info

Получает информацию о конфигурации текущего экземпляра Firefox, включая путь к бинарному файлу, переменные окружения и расположение выходного файла.

Получает информацию о конфигурации текущего экземпляра Firefox, включая путь к бинарному файлу, переменные окружения и расположение выходного файла.

Параметры

Без параметров.

get_firefox_output

Извлекает вывод Firefox (stdout/stderr, включая MOZ_LOG, предупреждения, сбои, стек-трейсы). Возвращает последний вывод из файла захвата. Использует фильтры для выделения конкретного содержимого.

Извлекает вывод Firefox (stdout/stderr, включая MOZ_LOG, предупреждения, сбои, стек-трейсы). Возвращает последний вывод из файла захвата. Использует фильтры для выделения конкретного содержимого.

Параметры

  • linesnumber

    Number of recent log lines to return (default: 100, max: 10000)

  • grepstring

    Filter log lines containing this string (case-insensitive)

  • sincenumber

    Only show logs written in the last N seconds

get_network_request

Получает детали запроса по ID. Поиск по URL в качестве запасного варианта.

Получает детали запроса по ID. Поиск по URL в качестве запасного варианта.

Параметры

  • idstring

    Request ID from list_network_requests

  • urlstring

    URL fallback (may match multiple)

  • formatenum

    Output format (default: text)

    textjson
hover_by_uid

Наводит курсор на элемент по UID.

Наводит курсор на элемент по UID.

Параметры

  • uidstringобязательный

    Element UID from snapshot

install_extension

Устанавливает расширение Firefox с помощью команды WebDriver BiDi webExtension.install. Поддерживает установку из архива (.xpi/.zip), данных в кодировке base64 или распакованной директории.

Устанавливает расширение Firefox с помощью команды WebDriver BiDi webExtension.install. Поддерживает установку из архива (.xpi/.zip), данных в кодировке base64 или распакованной директории.

Параметры

  • typeenumобязательный

    Extension data type: "archivePath" for .xpi/.zip, "base64" for encoded data, "path" for unpacked directory

    archivePathbase64path
  • pathstring

    File path (for archivePath or path types)

  • valuestring

    Base64-encoded extension data (for base64 type)

  • permanentboolean

    Firefox-specific: Install permanently (requires signed extension). Default: false (temporary install)

list_console_messages

Перечисляет сообщения консоли. Поддерживает фильтрацию по уровню, времени, тексту, источнику.

Перечисляет сообщения консоли. Поддерживает фильтрацию по уровню, времени, тексту, источнику.

Параметры

  • levelenum

    Filter by level

    debuginfowarnerror
  • limitnumber

    Max messages (default: 50)

  • sinceMsnumber

    Only last N ms

  • textContainsstring

    Text filter (case-insensitive)

  • sourcestring

    Filter by source

  • formatenum

    Output format (default: text)

    textjson
list_network_requests

Выводит список сетевых запросов. Возвращает идентификаторы для get_network_request.

Выводит список сетевых запросов. Возвращает идентификаторы для get_network_request.

Параметры

  • limitnumber

    Max requests (default: 50)

  • sinceMsnumber

    Only last N ms

  • urlContainsstring

    URL filter (case-insensitive)

  • methodstring

    HTTP method filter

  • statusnumber

    Exact status code

  • statusMinnumber

    Min status code

  • statusMaxnumber

    Max status code

  • isXHRboolean

    XHR/fetch only

  • resourceTypestring

    Resource type filter

  • sortByenum

    Sort field (default: timestamp)

    timestampdurationstatus
  • detailenum

    Detail level (default: summary)

    summaryminfull
  • formatenum

    Output format (default: text)

    textjson
list_pages

Перечисляет открытые вкладки (индекс, заголовок, URL). Выбранная вкладка помечена.

Перечисляет открытые вкладки (индекс, заголовок, URL). Выбранная вкладка помечена.

Параметры

Без параметров.

navigate_history

Перемещает по истории назад/вперёд. UIDs устаревают.

Перемещает по истории назад/вперёд. UIDs устаревают.

Параметры

  • directionenumобязательный

    back or forward

    backforward
navigate_page

Перемещает выбранную вкладку на URL.

Перемещает выбранную вкладку на URL.

Параметры

  • urlstringобязательный

    Target URL

new_page

Открывает новую вкладку по URL. Возвращает индекс вкладки.

Открывает новую вкладку по URL. Возвращает индекс вкладки.

Параметры

  • urlstringобязательный

    Target URL

profiler_is_active

Проверяет, записывает ли Firefox profiler в данный момент.

Проверяет, записывает ли Firefox profiler в данный момент.

Параметры

Без параметров.

profiler_start

Запускает профилировщик Firefox. Укажите либо имя предустановки, либо явные параметры записи (entries, interval, features, threads). Нельзя совмещать оба. Допустимые предустановки: web-developer, firefox-platform, graphics, media, ml, networking, power, debug.

Запускает профилировщик Firefox. Укажите либо имя предустановки, либо явные параметры записи (entries, interval, features, threads). Нельзя совмещать оба. Допустимые предустановки: web-developer, firefox-platform, graphics, media, ml, networking, power, debug.

Параметры

  • presetenum

    Profiler preset name. Cannot be combined with entries, interval, features, or threads.

    web-developerfirefox-platformgraphicsmediamlnetworkingpowerdebug
  • entriesinteger

    Number of entries to keep in the sampling buffer. Required when no preset is given.

  • intervalnumber

    Sampling interval in milliseconds. Required when no preset is given.

  • featuresstring[]

    Profiler features to enable. Required when no preset is given.

  • threadsstring[]

    Thread names to profile. Required when no preset is given.

  • activeContextstring

    Id of the top-level navigable to mark as the active tab in the profile. Does not restrict profiling to that tab.

profiler_stop

Останавливает Firefox profiler и сохраняет записанный профиль в файл в папке загрузок. Возвращает путь к сохраненному файлу или null, если ничего не сохранено.

Останавливает Firefox profiler и сохраняет записанный профиль в файл в папке загрузок. Возвращает путь к сохраненному файлу или null, если ничего не сохранено.

Параметры

  • discardboolean

    If true, stop the profiler and discard the recording instead of saving it to disk. Defaults to false.

resolve_uid_to_selector

Преобразует UID в CSS-селектор. Возвращает ошибку, если данные устарели.

Преобразует UID в CSS-селектор. Возвращает ошибку, если данные устарели.

Параметры

  • uidstringобязательный

    UID from snapshot

restart_firefox

Перезапускает Firefox с другой конфигурацией. Меняет путь к бинарнику, переменные окружения и другие параметры. Все текущие вкладки будут закрыты.

Перезапускает Firefox с другой конфигурацией. Меняет путь к бинарнику, переменные окружения и другие параметры. Все текущие вкладки будут закрыты.

Параметры

  • firefoxPathstring

    New Firefox binary path (optional, keeps current if not specified)

  • profilePathstring

    Firefox profile path (optional, keeps current if not specified)

  • envstring[]

    New environment variables in KEY=VALUE format (optional, e.g., ["MOZ_LOG=HTMLMediaElement:5", "MOZ_LOG_FILE=/tmp/ff.log"])

  • headlessboolean

    Run in headless mode (optional, keeps current if not specified)

  • startUrlstring

    URL to navigate to after restart (optional, uses about:blank if not specified)

  • prefsobject

    Firefox preferences to set at startup. Values are auto-typed: true/false become booleans, integers become numbers, everything else is a string. Requires MOZ_REMOTE_ALLOW_SYSTEM_ACCESS=1.

screenshot_by_uid

Захватывает снимок элемента по UID в формате base64 PNG.

Захватывает снимок элемента по UID в формате base64 PNG.

Параметры

  • uidstringобязательный

    Element UID from snapshot

  • saveTostring

    Optional file path to save the screenshot to instead of returning it as image data in the response.

screenshot_page

Захватывает скриншот страницы в формате base64 PNG.

Захватывает скриншот страницы в формате base64 PNG.

Параметры

  • saveTostring

    Optional file path to save the screenshot to instead of returning it as image data in the response.

select_page

Выбирает активную вкладку по индексу, URL или заголовку. Индекс имеет приоритет.

Выбирает активную вкладку по индексу, URL или заголовку. Индекс имеет приоритет.

Параметры

  • pageIdxnumber

    Tab index (0-based, most reliable)

  • urlstring

    URL substring (case-insensitive)

  • titlestring

    Title substring (case-insensitive)

set_viewport_size

Устанавливает размеры области просмотра в пикселях.

Устанавливает размеры области просмотра в пикселях.

Параметры

  • widthnumberобязательный

    Width in pixels

  • heightnumberобязательный

    Height in pixels

take_snapshot

Захватывает снимок DOM со стабильными UID. Повторяет после навигации.

Захватывает снимок DOM со стабильными UID. Повторяет после навигации.

Параметры

  • maxLinesnumber

    Max lines (default: 100)

  • includeAttributesboolean

    Include ARIA attributes (default: false)

  • includeTextboolean

    Include text (default: true)

  • maxDepthnumber

    Max tree depth

  • includeAllboolean

    Include all visible elements without relevance filtering. Useful for Vue/Livewire apps (default: false)

  • selectorstring

    CSS selector to scope snapshot to specific element (e.g., "#app")

uninstall_extension

Удаляет расширение Firefox с помощью команды WebDriver BiDi webExtension.uninstall. Требует идентификатор расширения, возвращённый install_extension или полученный из list_extensions.

Удаляет расширение Firefox с помощью команды WebDriver BiDi webExtension.uninstall. Требует идентификатор расширения, возвращённый install_extension или полученный из list_extensions.

Параметры

  • idstringобязательный

    Extension ID (e.g., "addon@example.com")

upload_file_by_uid

Загружает файл в file input по UID.

Загружает файл в file input по UID.

Параметры

  • uidstringобязательный

    File input UID from snapshot

  • filePathstringобязательный

    Local file path

Другие проверенные MCP-сервера

Canner/wren-engine

Canner/wren-engine

официальный

Wren Engine — open source context engine для AI-агентов через MCP. Он заменяет сырые таблицы бизнес-моделями и метриками: агенты понимают контекст, строят точные запросы и соблюдают правила доступа...

Java664
public-ui/kolibri

public-ui/kolibri

официальный

KoliBri - библиотека атомарных веб-компонентов для доступного HTML. Расширяет стандарт, не привязана к дизайну, подходит для любых проектов. Упрощает создание семантичных, валидных и доступных инте...

TypeScript273
Firecrawl MCP

Firecrawl MCP

официальный

MCP сервер для поиска и скрапинга веб-страниц, превращающий живой интернет в чистые данные для ИИ-агентов. Поддерживает навигацию, клики и автономные исследования. Работает в облаке или локально.

JavaScript6989
kestra-io/mcp-server-python

kestra-io/mcp-server-python

официальный

MCP сервер для интеграции AI-ассистентов с платформой Kestra. Инструмент предоставляет управление потоками, выполнениями и логами. Работает в Docker и локально через uv. Полезен разработчикам для автоматизации процессов.

Python28
MarkusPfundstein/mcp-obsidian

MarkusPfundstein/mcp-obsidian

MCP сервер для Obsidian через плагин Local REST API даёт инструменты для работы с хранилищем: чтение, поиск и изменение файлов. Идеально для интеграции заметок с AI-помощниками и автоматизации.

Python4102
dbt-labs/dbt-mcp

dbt-labs/dbt-mcp

официальный

MCP сервер для интеграции AI-агентов с dbt Core, Fusion и Platform. Предоставляет инструменты для SQL, семантического слоя, Discovery API, dbt CLI и кодогенерации. Помогает инженерам данных анализировать и управлять dbt-проектами через AI.

Python594
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин