Skip to main content
Glama
weaming
by weaming

Browser Bridge

Puente AI ↔ control del navegador: convierte el navegador en un conjunto de herramientas MCP. Cualquier cliente MCP (programa de IA) invoca herramientas como browser_snapshot / browser_click / browser_type a través del protocolo MCP estándar para operar páginas web en un navegador real.

  • Compatible con cualquier cliente MCP: Claude, codex, agente personalizado, curl

  • Modo de seguimiento por defecto: la IA controla automáticamente tu pestaña activa actual, sin configuración

  • Navegador real, no headless: sesión iniciada, captchas (te pide que los resuelvas manualmente), características anti-scraping naturales

Inicio rápido

1. Descarga

Descarga un archivo comprimido desde Releases:

  • browser-bridge-<platform>-<arch>.zip — elige según la plataforma de tu máquina

Descomprímelo en cualquier directorio (en adelante <DIR>), que contendrá browser-bridge/ (extensión), browser-bridge-host, install-host.sh (en Windows, install-host.ps1).

2. Cargar la extensión

  1. Abre chrome://extensions

  2. Activa el modo desarrollador en la esquina superior derecha

  3. Haz clic en «Cargar extensión descomprimida» y selecciona el directorio browser-bridge/ descomprimido

3. Instalar el host

macOS / Linux:

cd <DIR>
./install-host.sh         # Windows(PowerShell): .\install-host.ps1

Al ejecutarlo se mostrarán los navegadores detectados; pulsa Enter para instalar en todos, o introduce el número de serie para elegir un navegador específico; también admite especificarlo directamente mediante argumentos:

./install-host.sh --all      # 安装到全部浏览器
./install-host.sh --chrome   # 只装 Chrome(--chromium / --edge 同理)

El ID de la extensión ya está fijado internamente, no es necesario rellenarlo manualmente; si tu ID de extensión es diferente, puedes añadir el parámetro: ./install-host.sh <tu-ID-de-extensión>.

Si el navegador ya está abierto, después de la instalación sal por completo y reinicia el navegador.

4. Uso

Conecta cualquier cliente MCP:

MCP server: http://127.0.0.1:1234/mcp

Si el puerto está ocupado, se incrementa automáticamente en +1; el puerto real se puede ver en el popup de la extensión (Conectado · Puerto MCP xxxx) o en ~/.browser-bridge/port.

Ejemplo de configuración de codex (~/.codex/config.toml):

[mcp_servers.browser]
url = "http://127.0.0.1:1234/mcp"

Después, dile a la IA «mira esta página…» y listo.

Related MCP server: Playwright MCP Server

Herramientas MCP

Herramienta

Parámetros

Descripción

browser_control_status

—

Consulta el objetivo de control y el estado de conexión

browser_list_tabs

—

Lista todas las pestañas

browser_use_tab

tabId(-1 vuelve a seguimiento)

Fija/cambia el objetivo de control

browser_new_tab

url?

Crea una pestaña nueva y navega inmediatamente (página en blanco si se omite)

browser_close_tab

tabId?

Cierra la pestaña (por defecto cierra la controlada y vuelve a seguimiento)

browser_activate_tab

tabId

Activa la pestaña para que el usuario la vea, sin cambiar el objetivo

browser_duplicate_tab

tabId?

Duplica la pestaña (por defecto duplica la controlada)

browser_pin_tab

tabId?, pinned?

Fija/desfija la pestaña

browser_snapshot

—

Instantánea de elementos interactivos (número de ref + coordenadas)

browser_extract

format?(markdown|html|raw)

Extrae el contenido; en páginas de chat (ChatGPT/Gemini) lo agrupa por turnos de preguntas y respuestas; format=html devuelve HTML depurado, raw devuelve el body HTML original

browser_screenshot

—

Captura de pantalla del área visible (dataUrl, para entender diseños complejos visualmente)

browser_url

—

Consulta la URL y el título de la página controlada actual (ligero)

browser_click

ref, button?

Clic

browser_dblclick

ref

Doble clic

browser_type

ref, text, clear?

Escribir texto (compatible con entradas controladas de React)

browser_form_fill

fields[]

Rellenar varios campos por lotes

browser_press / browser_key

key, modifiers?

Pulsar teclas (admite ctrl/shift/alt/meta)

browser_select

ref, value

Lista desplegable

browser_scroll

dir, amount?, ref?

Desplazamiento

browser_hover

ref

Pasar el cursor

browser_highlight

ref

Resalta el elemento durante 1 s (el usuario ve dónde opera la IA)

browser_drag

fromRef, toRef

Arrastre HTML5

browser_goto

url

Navegar a una URL específica

browser_back

—

Retroceder en el navegador

browser_refresh

—

Recargar la página

browser_wait_for

ms o selector o text(elegir uno, no combinables)

Esperar: temporizador (ms≤60s), o hasta que aparezca un elemento, o hasta que aparezca texto en la página (condiciones de UI máx. 5s)

La IA se organiza sola: snapshot → decisión → acción → otro snapshot, hasta completar la tarea.

Modos de control

  • Modo de seguimiento (por defecto): controla tu pestaña activa actual; al cambiar de pestaña cambia el objetivo

  • Modo fijo: bloquea una pestaña concreta (no sigue al cambiar); fija/desfija con un clic en el popup, o la IA llama a browser_use_tab

Insignia del icono de la barra de herramientas: sin nada = siguiendo; AI ámbar = fijado; ! rojo = error de conexión.

Arquitectura

任意 MCP 客户端
   │ MCP (Streamable HTTP, 127.0.0.1:1234/mcp)
browser-bridge host(单进程 = MCP ↔ 帧协议翻译器)
   │ native messaging(stdin/stdout 帧)
Chrome 扩展
   ├─ background:转发、目标解析、保活、状态徽标
   └─ content script:快照 / 执行

Las extensiones MV3 no pueden escuchar puertos; el native host es el único canal (misma arquitectura que el DevTools MCP oficial de Chrome).

Compilar desde el código fuente (desarrolladores)

Requiere bun:

bun install
bun run build                    # 当前平台 host + 扩展
./scripts/install-host.sh        # 注册 host(默认内置扩展 ID)
bun run scripts/build.ts --all   # 交叉编译全部平台 + 发布包(发布用)
bun test                         # 单元 + MCP API 集成测试(无需浏览器)

Configuración

  • BROWSER_BRIDGE_PORT: puerto MCP inicial (por defecto 1234, +1 automático si está ocupado)

  • BROWSER_BRIDGE_MOCK=1: simula la respuesta de la extensión (para pruebas de desarrollo)

Solución de problemas

Síntoma

Causa

Solución

El popup muestra «host no conectado»

Host no instalado / navegador no reiniciado

Ejecuta install-host, sal por completo del navegador y vuelve a abrirlo

Invalid native messaging host name

El nombre del host contiene guiones (versión antigua)

Actualiza a la nueva versión (nombre del host com.browserbridge)

El ID de la extensión no coincide

Cargada con manifest antiguo

Vuelve a descargar la extensión, o pasa el parámetro install-host.sh <tu-ID>

MCP no conecta

El host no está en ejecución

Abre primero el navegador + la extensión (Chrome inicia el host)

La pestaña objetivo no es accesible

La página no está lista / no es http(s)

Espera a que cargue la página, o fija con browser_use_tab

Licencia

MIT

Related MCP Connectors

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    Enables AI to control browsers via natural language for web automation, testing, and data scraping. Supports Chrome-based browsers and integrates with any MCP-compatible AI tool.
    17
    2
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to control and interact with a Chrome browser via MCP, providing tools for navigation, screenshots, clicking, form filling, content extraction, and tab management.
    -