protostatis/unbrowser

protostatis/unbrowser

от protostatis
Unbrowser — легковесный MCP сервер для LLM-агентов, заменяющий тяжёлый Chrome. Возвращает структурированную BlockMap (~500 токенов), поддерживает cookie handoff и диагностику блокировок. 10MB, ~50M...

unbrowser

The cheap browser pass for agents. One native binary. No Chrome.

unbrowser MCP server

Official MCP Registry identity: mcp-name: io.github.protostatis/unbrowser

unbrowser is a stateful, non-visual web runtime for agents. It sits between curl/WebFetch and a real browser: it retains cookies and DOM state, returns queryable element refs, handles links and HTML forms, detects challenge and SPA signals, and can run bounded QuickJS page scripts when static HTML is not enough.

Default navigate is a fast static/SSR pass. Set exec_scripts: true only when you need bounded QuickJS execution. Heavy SPAs, pixels, V8 fidelity, extensions, and interactive anti-bot challenges belong in a real Chrome tier.

Try the live public-web demo before installing. It accepts only the fixed public source sets shown on the page; do not send private data, cookies, or authenticated tasks through it. A shared Streamable HTTP MCP endpoint is available at https://unchainedsky.com/unbrowser-mcp for public smoke tests; production sessions should use a local install.

Часто задаваемые вопросы

Инструменты были проиндексированы:
activateвнешний мир

Пробник действий высокого уровня. Кликает по элементу по ref или видимому тексту действия, ожидает стабилизации и возвращает URL до/после, сводки BlockMap/page_model, количество сетевых запросов, хэши и классификацию: navigated, dom_changed, network_changed, no_effect или unsupported.

Параметры
  • refstring

    Необязательная ссылка на элемент, например e:142

  • textstring

    Необязательный видимый текст действия для поиска, когда ref не указан.

blockmapтолько чтениеидемпотентный

Пересчитывает BlockMap для текущей страницы. Используйте после eval-кода или клика/ввода, изменяющего DOM. По форме совпадает со встроенным blockmap из navigate.

Параметры

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

bodyтолько чтениеидемпотентный

Возвращает сырое HTML-тело последней навигации. Используется как запасной вариант, когда BlockMap или селекторов недостаточно, но ответ может быть большим (часто 100 КБ и более).

Параметры

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

clickвнешний мир

Отправляет событие клика по элементу с ref (например, e:142, полученный из запроса). Если элемент <a href> и для клика не был вызван preventDefault, автоматически переходит по href через navigate (возвращает полный результат навигации с новым BlockMap). В противном случае возвращает {ok, ref, tag, follow: null}.

Параметры
  • refstringобязательный

    Ссылка на элемент вида e:142

cookies_clearидемпотентный

Удаляет все куки из банки.

Параметры

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

cookies_getтолько чтениеидемпотентный

Возвращает все файлы cookie, находящиеся в данный момент в хранилище, в виде [{name, value, domain, path, secure, http_only}]. Использует это, чтобы экспортировать файлы cookie на диск для последующего сеанса.

Параметры

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

cookies_setидемпотентный

Добавляет куки в session jar. Каждый элемент - это объект {name, value, domain, path?, secure?, http_only?, url?} или необработанная строка Set-Cookie. Продолжает использовать состояние сеанса из браузера, в котором авторизован пользователь, где это разрешено, повторно предъявляя куки доступа (например, PerimeterX _px3), полученные в реальном Chrome - это требует явного подтверждения пользователя и эфемерного хранилища с областью действия origin.

Параметры
  • cookiesunknown[]обязательный

    Массив объектов cookie или строк Set-Cookie

  • urlstring

    URL по умолчанию для cookies, у которых не указан домен

discoverтолько чтениеидемпотентный

Высокоуровневое обнаружение информации с приоритетом дешёвых источников. Опционально переходит по URL, выполняет лёгкий JavaScript, объединяет DOM-маршруты, выведенные URL форм/запросов и сетевые JSON-маршруты в один ранжированный граф с указанием происхождения и подсказками по эскалации на уровне маршрутов. Используйте это, когда нужно найти, где находится информация, перед её извлечением.

Параметры
  • debugboolean

    Если true, включает полные вложенные данные navigate, route_discover и network_extract. Значение по умолчанию false возвращает компактные сводки.

  • exec_scriptsboolean

    Запускает скрипты страницы во время навигации, когда указан url. По умолчанию false; включается, когда статического обнаружения недостаточно.

  • goalstring

    Необязательная цель/запрос используется для ранжирования маршрутов и построения URL-адресов запросов.

  • include_networkboolean

    Включает захваченные сетевые JSON-объекты и API-подобные захваты. По умолчанию true.

  • limitinteger

    Максимальное число маршрутов, возвращаемых после дедупликации и ранжирования, от 1 до 200 (по умолчанию 50).

  • same_originboolean

    Если true, возвращает только маршруты, принадлежащие странице.

  • urlstring

    Необязательный абсолютный http(s) URL для перехода перед обнаружением. Если не указан, обнаруживает на текущей странице.

evalвнешний мир

Выполняет произвольный JavaScript во встроенном рантайме QuickJS на разобранном DOM текущей страницы. Возвращает результат в виде JSON-строки. Инструмент с полным контролем: предпочитайте query/text/blockmap, когда движок CSS-селекторов может выразить то, что вам нужно. Канонический параметр - code; сырой JSON-RPC также принимает псевдонимы script или expression и выдает ошибку, если отсутствует параметр, похожий на code.

Параметры
  • codestringобязательный

    Код JS; возвращается значение последнего выражения.

extractтолько чтениеидемпотентный

Автоматическая стратегия извлечения структурированных данных. Пробует JSON-LD (schema.org) → NEXT_DATA → Nuxt → JSON-in-script (скрипты с пользовательскими типами Magento, Shopify, BigCommerce) → OpenGraph/meta → microdata → запасной вариант text_main, возвращает наиболее уверенное совпадение в виде {strategy, confidence, data, tried}. Используйте этот инструмент как одноразовый вызов 'дай мне данные, а как - разберись сам', когда не хотите сами планировать стратегию. Передайте strategy='json_ld' (или любое из указанных выше имён), чтобы принудительно использовать конкретный экстрактор.

Параметры
  • strategystring

    Необязательно: принудительно задаёт конкретный экстрактор (json_ld, next_data, nuxt_data, json_in_script, og_meta, microdata, text_main)

extract_cardsтолько чтениеидемпотентный

Автоматически определяет повторяющиеся блоки статей/карточек/товаров/курсов/списков и возвращает нормализованные элементы [{title, price, condition, url, availability, snippet, meta, image_alt, score}]. Отдаёт предпочтение этому методу перед extract_list, когда на странице есть семантически неоднозначные карточки рецептов, курсов, товаров или моделей и вы ещё не знаете селекторы полей. Необязательный селектор ограничивает обнаружение до известных узлов карточек; параметр kind может смещать оценку (recipe, course, product, listing).

Параметры
  • kindstring

    Необязательная подсказка: рецепт, курс, товар, объявление, статья

  • limitinteger

    Максимум элементов для извлечения (по умолчанию 1000)

  • selectorstring

    Необязательный CSS-селектор, соответствующий каждому блоку карточки/списка

extract_listтолько чтениеидемпотентный

Извлекает повторяющийся паттерн карточек в [{...}, {...}]. Подходит для списков в стиле HN, результатов поиска, сеток товаров: избавляет от шаблонного кода eval для каждого сайта. Формы спецификации полей: 'css selector' (текстовое содержимое), 'css selector @attr' (атрибут) или ['css selector', '@attr'] (кортежная форма). Если подселектор возвращает null, значение поля равно null.

Параметры
  • fieldsobjectобязательный

    {field_name: 'sub-selector' | 'sub-selector @attr' | ['sub-selector', '@attr']}

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

    CSS-селектор, соответствующий каждой карточке/строке

  • limitinteger

    Максимум элементов для извлечения (по умолчанию 1000)

extract_tableтолько чтениеидемпотентный

Преобразует <table> в {headers, rows, row_count}. Заголовки берутся из <thead><th>...</th></thead>, если он есть, иначе из ячеек <th> первого <tr>. Ячейки <td> каждой последующей строки <tr> становятся словарём строки, где ключи - заголовки (или 'col_N', если для этой колонки заголовка нет). Отлично подходит для таблиц цен, спецификаций, финансовых и листинговых таблиц - избавляет от написания eval для маппинга каждой ячейки.

Параметры
  • selectorstringобязательный

    CSS-селектор, соответствующий элементу <table>

find_textтолько чтениеидемпотентный

Находит локализованные текстовые совпадения и возвращает [{ref, tag, attrs, before, match, after, text}]. Ранжирует совпадения article/main/content выше шаблонного кода nav/header/footer.

Параметры
  • context_charsinteger

    Символов до/после каждого совпадения (по умолчанию 80)

  • exactboolean

    Если true, точное совпадение очищенного текста вместо подстроки (по умолчанию false).

  • limitinteger

    Максимальное количество возвращаемых совпадений (по умолчанию 8).

  • selectorstring

    Необязательный CSS-селектор для ограничения области поиска

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

    Подстрока для сопоставления (или точная строка, если exact=true)

helpтолько чтениеидемпотентный

Раскрывает полный инструментарий, начиная с минимальных 3. Возвращает сгруппированный каталог всех 32 инструментов с указанием, когда использовать, и примером. Минимальный профиль показывает только navigate (как open), extract, help; help открывает остальные. Используйте help(topic) для фильтрации, например 'query', 'extraction', 'discovery'.

Параметры
  • topicstring

    Необязательный фильтр по теме: query, reading, discovery, extraction, interaction, session или имя инструмента.

navigateидемпотентныйвнешний мир

Загружает URL по HTTP с Chrome-отпечатком, используя активный профиль. Разбирает HTML, подготавливает JS DOM, возвращает BlockMap прямо в ответе. При exec_scripts: true извлекает встроенные И внешние теги <script> из разобранного HTML, параллельно загружает внешние скрипты (таймаут 8 секунд на запрос), выполняет их через eval в порядке появления в документе в QuickJS (с шимами для setTimeout/fetch и т.д.), затем завершает цикл событий и инициирует DOMContentLoaded + load. <script async> учитывается: асинхронные скрипты выполняются после синхронной очереди. Когда задан --policy=blocklist, URL-адреса трекеров блокируются на этапе загрузки скриптов (см. scripts.policy_blocked в результате). Возвращает сводку scripts с полями inline_count, external_count, async_count, policy_blocked, executed, errors. Автоизвлечение: когда страница содержит встроенные теги <script> с JSON (density.json_scripts > 0, охватывает application/json, application/ld+json, text/x-magento-init, text/x-shopify-app и т.д.), navigate автоматически запускает extract() и возвращает результат в поле extract. Это избавляет от лишнего запроса в типичном случае, когда данные, которые отрисовал бы JS, уже лежат в HTML: JSON-LD-схемы статей на новостных сайтах, состояние страницы NEXT_DATA в приложениях Next.js, json_in_script-блоки товаров в Magento/Shopify, RSC-пейлоады GitHub и т.д. Ограничение: 16 КБ встроенных данных; сверх лимита extract возвращает заглушку с полями strategy/confidence/size_bytes/hint, и агенту нужно явно вызвать extract(), чтобы получить полные данные. Страницы без встроенного JSON получают extract:null и не несут дополнительных затрат. Подсказки по инструментам: navigate также возвращает tool_likelihoods и tool_recommendations, вычисленные на основе конкретных сигналов страницы (структура/заголовки, подсказки по селекторам, плотность, встроенные данные, сетевые перехваты, состояние челленджа и патологии скриптов), чтобы агенты могли выбрать следующий инструмент, не гадая. Авторешение: JS-челлендж proof-of-work от Reddit (provider: reddit_js_challenge) решается прозрачно: челлендж обнаруживается, вычисляется GET-URL решения (solution = hex_value + hex_value),…

Параметры
  • exec_scriptsboolean

    Запускает теги <script> на странице (встроенные + внешние src) после парсинга, даёт циклу событий устояться и вызывает DOMContentLoaded + load. По умолчанию false.

  • include_asciiboolean

    Включает читаемую ASCII-сетку blockmap (дублирует поля JSON). По умолчанию false.

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

    Абсолютный URL для загрузки

network_extractтолько чтениеидемпотентный

Преобразует захваченные JSON/API/сетевые ответы в семантические объекты с полями, оценками, совпавшими с запросом терминами и происхождением захвата/пути. Используйте после navigate или activate, когда network_stores показывает захваты JSON/GraphQL/NDJSON, а сырой body_preview слишком шумный.

Параметры
  • hoststring

    Необязательный фильтр по подстроке для хоста ответа.

  • limitinteger

    Максимальное число объектов для возврата (по умолчанию 50).

  • nav_idstring

    По умолчанию использует самый последний navigation_id. Передайте 'all', чтобы просмотреть все снимки.

  • querystring

    Необязательный запрос/цель задачи, используемый для ранжирования объектов.

  • typesstring[]

    Необязательные типы объектов, которые нужно сохранить, например product_card, article_card, model_card, network_object, card.

network_storesтолько чтениеидемпотентный

Возвращает содержащие контент ответы fetch/XHR, перехваченные во время navigate, отсортированные по предполагаемой ценности контента. SPA часто хранят свои данные в API-ответах (JSON, GraphQL, NDJSON, данные маршрутов Next/Nuxt), которые чище, чем отрисованный DOM. Этот инструмент показывает их напрямую. Каждая запись содержит capture_id, URL, статус, content-type, body_preview (усечён до 256 КБ), body_bytes (полный размер), флаг body_truncated, navigation_id и эвристическую оценку. Тела ответов для трекеров/рекламы/CSS/HTML/медиа НЕ перехватываются. Результат navigate уже содержит сводку из топ-5, ограниченную этой навигацией; используйте этот инструмент, чтобы получить больше записей, отфильтровать по хосту или извлечь захваченные данные из другой навигации.

Параметры
  • hoststring

    Необязательный фильтр по подстроке для хоста ответа.

  • limitinteger

    Максимум записей для возврата (по умолчанию 10)

  • nav_idstring

    По умолчанию использует самый свежий navigation_id (страница B никогда не видит захваты страницы A). Передаёт явный navigation_id из предыдущего результата navigate, чтобы запросить именно эту навигацию. Передаёт 'all', чтобы отключить фильтрацию по навигации и вернуть захваты из всех навигаций.

network_stores_clearидемпотентный

Отбрасывает все перехваченные сетевые ответы из сетевого хранилища сеанса. Используйте это между несвязанными переходами, если не хотите, чтобы более ранние перехваты появлялись в последующих вызовах network_stores.

Параметры

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

page_modelтолько чтениеидемпотентный

Преобразует текущую страницу в семантические JSON-объекты, по которым можно обнаружить задачи. Восстанавливает структуру страницы в виде объектов search_form, nav_link, article_card, course_card, model_card, product_card, table, answer_block и limitation с действиями, нормализованными полями, оценкой на основе целей и происхождением. Предпочитайте этот инструмент как первый инструмент планирования после navigate, когда сырые ссылки/текст слишком широки.

Параметры
  • goalstring

    Необязательная цель/запрос задачи, используемые для ранжирования объектов по релевантности.

  • limitinteger

    Максимальное число объектов для возврата (по умолчанию 50).

  • typesstring[]

    Необязательные типы объектов для возврата, например search_form, article_card, model_card, course_card, card, table, answer_block.

queryтолько чтениеидемпотентный

Применяет CSS-селектор к распарсенному DOM текущей страницы. Возвращает совпавшие элементы в виде [{ref, tag, attrs, text, text_chars, text_truncated}]. Ссылки на элементы (e:NN) служат стабильными дескрипторами для click/type/submit. Движок селекторов поддерживает теги, id, классы, операторы сравнения атрибутов (=, ^=, $=, *=, ~=), все четыре комбинатора (потомок, >, +, ~), псевдоклассы (:first/last/nth-child включая формулы An+B, :first/last/nth-of-type, :only-child/of-type), :not() и :has().

Параметры
  • selectorstringобязательный

    CSS-селектор

query_debugтолько чтениеидемпотентный

Диагностирует, почему CSS-селектор сработал или не сработал. Возвращает matched_count, примеры совпадений, сводные счётчики DOM, подсказки по селекторам (основные теги, классы, data-атрибуты, id) и практические рекомендации для selector_miss, thin_shell или embedded_json. Используйте этот инструмент, когда query() возвращает [] и нужно отличить неверный селектор от пустого DOM или DOM, отрисованного браузером.

Параметры
  • limitinteger

    Максимальное число совпадений образцов для возврата (по умолчанию 10, максимум 50)

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

    CSS-селектор для проверки

query_textтолько чтениеидемпотентный

Находит элементы по видимому текстовому содержимому. Возвращает самый маленький/глубокий элемент, чей textContent совпадает с искомой строкой, пропуская chrome (header/nav/footer/aside). Повышение до якоря: если элемент span/strong и т.п. находится внутри <a>, результатом будет якорь (так что click() нацеливается на кликабельный элемент). Подходящий инструмент, когда CSS-селекторы нестабильны (страницы, отрисованные React, с хешированными именами классов), но видимая подпись надёжна - например, найти кнопку 'Sign in', не зная её класса.

Параметры
  • exactboolean

    Если true, точное совпадение вместо подстроки (по умолчанию false).

  • limitinteger

    Максимальное количество возвращаемых совпадений (по умолчанию 8).

  • selectorstring

    Необязательный CSS-селектор, ограничивающий область поиска (по умолчанию: всё тело документа)

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

    Подстрока для сопоставления (или точная строка, если exact=true)

report_outcome

Привязывает результат задачи (успех/неудачу/качество) к предыдущему navigation_id из вызова navigate(). Его использует протокол результатов каркаса политик, см. docs/probabilistic-policy.md §4.5. v0 генерирует событие outcome_reported в формате NDJSON для навигации. Апостериорных обновлений пока нет. Драйверы должны вызывать этот инструмент один раз на задачу агента, чтобы будущие байесовские фазы (B/D-2) могли приписывать успех или неудачу извлечения конкретным решениям политик.

Параметры
  • errorstring

    Необязательное человекочитаемое сообщение об ошибке/пояснение, когда success=false.

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

    Идентификатор, который возвращает navigate(), связывает этот результат с событием policy_trace.

  • qualitynumber

    Необязательная оценка качества 0..1 (например, доля извлечённых ожидаемых полей).

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

    Успешно ли агент выполнил задачу?

  • task_classenum

    Какого типа задача завершилась успешно/неудачно. Позволяет будущим апостериорным распределениям обусловливаться классом задачи.

  • task_idstring

    Необязательный непрозрачный идентификатор, который драйвер выбирает для кросс-системной корреляции.

route_discoverтолько чтениеидемпотентный

Находит принадлежащие странице навигационные/поисковые маршруты для цели. Возвращает ранжированные видимые ссылки, формы с элементами управления и предпросмотрами query_url, а также выведенные URL-адреса на основе маршрутов страницы и терминов цели. Используйте перед ручным угадыванием URL-адресов.

Параметры
  • goalstring

    Необязательная цель/запрос задачи используется для ранжирования маршрутов и построения предпросмотров GET-запросов.

  • limitinteger

    Максимум маршрутов/форм/выведенных URL на раздел (по умолчанию 30).

settleидемпотентный

Опустошает цикл событий JS: попеременно выполняет поставленные в очередь микрозадачи (разрешения Promise) и запускает просроченные обратные вызовы setTimeout/setInterval, переходя в режим ожидания до следующего срабатывания, когда остаются только таймеры. Завершается, когда очередь пуста ИЛИ истекает max_ms ИЛИ завершаются max_iters итераций. По умолчанию: max_ms=2000, max_iters=50. Используйте после заполнения DOM (или после выполнения eval-кода, который планирует таймеры), чтобы дать запуститься ожидающим обратным вызовам.

Параметры
  • max_itersinteger

    Максимальное число итераций цикла drain (по умолчанию 50)

  • max_msinteger

    Максимальное время в миллисекундах реального времени, которое можно потратить (по умолчанию 2000)

submitвнешний мир

Отправляет форму, собирая значения input/textarea/select и переходя по итоговому URL действия. Поддерживает GET и POST с типом application/x-www-form-urlencoded. Значения отмеченных checkbox/radio сериализуются; формы с multipart-загрузкой не поддерживаются.

Параметры
  • refstringобязательный

    Формирует ссылку на элемент вида e:142

table_to_jsonтолько чтениеидемпотентный

Псевдоним для extract_table с первой таблицей по умолчанию. Извлекает таблицу в {headers, rows, row_count}; селектор по умолчанию: 'table'. Используйте этот инструмент, когда агенту нужен удобный конвертер таблицы в JSON.

Параметры
  • selectorstring

    Необязательный CSS-селектор, соответствующий элементу <table> (по умолчанию: table)

textтолько чтениеидемпотентный

Получает textContent первого элемента, соответствующего селектору (по умолчанию: body). Примечание: на сайтах Wikipedia, MDN и новостных порталах первый <p> часто оказывается служебной пометкой или подписью к изображению, а не вводным абзацем. Для чтения основного содержимого страницы лучше использовать text_main.

Параметры
  • selectorstring

    CSS-селектор (по умолчанию: body)

text_aroundтолько чтениеидемпотентный

Возвращает очищенный окружающий текст вокруг ссылки на элемент или наилучшее ранжированное текстовое совпадение. Возвращает {ref, before, match, after, text}.

Параметры
  • context_charsinteger

    Количество символов до/после целевого фрагмента (по умолчанию 400)

  • refstring

    Необязательная ссылка на элемент, например e:142

  • selectorstring

    Необязательный CSS-селектор для ограничения контекста

  • textstring

    Необязательный текст для поиска, когда ref опущен.

text_cleanтолько чтениеидемпотентный

Возвращает текст из селектора или лучшего корневого элемента контента, очищенный от элементов оформления, JSON и со схлопнутыми пробелами. Удаляет script/style/noscript/svg, элементы оформления страницы (nav/header/footer/aside), очевидные скрытые виджеты и повторяющиеся шаблонные блоки.

Параметры
  • max_charsinteger

    Необязательное максимальное количество символов для возврата.

  • selectorstring

    Необязательный CSS-селектор, ограничивающий область извлечения. По умолчанию: лучший корневой элемент контента.

text_mainтолько чтениеидемпотентный

Получает textContent основной области контента страницы, исключая служебные элементы (header/nav/footer/aside). Пробует <main>, затем [role=main], затем одиночный <article>, а затем переходит к самому длинному поддереву без служебных элементов. Используйте это для чтения тела статьи, страницы документации или содержимого блога.

Параметры

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

typeидемпотентный

Устанавливает значение input/textarea (на который ссылается ref) и отправляет события input и change. Используйте перед отправкой формы на полях формы.

Параметры
  • refstringобязательный

    Введите ссылку на элемент, например e:142

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

    Значение для установки

Выберите клиент, чтобы установить protostatis/unbrowser:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "protostatis-unbrowser-30bidoyb8x": {
      "url": "https://unchainedsky.com/unbrowser-mcp",
      "type": "http"
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "protostatis-unbrowser-30bidoyb8x": {
      "url": "https://unchainedsky.com/unbrowser-mcp",
      "type": "http"
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "protostatis-unbrowser-30bidoyb8x": {
      "type": "http",
      "url": "https://unchainedsky.com/unbrowser-mcp"
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"protostatis-unbrowser-30bidoyb8x\",\"type\":\"http\",\"url\":\"https://unchainedsky.com/unbrowser-mcp\"}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "protostatis-unbrowser-30bidoyb8x": {
      "url": "https://unchainedsky.com/unbrowser-mcp",
      "type": "http"
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add --transport http protostatis-unbrowser-30bidoyb8x https://unchainedsky.com/unbrowser-mcp

Либо через JSON-конфиг:

claude mcp add-json protostatis-unbrowser-30bidoyb8x "{\"url\":\"https://unchainedsky.com/unbrowser-mcp\",\"type\":\"http\"}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add protostatis-unbrowser-30bidoyb8x --url https://unchainedsky.com/unbrowser-mcp

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.protostatis-unbrowser-30bidoyb8x]
url = "https://unchainedsky.com/unbrowser-mcp"
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите protostatis/unbrowser.

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "protostatis-unbrowser-30bidoyb8x": {
      "url": "https://unchainedsky.com/unbrowser-mcp",
      "type": "http"
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "protostatis-unbrowser-30bidoyb8x": {
      "url": "https://unchainedsky.com/unbrowser-mcp",
      "type": "http",
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например protostatis-unbrowser-30bidoyb8x.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: protostatis-unbrowser-30bidoyb8x
    type: http
    url: https://unchainedsky.com/unbrowser-mcp
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "protostatis-unbrowser-30bidoyb8x": {
      "url": "https://unchainedsky.com/unbrowser-mcp",
      "type": "http"
    }
  }
}

Похожие MCP-сервера

scraperapi/scraperapi-mcp

scraperapi/scraperapi-mcp

от scraperapi

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

Python⭐ 5
junipr-labs/mcp-server

junipr-labs/mcp-server

от junipr-labs

MCP-сервер Junipr даёт AI-ассистентам доступ к 75+ инструментам веб-интеллигенции: скриншоты, PDF, метаданные и многое другое. Бесплатный тариф: 500 кредитов/месяц. Всё через один API.

JavaScript⭐ 1
hyperbrowserai/mcp

hyperbrowserai/mcp

от hyperbrowserai

MCP сервер Hyperbrowser для скрапинга, краулинга и извлечения структурированных данных. Включает браузерные агенты OpenAI CUA и Claude. Для веб-автоматизации и сбора данных LLM.

TypeScript⭐ 789
andyliszewski/webcrawl-mcp

andyliszewski/webcrawl-mcp

от andyliszewski

MCP сервер для веб-скрапинга, поиска и обхода сайтов без headless-браузера. Использует бесплатные библиотеки (trafilatura) для извлечения контента, с опциональным Fallback на Firecrawl для JS-тяжёл...

Python⭐ 16
scrapeless-ai/scrapeless-mcp-server

scrapeless-ai/scrapeless-mcp-server

официальный

от scrapeless-ai

Scrapeless MCP Server подключает LLM и AI-агентов к вебу: поиск Google, тренды, браузерная автоматизация, скрапинг (HTML, Markdown, скриншоты). Применяется для AI-ассистентов, копилотов и веб-агентов.

TypeScript⭐ 169
ofershap/real-browser-mcp

ofershap/real-browser-mcp

от ofershap

Управляет вашим реальным Chrome: кликает, заполняет формы, снимает скриншоты и проверяет результат. Работает с вашими сессиями и корпоративным SSO.

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

Лука Никитин