YetiBrowser MCP

oficial

YetiBrowser MCP es una solución completamente de código abierto que permite a los asistentes de IA interactuar fácilmente con tu navegador existente.

¿Qué puedes hacer con Yeti Browser MCP?

  • Navegar y capturar instantáneas de la página — pídele al asistente que cargue una URL con browser_navigate y devuelva una instantánea de accesibilidad de la página resultante.
  • Rellenar y enviar formularios web — usa browser_fill_form o browser_type para completar múltiples campos y, opcionalmente, enviar el formulario.
  • Inspeccionar la salida de la consola y el estado de la página — recupera errores, registros, datos de formularios, cookies y claves de almacenamiento mediante browser_get_console_logs y browser_page_state.
  • Ejecutar JavaScript personalizado en la página — ejecuta scripts arbitrarios con browser_evaluate y obtén resultados serializables en JSON para depuración o extracción de datos.
  • Capturar capturas de pantalla — toma capturas de pantalla del viewport o de página completa usando browser_screenshot para verificación visual o flujos de trabajo de control de calidad.

Documentación

[!IMPORTANT] Este proyecto ha sido archivado. Se creó para abordar la falta de control del navegador en agentes de IA como Claude y Codex, pero ahora los agentes tienen estas funciones integradas sin necesidad de una solución dedicada basada en MCP.

YetiBrowser MCP

YetiBrowser MCP es una implementación completamente de código abierto del flujo de trabajo Browser MCP. Vincula un servidor MCP basado en Node con extensiones de Chrome/Firefox para que los clientes del Protocolo de Contexto de Modelo —Codex/Claude Code, Cursor, Windsurf, MCP Inspector o tus propias herramientas— puedan automatizar una pestaña real del navegador manteniendo cada byte en tu máquina y auditable.

¿Por qué elegir YetiBrowser MCP?

  • Transparente y modificable – sin descargas de binarios. Inspecciona, bifurca y extiende cada componente.
  • Primero local – la extensión solo se comunica con un servidor MCP en localhost; los datos de navegación nunca salen de tu dispositivo.
  • Multi-navegador – lógica compartida que impulsa los paquetes de Chrome y Firefox (la compilación de Firefox está pendiente de un mejor soporte para Manifest V3, por lo que la experiencia de conexión puede ser limitada hasta que Mozilla publique las APIs MV3 completas).
  • Herramientas enfocadas en desarrolladores – captura de consola más rica, comparación de DOM, volcados de estado de página y capturas de pantalla de página completa diseñadas para depuración y control de calidad.
  • Listo para producción – scripts y documentación para empaquetado, publicación e integración con flujos de trabajo de IDE.

Estructura del repositorio

  • packages/shared – definiciones compartidas de TypeScript para mensajes y esquemas de herramientas.
  • packages/server – el servidor MCP que conecta clientes MCP a una pestaña del navegador en ejecución.
  • extensions/shared – código fuente compartido de la extensión (background/popup) y recursos.
  • extensions/chrome / extensions/firefox – capas de empaquetado por navegador.
  • docs/ – comandos del espacio de trabajo, listas de verificación de publicación y notas de características.
  • scripts/ – utilidades auxiliares como package-extensions.sh para archivos zip de lanzamiento.

Herramientas MCP disponibles

  • browser_snapshot – capturar una instantánea orientada a la accesibilidad de la página actual
  • browser_snapshot_diff – comparar las dos instantáneas más recientes para resaltar cambios en DOM/ARIA
  • browser_navigate – cargar una nueva URL en la pestaña conectada y devolver una instantánea actualizada
  • browser_go_back / browser_go_forward – navegar por el historial manteniendo MCP sincronizado
  • browser_wait – pausar la automatización durante un número determinado de segundos
  • browser_wait_for – bloquear hasta que aparezca un selector (opcionalmente visible) antes de continuar
  • browser_press_key – simular la pulsación de una tecla en el elemento enfocado
  • browser_click – hacer clic en el elemento identificado por un selector CSS
  • browser_hover – situar el puntero sobre el elemento objetivo
  • browser_drag – arrastrar un elemento a un destino de colocación para interfaces ordenables/de arrastrar y soltar
  • browser_type – escribir texto (opcionalmente enviando con Enter) en un elemento editable
  • browser_fill_form – rellenar múltiples entradas/selects/casillas de verificación/radios en una sola llamada
  • browser_select_option – elegir una o más opciones en un elemento <select>
  • browser_screenshot – capturar una captura de pantalla de la ventana gráfica o de página completa mediante el protocolo DevTools
  • browser_get_console_logs – devolver la salida reciente de la consola, incluyendo errores con trazas de pila
  • browser_page_state – volcar formularios, claves de almacenamiento y cookies de la página conectada
  • browser_connection_info – informar del puerto WebSocket del puente, estado de la conexión y versión de la extensión
  • browser_evaluate – ejecutar JavaScript personalizado dentro de la página y devolver resultados serializables en JSON
  • browser_handle_dialog – aceptar o descartar diálogos alert/confirm/prompt con texto de aviso opcional

Instalación de la extensión del navegador MCP

Navegador Chrome

Navegador Firefox (no disponible actualmente)

  • Debido a las capacidades limitadas de Manifest v3 en la versión estable de Firefox, la extensión de Firefox está en espera hasta que el soporte completo esté comúnmente disponible (fuera de las compilaciones Nightly).

Instalación del servidor MCP

Codex CLI

  • Edita tu ~/.codex/config.toml y añade la entrada MCP:
    [mcp_servers.yetibrowser-mcp]
    command = "npx"
    args = ["-y", "@yetidevworks/server"]
    
  • Reinicia el comando CLI de codex; deberías ver yetibrowser-mcp listado bajo las herramientas de /mcp.
  • Si quieres proporcionar un puerto específico, usa este formato para la entrada args: args = ["-y", "@yetidevworks/server", "--ws-port", "9010"]

Claude Code

  • Asegúrate de que la extensión esté instalada y conectada a una pestaña, luego inicia el servidor MCP con npx -y @yetidevworks/server (o ejecuta la CLI compilada localmente).
  • Añade la entrada del servidor a ~/Library/Application Support/Claude/claude_desktop_config.json (consulta el ejemplo en docs/publishing.md).
  • Reinicia claude para que detecte el nuevo servidor MCP; deberías ver yetibrowser-mcp listado bajo el menú de herramientas de /mcp una vez que la extensión se conecte.

Otros clientes compatibles con MCP

  • Cualquier cliente MCP puede conectarse ejecutando la CLI (npx -y @yetidevworks/server) u opcionalmente proporcionar un puerto específico, por ejemplo npx -y @yetidevworks/server --ws-port 9010.
  • El servidor expone el transporte MCP estándar sobre stdio, así que usa el mecanismo de configuración que tu cliente soporte para ejecutar el comando anterior cuando una pestaña esté conectada.

MCP Inspector

  • Para pruebas y depuración fuera de un agente de codificación.
  • npx @modelcontextprotocol/inspector npx -y @yetidevworks/server -- --ws-port 9010 para ejecutar e inspeccionar el servidor MCP junto con la extensión del navegador YetiBrowser MCP.

Solución de problemas

  • La CLI recorre los puertos 9010-9020 hasta que encuentra uno libre, registrando switched to cuando avanza. Pasa --ws-port <port> si quieres fijar un puerto específico en su lugar.
  • La ventana emergente de la extensión del navegador refleja ese comportamiento: déjala en “Automático” para rastrear el puerto de la CLI, o elige “Manual” e introduce el puerto reportado por browser_connection_info / el registro de la CLI para anularlo.
  • Simplemente pregunta a tu herramienta de IA sobre el puerto de conexión. Por ejemplo: what is the yetibrowser mcp connction info?, luego establece el puerto manual al puerto reportado.

Documentación y scripts de compilación

  • Los comandos del espacio de trabajo se encuentran en docs/workspace-commands.md.
  • Los pasos de publicación (npm + tiendas de extensiones) están en docs/publishing.md.
  • El comportamiento de las capturas de pantalla está documentado en docs/screenshot.md.
  • Genera archivos zip distribuibles de Chrome/Firefox con ./scripts/package-extensions.sh (salida a artifacts/).
  • Una política de privacidad a nivel de repositorio está disponible en PRIVACY.md.