Skip to main content
Glama

browser-tools-mcp

Control persistente y con ventana del navegador Chromium para OpenCode/Claude Code, al estilo de la herramienta de navegador de Claude Code. Desarrollado el 2026-08-05 porque OpenCode no tenía una herramienta de navegador nativa y custom-scraper (HTTP simple) no puede leer páginas con mucho JavaScript ni páginas bloqueadas por inicio de sesión.

Arquitectura

El proceso del servidor MCP es el administrador único del navegador. Como OpenCode mantiene vivo el servidor stdio durante toda la sesión CLI, el navegador sobrevive entre turnos del agente. Si el navegador se bloquea o se cierra la ventana, la siguiente llamada a una herramienta lo relanza de forma transparente (server/browser.js).

Configuración de lanzamiento: headless: false, slowMo: 100, viewport 1280x800, UA de Chrome de escritorio, --disable-blink-features=AutomationControlled.

Related MCP server: Controlium

Archivos

  • server/server.js — punto de entrada MCP, registra las cinco herramientas + esquemas.

  • server/browser.js — administrador único de navegador/contexto/página + lógica de relanzamiento.

  • server/tools.js — las operaciones (árbol de elementos interactuables, selección de objetivos, resaltado, capturas de pantalla).

  • server/_self_verify.js — prueba de escenario independiente: npm run verify.

  • shots/ — capturas de pantalla de browser_inspect.

  • USAGE.md — reglas para el agente (integradas en instructions de OpenCode).

Herramientas

Herramienta

Propósito

browser_navigate(url)

Carga una URL; devuelve la URL final + título.

browser_inspect()

Captura de pantalla + árbol de elementos interactuables con objetivos numéricos.

browser_click(target)

Haz clic por número de inspección, selector CSS o texto visible.

browser_fill(target, value)

Escribe en un campo por número/selector/texto.

browser_request_human(message)

Pausa el flujo y muestra una pregunta al humano.

La selección de elementos sigue la convención de Claude Code: browser_inspect asigna a cada elemento interactuable un target numérico, etiquetado en el DOM como data-bt-target, de modo que las acciones posteriores resuelven exactamente el mismo elemento (los índices filtrados por visibilidad se desviarían frente a .nth() sin filtrar en páginas con entradas ocultas). Los elementos se resaltan brevemente antes de hacer clic para que el usuario vea la acción.

Verificación

npm run verify        # navigate -> inspect -> click -> fill -> crash-recovery

Verificado el 2026-08-05: navegación/inspección/clic en example.com, relleno en Google por objetivo y relanzamiento tras finalizar el proceso pasan; las cinco herramientas se registraron y respondieron a través del protocolo MCP stdio real.

Notas operativas

  • Con ventana significa escritorio. La ventana de Chromium necesita una sesión interactiva para lanzarse; en una máquina sin entorno gráfico o desconectada el lanzamiento falla: infórmalo en lugar de fingir.

  • Navegador aislado. Este NO es el Chrome con sesión iniciada de Luigi (eso es chrome-bridge). Sin sesiones iniciadas, sin extensiones, acceso completo de escritura.

  • Sujeto a aprobación humana. No se realizan inicios de sesión/pedidos/envíos sin instrucción explícita; browser_request_human significa PARAR hasta que el humano responda.

  • Registrado en ~/.config/opencode/opencode.jsonc como servidor MCP browser-tools; reglas de uso integradas en instructions mediante USAGE.md.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Chrome extension + MCP bridge that gives Claude control over your real browser via CDP, enabling navigation, clicking, typing, scrolling, screenshots, and JS execution with a visible cursor and tab-bring-to-front.
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    MCP server that lets AI agents drive your real Chromium browser with your existing signed-in sessions, providing visible, local, and inspectable automation for tasks like navigation, clicking, typing, and form filling.
    25
    1
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides a headless Chromium browser through MCP, enabling AI agents to browse JavaScript-rendered pages, search the web, capture screenshots, extract tables and data, and run stateful multi-step interactions like clicking, typing, and form submission.
    1,619,036 npm
    1
    MIT