Skip to main content
Glama

haden-browser

haden-browser — это быстрый веб-браузер, ориентированный на ИИ, предоставляемый как локальный сервер Model Context Protocol. Он даёт ИИ наименьшее полезное представление страницы для текущей цели вместо отправки скриншотов и исходного кода страницы на каждом ходу.

Бенчмарк: на 33% меньше контекста ИИ-браузера

Основной результат: Haden использовал 7 822 референсных токена для основной сессии просмотра — на 32,7% меньше, чем Playwright MCP, и на 32,5% меньше, чем Chrome DevTools MCP в полном режиме. Среди протестированных браузерных MCP, которые возвращали семантические ссылки на действия и покрытие alt-текста изображений, Haden показал наименьший объём токенов.

Обзор бенчмарка браузерных MCP: использование токенов, задержка и передача данных от источника

Медиана пяти запусков

Haden

Playwright MCP

Chrome Slim†

Chrome Full

Токены основного контекста

7,822

11,627

4,638

11,596

Токены схемы инструментов

727

3,999

221

4,974

Токены сценария работы со статьёй

2,732

4,640

2,497

4,388

Первая полезная статья

1,044 ms

2,714 ms

3,005 ms

3,133 ms

Передача данных статьи от источника

16.7 KB / 1 request

95.0 KB / 10

95.0 KB / 10

95.0 KB / 10

Семантические ссылки на действия

15

172

0

143

Покрытие alt-текста изображений

8/8

8/8

0/8

8/8

† Chrome Slim — это абсолютный минимум токенов, но он представляет собой низкоуровневый базовый уровень управления через JavaScript: модель должна сама писать скрипты страницы, а протестированный путь не возвращал семантических ссылок на действия или alt-текста изображений. Поэтому он показан прозрачно, но не рассматривается как эквивалент семантического браузера.

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

См. полный отчёт о бенчмарке, исходные данные по каждому запуску и инструкции по воспроизведению.

Related MCP server: browsegrab

Чем он отличается

  • Целевые представления — используйте компактный семантический текст для исследований, очищенный DOM для структуры или ограниченные вычисленные стили для визуальной работы.

  • Изображения остаются ленивыми — изображение представлено своим alt-текстом или [image img1]. Пиксельные данные возвращаются только когда ИИ явно вызывает haden_image.

  • Управление с малым числом обменов — каждое взаимодействие возвращает свежий снимок, поэтому большинство сценариев кликов/ввода требуют один вызов инструмента на шаг.

  • Стабильные ссылки на действия — видимые элементы управления становятся e1, e2 и так далее, что дешевле и надёжнее, чем просить модель придумывать CSS-селекторы.

  • Быстро по умолчанию — запросы изображений, медиа и шрифтов блокируются при обычном просмотре. CSS остаётся доступным для визуального представления.

  • Более безопасное локальное выполнение — не-HTTP схемы, URL с учётными данными и цели в частных сетях блокируются, если пользователь явно не согласится.

flowchart LR
    AI[AI / MCP host] -->|stdio tools| MCP[haden-browser]
    MCP --> PW[Playwright Chromium]
    PW --> PAGE[Web page]
    PAGE -->|semantic text / DOM / computed CSS| MCP
    MCP -.->|only haden_image imgN| PIXELS[Image bytes]
    PIXELS -.-> AI

Представления

Представление

Лучше всего подходит для

Возвращаемые данные

text

Поиск, чтение, формы

Заголовки, видимый текст, ссылки и элементы управления с e-рефами, плейсхолдеры изображений

dom

HTML-структура и атрибуты

Очищенный HTML; скрипты и встроенное содержимое удалены; <img> заменён на <haden-image>

visual

Макет и анализ CSS

Видимые значимые элементы с рамками и ограниченным набором вычисленных CSS-свойств

text — представление по умолчанию, и его следует предпочитать, если только задача действительно не требует структуры или деталей оформления.

MCP-инструменты

Инструмент

Назначение

haden_open

Открывает HTTP(S) URL и возвращает его первый снимок

haden_read

Читает текущую страницу, опционально в пределах CSS-селектора

haden_interact

Выполняет клик, заполнение, выбор, нажатие, прокрутку, навигацию по истории, перезагрузку или ожидание; затем возвращает обновлённый снимок

haden_image

Возвращает реальные пиксели изображения для одного img-рефа из последнего снимка

haden_status

Сообщает активную страницу без запуска Chromium

Пример текстового вывода:

# Example Domain
URL: https://example.com/
View: text
Interactive elements: 1
Images: 1 (use haden_image with an img ref only when visual inspection is needed)

# Example Domain
This domain is for use in illustrative examples.
[e1] link "More information" -> https://iana.org/domains/example
[image img1: "Example diagram"]

Ссылки привязаны к последнему снимку. После существенных изменений страницы прочитайте её заново, прежде чем повторно использовать старый e- или img-реф.

Требования

  • Node.js 20 или новее

  • Chromium, установленный через Playwright

Установка из этого репозитория

git clone https://github.com/Haden-Min/haden-browser.git
cd haden-browser
npm ci
npm run setup-browser
npm run build

Затем настройте MCP-хост для запуска собранного stdio-сервера. В реальной конфигурации используйте абсолютный путь:

{
  "mcpServers": {
    "haden-browser": {
      "command": "node",
      "args": ["/absolute/path/to/haden-browser/dist/index.js"]
    }
  }
}

Во время разработки хост может запускать npx tsx /absolute/path/to/haden-browser/src/index.ts вместо этого.

После публикации пакета в npm предполагаемая конфигурация выглядит так:

{
  "mcpServers": {
    "haden-browser": {
      "command": "npx",
      "args": ["-y", "haden-browser"]
    }
  }
}

Выполните npx playwright install chromium один раз на этой машине перед первым вызовом браузера.

Конфигурация

Переменная окружения

По умолчанию

Значение

HADEN_HEADLESS

true

Запускать Chromium без видимого окна

HADEN_BLOCK_HEAVY_ASSETS

true

Блокировать изображения, медиа и шрифты при обычном просмотре

HADEN_ALLOW_PRIVATE_HOSTS

false

Разрешать localhost и адреса в частных сетях

HADEN_NAVIGATION_TIMEOUT_MS

20000

Таймаут навигации и получения изображений

HADEN_ACTION_TIMEOUT_MS

8000

Таймаут кликов, заполнения и локаторов

HADEN_MAX_CHARS

30000

Лимит символов снимка по умолчанию

HADEN_MAX_IMAGE_BYTES

5242880

Максимальное количество байт, возвращаемое haden_image

Логические переменные принимают true/false, 1/0, yes/no и on/off.

Локальные страницы для разработки

Частные хосты блокируются по умолчанию для снижения риска SSRF. Чтобы просматривать приложение на localhost, дайте согласие только для этого MCP-процесса:

{
  "mcpServers": {
    "haden-browser-local": {
      "command": "node",
      "args": ["/absolute/path/to/haden-browser/dist/index.js"],
      "env": { "HADEN_ALLOW_PRIVATE_HOSTS": "true" }
    }
  }
}

Разработка

npm install
npm run setup-browser
npm run check
npm run build

Тестовый набор покрывает сетевую политику, формирование текста, извлечение данных из реального Chromium, взаимодействия на основе рефов, отложенное получение изображений и внутрипроцессное MCP-соединение клиент/сервер.

Текущие ограничения

  • Для каждого stdio MCP-подключения поддерживается один активный контекст браузера.

  • Рефы изображений в настоящее время охватывают видимые HTML-элементы <img>, но не CSS-фоновые изображения, canvas, кадры видео или содержимое iframe.

  • Визуальное представление сообщает вычисленные свойства; оно не выгружает все правила таблиц стилей.

  • Скачивание файлов, загрузка файлов, расширения браузера, постоянные профили и решение CAPTCHA выходят за рамки MVP.

  • Фильтрация частных хостов снижает подверженность SSRF, но не заменяет сетевую изоляцию на уровне ОС/контейнеров во враждебных мультитенантных средах.

Руководство по разработке см. в CONTRIBUTING.md, а сообщения об уязвимостях — в SECURITY.md.

Лицензия

MIT

Install Server
A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A token-efficient browser automation server that enables LLMs to navigate websites, click elements, and extract content using accessibility trees and markdown conversion. It provides eight tools for lightweight browser interaction optimized for performance with local LLM endpoints.
    MIT

View all related MCP servers

Related MCP Connectors

  • Reliable web access for AI agents: smart HTTP, rotating proxies, and full-browser rendering.

  • E2LLM gives your AI eyes and hands in a real browser: structured perception (SiFR) plus action.

  • Web search, page extraction and structured commerce, social and business data for AI agents

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/Haden-Min/haden-browser'

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