Skip to main content
Glama

unbrowser

Дешёвый браузерный пропуск для агентов. Один нативный бинарник. Никакого Chrome.

unbrowser MCP server

Официальный идентификатор MCP Registry: mcp-name: io.github.protostatis/unbrowser

unbrowser — это веб-рантайм с сохранением состояния и без визуального интерфейса, предназначенный для агентов. Он находится между curl/WebFetch и настоящим браузером: сохраняет cookies и состояние DOM, возвращает запрашиваемые ссылки на элементы, обрабатывает ссылки и HTML-формы, определяет признаки challenge и SPA, а когда статического HTML недостаточно, может выполнять ограниченные QuickJS-скрипты страницы.

По умолчанию navigate — быстрый статический/SSR-проход. Устанавливайте exec_scripts: true только когда нужно ограниченное выполнение QuickJS. Тяжёлые SPA, трекинговые пиксели, высокая точность V8, расширения и интерактивные антибот-проверки относятся к уровню настоящего Chrome.

Попробуйте живое публичное веб-демо перед установкой. Оно принимает только фиксированные публичные наборы источников, показанные на странице; не отправляйте через него личные данные, cookies или задачи, требующие авторизации. Общий Streamable HTTP MCP endpoint доступен по адресу https://unchainedsky.com/unbrowser-mcp для публичных smoke-тестов; для боевых сессий используйте локальную установку.

Используйте unbrowser только на сайтах, аккаунтах и данных, к которым вам разрешён доступ. Обнаружение challenge-проверок и импорт cookies не дают права обходить средства контроля доступа или условия сайта. Относитесь к сессионным cookies как к учётным данным: храните их локально, ограничивайте авторизованной задачей и никогда не отправляйте их в публичное демо.

Выберите подходящий уровень

Нужно

curl / WebFetch

unbrowser

Настоящий Chrome

Статический/SSR HTML

raw-ответ

структурированная MapBlock + DOM-запросы

полный браузер

Cookies, ссылки, HTML-формы

DIY

встроено

встроено

Клиентские скрипты страницы

ограниченный QuickJS, opt-in

V8

Пиксели, Canvas, WebGL, Workers и расширения

Вывод, ориентированный на агента

DIY-парсинг

ссылки на элементы, сигналы страницы, структурированное извлечение

DIY CDP / DOM-парсинг

Интерактивная проверка доступа

detect + stop

авторизованный браузер / подтверждение человеком

Используйте unbrowser, когда одного HTTP слишком примитивно, а полный браузер слишком дорог. Когда страница требует Chrome, вывод подсказывает агенту эскалировать, а не делать вид, что совместимость, которой нет, существует.

Related MCP server: Browserbase MCP Server

Быстрый старт

Docker — Linux amd64/arm64, загрузка ~13 MiB

docker pull ghcr.io/protostatis/unbrowser:latest

# One-shot navigation
docker run --rm ghcr.io/protostatis/unbrowser:latest \
  navigate https://example.com --json

# Default mode: MCP over stdio
docker run --rm -i ghcr.io/protostatis/unbrowser:latest

Образ distroless и запускается без привилегий root: в нём нет shell, пакетного менеджера или постоянного состояния. Для production зафиксируйте тег :vX.Y.Z или digest образа.

Python

pipx install pyunbrowser   # recommended on macOS / modern Linux
# or, inside a Python 3.10+ virtual environment:
pip install pyunbrowser
from unbrowser import Client

with Client() as ub:
    ub.navigate("https://news.ycombinator.com")
    for link in ub.query(".titleline > a")[:3]:
        print(link["text"], link["attrs"]["href"])

На macOS /usr/bin/python3 — это Python 3.9, и он не может установить wheel; используйте pipx или Homebrew Python. Дистрибутив на PyPI имеет имя pyunbrowser, однако импорт и исполняемый файл остаются unbrowser.

MCP

{
  "mcpServers": {
    "unbrowser": {
      "command": "unbrowser",
      "args": ["--mcp"]
    }
  }
}

Минимальная поверхность: добавьте "--mcp-profile", "minimal", чтобы открыть только navigate/query/extract/help, и позвольте агенту обнаружить остальное через help(topic). Python-обёртка предоставляет «умный» сервер с тремя инструментами (search/open/help) в виде консольного скрипта unbrowser-smart.

{
  "mcpServers": {
    "unbrowser": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "ghcr.io/protostatis/unbrowser:latest"
      ]
    }
  }
}

См. справочник по установке и интерфейсу для деталей про Cargo, release-архивы, сборку из исходников, постоянные shell-сессии, raw JSON-RPC и все возможности MCP.

Что получает агент

  • navigate возвращает BlockMap: заголовок страницы, ориентиры, заголовки, интерактивные элементы, сигналы плотности и ASCII-план. Размер результата зависит от страницы; оно структурировано для планирования, а не как обещание фиксированного числа токенов.

  • Стабильные ссылки на элементы (e:142): запросите элемент один раз, а затем выполняйте click, type или submit повторно, не разбирая HTML заново.

  • Cookies и формы с сохранением состояния: cookie-хранилище, GET- и URL-encoded POST-форммы, ссылки и редиректы сохраняются в рамках сессии.

  • Сигналы страницы и challenge: density.likely_js_filled, thin_shell и challenge.provider сообщают агенту, стоит ли запускать скрипты, проверять встроенные данные, останавливаться или эскалировать на авторизованную браузерную сессию.

  • Помощники маршрутизации в каждом результате: micro_hint (конкретный следующий шаг), next_tools (ранжированные кандидаты), avoid (инструменты, где нечего делать) и стабильная таксономия escalation (challenge, thin_shell, partial_result, …) с атрибутами retryable/severity/proof — рекомендации никогда не противоречат avoid.

  • Структурированные помощники: обнаружение маршрутов, извлечение карточек, нормализация таблиц, text_main и отладка селекторов охватывают типовые сценарии извлечения данных.

Режим скриптов и эскалация

{"id":1,"method":"navigate","params":{"url":"https://example.com","exec_scripts":true}}

При exec_scripts: true встроенные и внешние скрипты работают в QuickJS с ограниченным watchdog'ом. Это может дать лёгкую гидравцию страницыи данных, видимых во fetch; это не V8 и не движок рендеринга. Тяжёлые приложения React/Vue/Ember всё равно могут оставлять пустую оболочку.

Эскалируйте на unchainedsky-cli или Unchained, когда разрешённая задача требует реальной отрисовки пикселей, Canvas/WebGL, Workers, расширений браузера, V8-совместимости, авторизованного профиля или подтверждения человеком. Если пользователь уже создал авторизованную сессию в Chrome, cookies_set может импортировать нужные сессионные cookies локально до их истечения; это не лицензия на обход ограничений сайта.

Документация

Нужно

Читать

Пути установки, session CLI, one-shot CLI, raw RPC, MCP, каталог shims, полная RPC-таблица

Справка по использованию

Совместимость скриптов, признаки SPA, обработка challenge, авторизованная передача cookies, эскалация

Совместимость и эскалация

Дистрибуция и поддерживаемые листинги каталогов

Заметки о дистрибуции

Сборка нативного бинарника

Инструкция по сборке

Лицензия

Apache-2.0 — см. LICENSE.

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
10hResponse time
6dRelease cycle
17Releases (12mo)
Commit activity
Issues opened vs closed

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    A Model Context Protocol server that provides browser automation capabilities using Playwright, enabling LLMs to interact with web pages through structured accessibility snapshots without requiring screenshots or visually-tuned models.
    22
    4,588,713
    Apache 2.0
  • A
    license
    A
    quality
    D
    maintenance
    Enables cloud browser automation through Browserbase and Stagehand, allowing LLMs to interact with web pages, take screenshots, extract data, and perform automated actions with support for proxies, stealth mode, and parallel sessions.
    14
    3,231
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Agent-native headless browser for AI agents. Converts web pages to a Semantic Object Model (SOM) instead of raw HTML — 17x average token reduction across real-world sites (up to 117x on complex pages). Native MCP server with fetch_page, extract_text, extract_links, and full browser automation. No API key required.
    37
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • Stealth web browser for agents: search, fetch, click and type through persistent sessions over MCP.

  • Scrape, crawl, map & search the web. Open-source, self-hostable Rust crawler & search for AI agents.

  • AI-powered browser automation — navigate, click, fill forms, and extract data from any website.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/protostatis/unbrowser'

If you have feedback or need assistance with the MCP directory API, please join our Discord server