marionette-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FIREFOX_BIN | No | Path to the Firefox browser binary. | firefox |
| MARIONETTE_PROFILE | No | Persistent profile directory so cookies and logins persist between runs. | |
| MARIONETTE_HEADLESS | No | Set to 0 to show the browser window (headed mode). | 1 |
| MARIONETTE_CACHE_TTL | No | Cache entry lifetime in seconds. | 600 |
| MARIONETTE_MAX_CHARS | No | Maximum number of characters of page text. | 100000 |
| MARIONETTE_COOKIE_FILE | No | Default file for saving/loading cookies. | ~/.marionette-mcp/cookies.json |
| MARIONETTE_MAX_RESULTS | No | Maximum number of results. | 50 |
| MARIONETTE_MIN_INTERVAL | No | Minimum pause between requests, in seconds. | 1.0 |
| MARIONETTE_SCREENSHOT_DIR | No | Directory where screenshots are saved. | ~/.marionette-mcp/screens |
| MARIONETTE_SEARCH_ENGINES | No | How many search engines to query per search. | 2 |
| MARIONETTE_REQUESTS_PER_MINUTE | No | Maximum number of requests to a single host per minute. | 30 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| pingA | Проверка связи: возвращает pong. |
| web_searchA | Поиск в вебе настоящим Firefox. КОГДА: нужны свежие ссылки по теме.
НЕ КОГДА: нужен текст одной конкретной страницы → fetch_page.
Опрошенные движки сводим по согласию: что нашлось у обоих — первым делом,
у каждой ссылки есть сниппет. |
| fetch_pageA | Текст страницы настоящим Firefox: markdown или чистый текст. КОГДА: прочитать конкретный URL, включая JS-страницы.
|
| fetch_manyA | Прочитать пачку страниц за один вызов. КОГДА: собрать N источников разом. НЕ КОГДА: нужна одна страница → fetch_page. Каждую ссылку режет страж SSRF; сбой одной страницы не роняет пачку. |
| fetch_linksA | Ссылки со страницы: текст ссылки + адрес. КОГДА: собрать источники со страницы-каталога. НЕ КОГДА: нужен текст страницы → fetch_page. Внутренние адреса блокирует страж SSRF. |
| browser_evalA | Выполнить свой JS на странице и вернуть результат (JSON). КОГДА: достать поля из DOM, посчитать, вытащить данные по своим правилам.
|
| screenshotA | PNG-скриншот страницы: вернуть путь к файлу. КОГДА: посмотреть глазами — вёрстка, дизайн, капча.
|
| save_cookiesC | Сохранить куки текущей сессии в JSON-файл. |
| load_cookiesC | Загрузить куки из JSON-файла в текущую сессию. |
| statusA | Счётчики работы сервера: запросы, кэш, блоки. КОГДА: посмотреть, как сервер себя чувствует, не гадая. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 10 tools
Each tool has a clearly distinct purpose: ping/status are separate diagnostics, web_search vs fetch_page vs fetch_links are differentiated by WHEN/NOT WHEN guidance, and fetch_many is explicitly a batch form of fetch_page. browser_eval, screenshot, and cookie tools are also unambiguous.
All names use snake_case, which is consistent. Some are single nouns (ping, status, screenshot) and some use noun_verb order (web_search, browser_eval), but the pattern is still readable and predictable.
10 tools is well-scoped for a Firefox-backed search and page-fetching server. Diagnostics, fetching, evaluation, screenshots, and cookie persistence each earn their place without excessive surface area.
The surface covers search, single and batch page fetching, link extraction, JS evaluation, screenshots, and cookie save/load. Minor gaps exist around explicit navigation/click/type tools and cookie clearing, but browser_eval provides a workaround for interaction.