haden-browser
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.
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 ahaden_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 -.-> AIVistas
Vista | Mejor para | Datos devueltos |
| Búsqueda, lectura, flujos de formulario | Encabezados, texto visible, enlaces y controles con referencias |
| Estructura y atributos HTML | HTML saneado; scripts y contenido incrustado eliminados; |
| 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 |
| Abrir una URL HTTP(S) y devolver su primera instantánea |
| Leer la página actual, opcionalmente dentro de un selector CSS |
| Hacer clic, rellenar, seleccionar, pulsar, desplazarse, navegar por el historial, recargar o esperar; luego devolver la instantánea actualizada |
| Devolver los píxeles reales de la imagen para una referencia |
| 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 buildA 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 |
|
| Ejecutar Chromium sin una ventana visible |
|
| Bloquear imágenes, multimedia y fuentes durante la navegación normal |
|
| Permitir localhost y destinos de red privada |
|
| Tiempo de espera de navegación y obtención de imágenes |
|
| Tiempo de espera de clic, relleno y localizador |
|
| Límite de caracteres predeterminado de la instantánea |
|
| Máximo de bytes devueltos por |
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 buildEl 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
Maintenance
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
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to control a browser through a set of tools, allowing them to perform web automation tasks like navigation, typing, clicking, and taking screenshots.
- AlicenseNot gradedqualityDmaintenanceA 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
- AlicenseAqualityAmaintenanceA token-efficient MCP server that gives AI agents structured access to the web, returning compact page summaries and targeted queries instead of full accessibility dumps.23435174MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to control a browser through a set of tools, allowing them to perform web automation tasks like navigation, typing, clicking, and taking screenshots.
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
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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