Skip to main content
Glama

haden-browser

haden-browser es un navegador web rápido, pensado para IA, expuesto como un servidor local de Model Context Protocol. Ofrece a la IA la representación de página útil más pequeña para su objetivo actual en lugar de enviar capturas de pantalla y el código fuente de la página en cada turno.

Benchmark: 33 % menos de contexto de navegador para IA

Resultado principal: Haden utilizó 7.822 tokens de referencia para la sesión principal de navegación—un 32,7 % menos que Playwright MCP y un 32,5 % menos que Chrome DevTools MCP en modo completo. Entre los MCP de navegador probados que devolvieron referencias de acción semánticas y cobertura de texto alternativo de imágenes, Haden tuvo la menor huella de tokens.

Descripción general del benchmark de Browser MCP que muestra el uso de tokens, la latencia y la transferencia de origen

Mediana de cinco ejecuciones

Haden

Playwright MCP

Chrome Slim†

Chrome Full

Tokens de contexto principal

7.822

11.627

4.638

11.596

Tokens de esquema de herramienta

727

3.999

221

4.974

Tokens de flujo de trabajo de artículo

2.732

4.640

2.497

4.388

Primer artículo útil

1.044 ms

2.714 ms

3.005 ms

3.133 ms

Transferencia de origen del artículo

16,7 KB / 1 solicitud

95,0 KB / 10

95,0 KB / 10

95,0 KB / 10

Referencias de acción semánticas

15

172

0

143

Cobertura de texto alternativo de imagen

8/8

8/8

0/8

8/8

† Chrome Slim es el mínimo absoluto de tokens, pero es una base de control de JavaScript de bajo nivel: el modelo debe escribir los scripts de la página, y la ruta probada no devolvió referencias de acción semánticas ni texto alternativo de imágenes. Por lo tanto, se muestra con transparencia, pero no se trata como un equivalente de navegador semántico.

El contexto principal incluye una carga completa del esquema de herramientas, además de las llamadas y los resultados serializados de las herramientas MCP para la lectura de artículos, el envío de formularios y la inspección de estilos calculados. Los recuentos utilizan el tokenizador o200k_base. Los píxeles de las imágenes, los prompts de usuario/sistema y el razonamiento o la prosa del modelo se excluyen, por lo que el uso facturado real depende del host y del modelo de MCP.

Consulta el informe completo del benchmark, los datos brutos por ejecución y las instrucciones de reproducción.

Related MCP server: browsegrab

Por qué es diferente

  • Vistas basadas en objetivos — usan texto semántico compacto para la investigación, DOM saneado para la estructura o estilos calculados acotados para el trabajo visual.

  • Las imágenes se mantienen diferidas — una imagen se representa como su texto alternativo o [image img1]. Los datos de píxeles solo se devuelven cuando la IA llama explícitamente a haden_image.

  • Control de pocas idas y vueltas — cada interacción devuelve una instantánea nueva, por lo que la mayoría de los flujos de clic/escritura necesitan una llamada de herramienta por paso.

  • Referencias de acción estables — los controles visibles se convierten en e1, e2, etc., lo que resulta más económico y fiable que pedir a un modelo que invente selectores CSS.

  • Rápido por defecto — las solicitudes de imágenes, medios y fuentes se bloquean durante la navegación normal. CSS sigue disponible para la vista visual.

  • Ejecución local más segura — los esquemas no HTTP, las URL con credenciales y los destinos de redes privadas se bloquean a menos que el usuario lo habilite explícitamente.

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

Vistas

Vista

Mejor para

Datos devueltos

text

Búsqueda, lectura, flujos de formulario

Encabezados, texto visible, enlaces y controles con referencias e, marcadores de posición de imagen

dom

Estructura y atributos HTML

HTML saneado; scripts y contenido incrustado eliminados; <img> reemplazado por <haden-image>

visual

Diseño y razonamiento CSS

Elementos visibles significativos con cajas y un conjunto acotado de propiedades CSS calculadas

text es la opción predeterminada y debe preferirse a menos que la tarea realmente necesite detalles de estructura o presentación.

Herramientas MCP

Herramienta

Propósito

haden_open

Abrir una URL HTTP(S) y devolver su primera instantánea

haden_read

Leer la página actual, opcionalmente dentro de un selector CSS

haden_interact

Hacer clic, rellenar, seleccionar, pulsar, desplazarse, navegar por el historial, recargar o esperar; luego devolver la instantánea actualizada

haden_image

Devolver los píxeles reales de la imagen para una referencia img de la última instantánea

haden_status

Informar de la página activa sin iniciar Chromium

Ejemplo de salida de texto:

# 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"]

Las referencias están acotadas a la última instantánea. Vuelve a leer después de cambios sustanciales en la página antes de reutilizar una referencia e o img antigua.

Requisitos

  • Node.js 20 o superior

  • Chromium instalado mediante Playwright

Instalación desde este repositorio

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

A continuación, configura un host de MCP para lanzar el servidor stdio compilado. Usa una ruta absoluta en la configuración real:

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

Durante el desarrollo, un host puede lanzar npx tsx /absolute/path/to/haden-browser/src/index.ts en su lugar.

Una vez que el paquete se publique en npm, la configuración prevista es:

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

Ejecuta npx playwright install chromium una vez en esa máquina antes de la primera llamada del navegador.

Configuración

Variable de entorno

Valor predeterminado

Descripción

HADEN_HEADLESS

true

Ejecutar Chromium sin una ventana visible

HADEN_BLOCK_HEAVY_ASSETS

true

Bloquear imágenes, multimedia y fuentes durante la navegación normal

HADEN_ALLOW_PRIVATE_HOSTS

false

Permitir localhost y destinos de red privada

HADEN_NAVIGATION_TIMEOUT_MS

20000

Tiempo de espera de navegación y obtención de imágenes

HADEN_ACTION_TIMEOUT_MS

8000

Tiempo de espera de clic, relleno y localizador

HADEN_MAX_CHARS

30000

Límite de caracteres predeterminado de la instantánea

HADEN_MAX_IMAGE_BYTES

5242880

Máximo de bytes devueltos por haden_image

Las variables booleanas aceptan true/false, 1/0, yes/no y on/off.

Páginas de desarrollo local

Los hosts privados se bloquean por defecto para reducir el riesgo de SSRF. Para navegar por una aplicación en localhost, habilítalo solo para ese proceso de MCP:

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

Desarrollo

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

El conjunto de pruebas cubre la política de red, la conformación de texto, la extracción con Chromium real, las interacciones basadas en referencias, la recuperación diferida de imágenes y una conexión cliente/servidor MCP en memoria.

Limitaciones actuales

  • Se mantiene un contexto de navegador activo por conexión MCP stdio.

  • Las referencias de imagen cubren actualmente los elementos HTML <img> visibles, no las imágenes de fondo CSS, los canvas, los fotogramas de vídeo ni el contenido de los iframes.

  • La vista visual informa de las propiedades calculadas; no vuelca todas las reglas de las hojas de estilo.

  • Las descargas, la subida de archivos, las extensiones del navegador, los perfiles persistentes y la resolución de CAPTCHA quedan fuera del MVP.

  • El filtrado de hosts privados reduce la exposición a SSRF, pero no sustituye al aislamiento de red a nivel de sistema operativo/contenedor en entornos hostiles de múltiples inquilinos.

Consulta CONTRIBUTING.md para obtener orientación sobre el desarrollo y SECURITY.md para notificar vulnerabilidades.

Licencia

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