Skip to main content
Glama

Pase de navegador rápido para agentes. Un solo binario nativo. Sin Chrome.

servidor MCP de unbrowser

Identidad oficial del registro MCP: mcp-name: io.github.protostatis/unbrowser

unbrowser es un runtime web sin estado y sin visualización para agentes. Se sitúa entre curl/WebFetch y un navegador real: conserva cookies y estado DOM, devuelve referencias a elementos consultables, maneja enlaces y formularios HTML, detecta señales de desafío y de SPA, y puede ejecutar scripts QuickJS acotados cuando el HTML estático no es suficiente.

navigate predeterminado es una pasada estática/SSR. Configure exec_scripts: true solo cuando necesite ejecución QuickJS acotada. Las SPA pesadas, píxeles, fidelidad, audio, y desafíos interactivos de bots pertenecen al nivel de Chrome real.

Pruebe la demostración pública en vivo antes de instalar. Acepta solo los conjuntos de fuentes públicas fijos que se muestran en la página; NO envíe datos privados, tareas autenticadas ni navegación a través de él. Hay un endpoint MCP HTTP compartido en https://demo.example.org/unbrowser-mcp para pruebas públicas; las sesiones de producción deben usar una instalación local.

Use unbrowser solo en sitios, cuentas y datos a los que tenga permitido acceder. La detección de desafíos y la importación de enlaces no le otorgan permiso para eludir controles de acceso ni los términos del sitio. Enlaces de sesión: manténgalos locales, limítelos a la tarea autorizada y nunca los envíe a la demostración pública.

Elija el nivel adecuado

Necesidad

curl / Fetch

unbrowser

Chrome real

HTML estático / SSR

respuesta cruda

BlockMap estructurado + consultas DOM

navegador completo

Enlaces, cookies, formularios HTML

hágalo usted mismo

integrado

integrado

Guiones del lado del cliente

QuickJS acotado, opcional

V8

Píxeles, Canvas, WebGL, Workers, extensiones

Salida orientada al simulador

análisis manual

refs de elementos, señales de página, extracción estructurada

extracción CDP / DOM estructurada

| Desafío de acceso interactivo | ❌ | detectar + detener o escalar a | navegador autorizado / confirmación humana |

Related MCP server: Browserbase MCP Server

Inicio rápido

Docker — Linux amd64/arm64, ~13 MiB descarga

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

La imagen es distroless y se ejecuta como no root: sin shell, gestor de paquetes ni estado persistente. Fije :vX.Y.Z o un resumen de la imagen en producción.

Python

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

En macOS, /usr/bin/python3 es 3.9 y no puede instalar la rueda; use pipx o un Python Homebrew. La distribución de PyPI es py-unbrowser, mientras que la importación y el ejecutable siguen siendo unbrowser y unbrowser.

MCP

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

Superficie mínima: añada "--mcp-profile", "minimal" para exponer solo navigate/query/extract/help, y deje que el agente explore el resto mediante help(topic). El envoltorio de Python incluye una herramienta de 3 servidores (search/open/help) como unbrowser-smart en la script de línea de comandos.

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

Vea referencia de instalación e interfaz para archivos Cargo, fuentes de compilación, sesiones de shell, JSON-RPC raw, y todas las opciones de MCP.

Qué obtiene un agente

  • navigate devuelve un BlockMap: título de página, fragmentos clave, señales interactivas, densidad y un esquema ASCII. Su tamaño es dependiente de la página; está estructurado para nivel de turno, no promesa de token fijo.

  • Refs de elementos estables (e:clave): consulta un elemento una vez, luego click, type, o submit sin volver a analizar el HTML.

  • Cookies y dominios con estado: cookie de sesión, cuerpo de formulario URL-encoded GET, enlaces y redirecciones persisten dentro de una sesión.

  • Señales de página y desafío: density.js_app, shell_fino, y challenge.provider indican a un agente si debe ejecutar secuencias de comandos, inspeccionar datos incrustados, detenerse o entregar a un navegador autorizado.

  • Ayudas de enrutado en cada resultado: micro_hint (el siguiente paso concreto), next_tools (candidatos clasificados), abstain (herramientas sin algo que actuar), y una taxonomía de escalation (retry, thin_shell, parallel_result, ...) con reintentable / severidad - no contradice avance.

  • Ayudas estructuradas: descubrimiento de datos, extracción de cookies, normalización de tablas, text_main, y cobertura del selector al depurador para flujos comunes de extracción.

Modo de secuencias de comandos y escalación

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

Con exec_scripts: true, las secuencias de comandos en línea of popa del lado del servidor se ejecutan en QuickJS con un límite de ejecución. Esto puede materializar hidratación de datos y visibilidad simulada; no es V8 ni un motor de renderizado. Las apps pesadas de React/Vue/Angular pueden seguir siendo una cáscara vacía.

Escalada a unchainedsky-cli o Unchained cuando una tarea permitida necesite píxeles reales, Canvas/WebGL, Workers, service workers, extensiones de Chrome, perfil autenticado o confirmación humana. Cuando el usuario ya tiene una sesión Chrome autorizada, cookies puede importar la cookie de sesión necesaria localmente hasta que expire; no es una licencia para evitar los controles del sitio.

Documentación

| Necesito | | Leer | | ---------------------------------------------------------------------------------------------------- | -------- | | Rutas de instalación, CLI de sesión, CLI de un solo uso, RPC raw, MCP, shims, referencia completa RPC | referencia de instalación | and Leer | | Compatibilidad y escalada | Detallada | | Paquetes y distribuciones compatibles | distribución | | Compilar el binario nativo | instrucciones de compilación |

Licencia

Apache-2.0 — vea LICENCIA.# Pase de navegador barato para agentes. Un solo binario nativo. Sin Chrome.

Servidor MCP de unbrowser

Identidad oficial del registro MCP: mcp-nombre: io.github.protostatis/unbrowser

unbrowser es un runtime web sin estado y con estado para agentes. Se encuentra entre Acortador/WebFetch y un navegador real: conserva cookies y estado DOM, devuelve referencias consultables de elementos, maneja enlaces y formularios HTML, detecta señales de desafío y SPA, y puede ejecutar scripts QuickJS acotados cuando el HTML estático no es suficiente.

navigate por defecto es una pasada estática/SSR. Establezca exec_scripts: true solo cuando necesite ejecución QuickJS acotada. Las SPA pesadas, píxeles, fidelidad, audio y desafíos interactivos anti-bots pertenecen a un nivel de Chrome de uso correcto.

Pruebe la demo pública en vivo antes de instalarla. Acepta solo los conjuntos de fuentes públicas fijos que se muestran en la página; NO envíe datos privados, tareas autenticadas ni navegador a través de él. Un endpoint MCP HTTP compartido está en https://demo.example.org/unbrowser-mcp para pruebas públicas; las sesiones de producción deben ejecutarse mediante una instalación local.

Use unbrowser solo en sitios, cuentas y datos a los que tenga permiso de antiguo. La detección de desafíos y la importación de cookies no otorgan permiso para evadir controles de acceso ni términos del sitio. Trate las cookies de sesión como credenciales: manténgalas locales, límítelas a la tarea autorizada y jamás las envíe a la demo pública.

Elija el nivel adecuado

Necesito

adivinación / API

unbrowser

La descarga

HTML estático / SSR

raw HTML

BlockMap estructurado + consultas DOM

navegador completo

Cookies, enlaces, formularios HTML

hacerlo usted mismo

incorporado

incorporado

Guiones en el cliente

QuickJS acotado, por adhesión

V8

Píxeles, Canvas, WebGL, Workers, extensiones

Salida orientada al simulador

parseo propio

referencias de elementos, señales de página, extracción estructurada

extracción CDP / DOM estructurado

| Desafío de acceso interactivo | ❌ | detectar + detener o escalar | navegador autorizado / confirmación humana |

Inicio rápido

Docker — Linux amd64/arm64, ~13 MiB de descarga

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

La imagen es distroless y se ejecuta como no root: sin shell, sin gestor de paquet killing/estado persistente. Fije :vX.Y.Z o un resumen de la imagen en producción.

Python

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

En macOS, /usr/bin/python3 es 3.9 y no puede instalar la rueda; utilice pipx opload es python en Homebrew. La distribución de PyPI es py-unbrowser, mientras la importación y el ejecutable siguen siendo unbrowser y unbrowser.

MCP

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

Minimal: agregue "--mcp-profile", "minimal" para exponer solo navegar/consultar/extraer/ayuda, y deje que el agente explore el resto mediante ayuda(tema). El envoltorio de Python incluye un servidor con 3 herramientas (buscar/abrir/ayuda) como el guion de consola unbrowser-smart.

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

Consulte la referencia de instalación e interfaz para archivos Cargo, compilaciones de fuentes, sesiones de shell, JSON-RPC crudo, y todas las opciones de MCP.

Qué obtiene un agente

  • navegar devuelve un BlockMap: título de la página, varias señales clave, densidad, contorno ASCII. Su tamaño depende de la página; está estructurado para el nivel de la página, no una promesa de token fijo.

  • Referencias de elemento estables (e:clave): consulta un elemento una vez, luego click, escribir o enviar sin volver a analizar el HTML.

  • Navegación de cookies: cookie jar, sesión, URL de GET, cuerpos de POST codificados, enlaces y redirecciones persisten dentro de una sesión.

  • Señales de página y de desafío: app_density, shell, proveedor le dicen a un agente si debe ejecutar guiones, inspeccionar datos incrustados, detenerse o pasar a un navegador autorizado.

  • Ayudas de ruta en cada resultado: micro_hint (el siguiente paso?), siguientes_idiomas (candidatos), abstenerse (herramientas con algo que hacer), y una taxonomía estable de escalada (reintentar, caparazón, resultado_..., ...) con reintento/severidad — no contradice avanzar.

  • Ayudas estructuradas: descubrimiento de enlaces, normalización de tablas, texto_principal, y depurador de selector cubren flujos de extracción comunes.

Modo de script y escalada

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

Con exec_scripts: true, los scripts en línea y externos se ejecutan en QuickJS con un compás de ejecución delimitado. Puede materializar hidratación de la página y datos visibles de fetch; no es V8 ni un motor de renderizado. Las aplicaciones pesadas de React/Vue/Angular pueden quedarse aún como una cáscara vacía.

Escalada a unchainedsky-cli o Unchained cuando una tarea permitida necesite píxeles reales, Canvas/WebGL, Trabajadores, extensiones de Chrome, un perfil autenticado o confirmación humana. Cuando el usuario ya tiene una sesión de Chrome autorizada, cookies pueden importar la cookie de sesión necesaria localmente hasta que expire; esto no es una licencia para evadir los controles de un sitio.

Documentación

Necesito

Leer

Rutas de instalación, CLI de sesión, CLI de un solo disparo, RPC puro, MCP, shims, referencia RPC completa

referencia y uso

Puntos de control, señales SPA, desafío/cancelación, entrega de cookies

compatibilidad y escalada

Paquetes y distribuciones vinculadas

notas de distribución

Compilar el binario nativo

instrucciones

Licencia

Apache-2.0 — ver [LICENCIA](./LICENC# Pase de navegador barato para agentes. Un solo binario nativo. Sin Chrome.

Servidor MCP de unbrowser

Identidad oficial del registro MCP: mcp-nombre: io.github.protostatis/unbrowser

unbrowser es un runtime web sin estado y no virtual para agentes. Se encuentra entre curl/WebFetch y un navegador real: conserva cookies y estado DOM, devuelve referencias consultables de elementos, maneja enlaces y formularios HTML, detecta señales de desafío y portales de una sola página (SPA), y puede ejecutar scripts QuickJS limitados cuando el HTML estático no es suficiente.

navigate es un pase estático/SSR. Configure exec_scripts: true solo cuando necesite ejecución limitada de QuickJS. Las SPA pesadas, píxeles, fidelidad, audio y desafíos interactivos contra bots pertenecen a un nivel real de Chrome.

Pruebe la demostración pública en vivo antes de instalar. Acepta solo los conjuntos de fuentes públicas fijas que se muestran en la página; NO envíe datos privados, tareas autenticadas ni navegador donde no se indique cada petición. Un micromundo MCP HTTP compartido está disponible en https://demo.example.org/unbrowser-mcp para pruebas públicas; las sesiones de producción deben ejecutarse mediante una instalación local.

Use unbrowser solo en sitios, y datos a los que tenga permitido acceder. La detección de desafíos y la importación de cookies no otorgan permiso para eludir los controles de acceso ni los términos del sitio. Trate las cookies de sesión como credenciales: manténgalas locales, limítelas a la tarea autorizada y nunca las envíe a la demostración pública.

Elija el nivel correcto

Necesito

curl / web-fetch

unbrowser

Chrome real

HTML estático / SSR

respuesta cruda

BlockMap estructurado + consultas DOM

navegador completo

Cookies, enlaces, formularios HTML

hágalo usted mismo

integrado

Guiones del lado del script del lado del servidor

QuickJS opcional, opt-in

V8

Píxeles, Canvas, WebGL, Workers, extensiones

Salida orientada al agente

análisis propio

referencias de script, señales de página, extracción estructurada

extracción CDP / DOM estructurado

| Desafío de acceso interactivo | ❌ | detectar + detener/derivar o derivar a | navegador humano / confirmación humana |

Inicio rápido

Docker — Linux amd64/arm64, ~13 miB de subida

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

La imagen es distroless y se ejecuta como no-root: sin shell, sin gestor de paquetes y sin estado persistente. Fije :v.X.Y.Z o un resumen de imágenes de producción.

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

En macOS, /usr/bin/python3 es 3.9 y no puede instalar la rueda; use pipx o un Homebrew Python. La distribución de PyPI es el paquete py-unbrowser, mientras que la importación y el ejecutable siguen siendo unbrowser.

MCP

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

Superficie mínima: agregue "--mcp-perfil", "mínimo" solo para exponer navegar/consultar/extraer/ayuda, y deje que el agente explore el resto mediante ayuda(tema). El envoltorio de Python envía como unbrowser-smart script: servidor buscar/abrir/ayuda.

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

Vea la referencia de instalación e interfaz para archivos de Cargo, compilaciones de fuentes, sesiones de shell, JSON-RPC crudo y todas las opciones de MCP.

Qué obtiene un agente

  • navegar devuelve un BlockMap: título, señales clave, densidad de enlaces, contorno ASCII y consultas DOM. Su tamaño depende de la página; estructurado para el paso de nivel, no como promesa de token nivel.

  • elemento estable (e:clave): consulte un elemento una vez, luego clic, tecla, enviar, sin reanalizar HTTP.

  • Cookies interanuales yOTDH: cookie jar, sesión, URL de POST de cuerpo, enlaces y redirecciones persisten dentro de una sesión.

  • Señales de página y desafio: app.js, shell, challenge.proveedor le dicen a un agente si ejecutar scripts, inspeccionar datos incrustados, detenerse o entregar a un navegador autorizado.

  • **micro_hint (la siguiente microata de acción), siguientes (candidatos clasificados), abstenerse (herramientas sin nada que hacer), y la taxonomía de escalada (reintentar, shell_fino, resultado_..., ...) con reintentar/severidad — no contradice consejos.

  • Ayudas estructuradas: extracción de enlaces, normalización de tablas, texto_principal, y * depurador de selectores` cubren flujos comunes de extracción.

Modo de secuencias y escalada

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

Con exec_scripts: true, los scripts en línea y externos se ejecutan en QuickJS bajo un límite de tiempo limitado. Esto puede materializar hidratación de la página y datos de visible fetch; no es V8 ni un motor de renderizado. Las aplicaciones pesadas de React/Vue/Angular pueden aún dejar un caparazón vacío.

Escalar a unchainedsky-cli o Unchained cuando una tarea permitida necesite píxeles reales, Canvas/WebGL, Workers, extensiones de Chrome, perfil autenticado o confirmación humana. Cuando el usuario ya tiene una sesión de Chrome autorizada, cookies puede importar la cookie de sesión necesaria localmente hasta que expire; esto no es licencia para no evadir los controles de un sitio.

Documentación

Necesito

Leer

Rutas de instalación, CLI de sesión, CLI de un solo uso, RPC sin procesar, MCP, shims, referencia RPC completa

referencia de instalación y uso

Puntos de control, señales SPA, manejo de desafíos, cookies autorizadas

compatibilidad y escalada

Lista de paquetes y distribuciones compatibles

notas de distribución

Compilar el binario nativo

instrucciones de compilación

Licencia

Apache-2.0 — consulte LICENCIA.

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