Vibe MCP
Controla tu Chrome real con sesión iniciada desde cualquier cliente MCP, incluido un agente que se ejecute en otra máquina sin necesidad de abrir puertos de entrada.
Documentación
Vibe MCP - Automatización de Navegador para Agentes de IA
Servidor MCP para Vibe AI Browser — controla tu Chrome real, con sesión iniciada desde cualquier cliente MCP, incluidos agentes que se ejecutan en una máquina diferente sin puerto de entrada abierto.
⚠️ Seguridad: trata tu URL de relay/UUID como una contraseña. Una URL de relay o UUID de extensión (
wss://relay.api.vibebrowser.app/<uuid>) otorga control en vivo de tu sesión de navegador (leer tus pestañas, tomar capturas de pantalla, leer el contenido de las páginas). Nunca lo compartas, lo pegues en un chat con partes no confiables ni lo confirmes en un repositorio. Cada UUID de ejemplo en esta documentación es un marcador de posición no enrutable (YOUR-EXTENSION-UUIDo00000000-0000-0000-0000-000000000000) — sustituye tu propio valor secreto localmente y mantenlo fuera del control de versiones.
Prompt de instalación para agentes de IA (OpenClaw / Hermes)
Pega el bloque a continuación en tu agente OpenClaw o Hermes. Reemplaza la última línea con tu valor remoto: la URL del conector (https://relay.api.vibebrowser.app/mcp/<uuid>) que se muestra en Configuración → Control de Agente de IA → Remoto (internet) → Acceso relay de la extensión Vibe (un UUID simple o una URL de relay wss:// también funcionan). Esa es la única edición que haces.
You are setting yourself up to control my real Chrome through Vibe Browser. Work through the steps in order, and after each step confirm it worked before moving on. Do not claim a step is done until you have proven it.
1. Install the "vibebrowser" skill for your runtime:
- OpenClaw: npx -y skills add VibeTechnologies/vibe-mcp -s vibebrowser -a openclaw -g -y --copy --dangerously-accept-openclaw-risks
then run `openclaw skills list` and confirm a "vibebrowser" row shows "ready" as installer registration.
- Hermes: npx -y skills add VibeTechnologies/vibe-mcp -s vibebrowser -y
optional installer registration check: `npx -y skills list` shows a "vibebrowser" row.
2. Remember my remote so I only give it to you once. Save it to a file `vibebrowser-cli.md` in your persistent agent workspace root (the directory that holds your `memory/` folder — not the shell's working dir, not $HOME unless they are the same) as a line `remote: <value>`; if your runtime can also write memory keys, additionally store it under `vibebrowser_remote`. On every later command — including the first message of a new conversation — load it back from that file and reuse it without asking me again.
3. Record a standing rule so you route correctly later: whenever I ask you to do anything in MY browser / MY Chrome / MY tabs / the page I'm on, use this vibebrowser skill (`npx -y @vibebrowser/cli@latest` with my saved remote) to drive my REAL browser — never your built-in, headless, or in-pod browser, never web-fetch instead, and never run `vibebrowser`. Save this rule wherever your standing instructions/memory live so it applies in future conversations.
4. Confirm you can control my Chrome, retrying on "Extension reconnecting" (wait 3s, up to 5x):
npx -y @vibebrowser/cli@latest --remote "<my remote>" --json status --wait-for-extension --wait-timeout 20000
npx -y @vibebrowser/cli@latest --remote "<my remote>" --json snapshot --format aria
Then report: (1) is extensionConnected true, (2) did the snapshot return my real page content?
My remote: <PASTE YOUR CONNECTOR URL, UUID, OR wss:// URL HERE>
¿Por qué Vibe MCP?
El espacio MCP de automatización de navegador avanzó rápido. La mayor parte de lo que solía diferenciarnos ahora es estándar — así que aquí tienes una tabla de puntuación honesta. Donde un competidor nos iguala, la columna dice Sí.
| Capacidad | Vibe MCP | Playwright MCP | Chrome DevTools MCP | Claude for Chrome | BrowserMCP |
|---|---|---|---|---|---|
| Usa tu perfil real / sesiones iniciadas | Sí | Sí (--extension) | Sí (propio --user-data-dir) | Sí | Sí |
| Sin diálogo de aprobación por conexión | Sí | Sí (token) | Sí (solo perfil dedicado) | Sí | Sí |
| Perfil real iniciado y sin diálogo, juntos | Sí | Sí | No — elige uno | Sí | Sí |
| Múltiples agentes contra un navegador | Sí | Sí (--shared-browser-context) | Sí (--experimentalPageIdRouting) | No | No |
| Agente en otra máquina, sin puerto de entrada | Sí — la extensión llama hacia afuera a un relay | No | No — necesita un puerto de depuración de entrada + reenvío | No | No |
| Funciona con cualquier cliente MCP (Codex, OpenCode, Cursor, Hermes, OpenClaw) | Sí | Sí | Sí | No — solo superficies de Anthropic | Sí |
Dos filas son solo nuestras:
- Control saliente entre máquinas. La extensión Vibe abre un WebSocket saliente a un relay (
wss://relay.api.vibebrowser.app/<uuid>). Nada escucha en la máquina del usuario, no se reenvía ningún puerto, y el agente puede vivir en un pod, un trabajo cron o un bot de chat. Ningún competidor documenta una conexión saliente iniciada por extensión a un servidor MCP remoto. - Perfil real sin el costo del diálogo. Chrome DevTools MCP necesita aprobación para cada conexión WebSocket a Chrome (#1794, abierto; la persistencia se cerró como no se corregirá). La solución del mantenedor —
--remote-debugging-portcon un--user-data-dirdedicado — evita el diálogo renunciando a tu perfil iniciado. Entonces: omite el diálogo o usa tu perfil real — no ambos.
También vale la pena saber:
- Bloqueo de proveedor. Claude for Chrome está disponible de forma general, hace clics y escribe mediante el permiso
debugger, y admite tareas programadas — es el competidor más cercano. Pero solo controla las superficies propias de Anthropic (panel lateral, conector de Claude Desktop, Cowork, Claude Code). No hay API pública ni superficie MCP, por lo que Codex, OpenCode, Hermes y OpenClaw no pueden usarlo. Vibe MCP es agnóstico respecto al agente. - Estabilidad. Chrome DevTools MCP es explícitamente experimental y actualmente tiene problemas abiertos de fugas de memoria (#2431, #2291, #2456) y de concurrencia (#1763, #1921).
Arquitectura Multi-Agente
Ejecuta Claude Desktop, Cursor, VS Code Copilot y OpenCode a la vez: comparten el control de un navegador a través del relay, que multiplexa las solicitudes y enruta cada respuesta de vuelta al agente que la pidió.
Claude Desktop Cursor VS Code OpenCode
| | | |
v v v v
[vibebrowser-mcp] [vibebrowser-mcp] [vibebrowser-mcp] [vibebrowser-mcp]
| | | |
+------------------+----------------+---------------+
|
v
[Relay Daemon] <-- Auto-spawned, handles multiplexing
|
v
[Vibe Extension]
|
v
[Your Chrome]
Características
- Listo para Multi-Agente - Ejecuta Claude, Cursor, VS Code y más simultáneamente contra un navegador
- Usa tu Navegador - Sin instancia de navegador separada, usa tu Chrome existente con todos tus inicios de sesión
- Capacidad Remota - La extensión llama hacia afuera a un relay, por lo que el agente puede ejecutarse en otra máquina sin puerto de entrada
- Local por defecto - En modo local todo permanece en
127.0.0.1; solo el modo relay remoto enruta el tráfico a través derelay.api.vibebrowser.app - Modo Chrome DevTools directo - Las herramientas de extensión siguen siendo primarias por defecto; usa
--devtoolspara controlar tu Chrome real en ejecución directamente a través del Protocolo DevTools (sin necesidad de extensión)
Inicio Rápido
1. Instala la Extensión Vibe
Instala la extensión Vibe AI Browser en Chrome, Brave o cualquier navegador Chromium:
Opción A: Chrome Web Store (Recomendada)
- Visita la Chrome Web Store
- Haz clic en "Agregar a Chrome"
- El ícono de Vibe aparecerá en tu barra de herramientas
Opción B: Versión para Desarrolladores
- Descarga el ZIP de la última versión
- Extrae a una carpeta permanente
- Ve a
chrome://extensions, habilita el Modo Desarrollador - Haz clic en "Cargar descomprimida" y selecciona la carpeta extraída
Para instrucciones detalladas, consulta la guía de instalación.
2. Configura tu Aplicación de IA
Claude Desktop
Edita tu archivo de configuración de Claude Desktop:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"vibe": {
"command": "npx",
"args": ["-y", "@vibebrowser/mcp"]
}
}
}
Reinicia Claude Desktop después de guardar.
Cursor
- Abre la Configuración de Cursor (Cmd/Ctrl + ,)
- Ve a "Features" -> "MCP Servers"
- Haz clic en "Add Server" y agrega:
{
"vibe": {
"command": "npx",
"args": ["-y", "@vibebrowser/mcp"]
}
}
O edita ~/.cursor/mcp.json directamente.
VS Code (GitHub Copilot)
Agrega a tu settings.json de VS Code:
{
"github.copilot.chat.mcpServers": {
"vibe": {
"command": "npx",
"args": ["-y", "@vibebrowser/mcp"]
}
}
}
Windsurf
Edita ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"vibe": {
"command": "npx",
"args": ["-y", "@vibebrowser/mcp"]
}
}
}
OpenCode
Agrega a tu .opencode/config.json:
{
"mcp": {
"servers": {
"vibe": {
"command": "npx",
"args": ["-y", "@vibebrowser/mcp"]
}
}
}
}
Gemini CLI
Agrega a ~/.gemini/settings.json:
{
"mcpServers": {
"vibe": {
"command": "npx",
"args": ["-y", "@vibebrowser/mcp"]
}
}
}
OpenAI Codex CLI / aplicación de escritorio ChatGPT / extensión IDE Codex
Los tres comparten un archivo de configuración: ~/.codex/config.toml. Configura una vez, úsalo en todas partes.
Lo más fácil: deja que Codex escriba la entrada:
codex mcp add vibe -- npx -y @vibebrowser/mcp
O agrega la tabla a ~/.codex/config.toml manualmente (Codex usa TOML, no JSON):
[mcp_servers.vibe]
command = "npx"
args = ["-y", "@vibebrowser/mcp"]
En la aplicación de escritorio de ChatGPT también puedes usar la interfaz: Configuración → Servidores MCP → Agregar servidor, elige STDIO, comando npx, argumentos -y @vibebrowser/mcp, luego Reiniciar.
Verifica con codex mcp list, o escribe /mcp en la TUI de Codex o en el compositor de escritorio.
ChatGPT en la web no lee la configuración local de Codex, por lo que un servidor MCP local como Vibe no está disponible allí.
Formas de comando MCP
Usa la invocación directa de paquete más corta para el servidor MCP:
npx -y @vibebrowser/mcp@latest --help
npx -y @vibebrowser/mcp@latest start --transport http
npx -y @vibebrowser/mcp@latest openclaw --remote "$VIBE_REMOTE_URL"
Los alias compatibles con versiones anteriores siguen funcionando cuando necesitas binarios explícitos:
npx -y -p @vibebrowser/mcp@latest vibebrowser-mcp --help
npx -y -p @vibebrowser/mcp@latest vibe-mcp --help
Conector remoto (asistentes alojados — sin instalación)
Todo lo anterior asume que el cliente puede generar un proceso local. Los asistentes alojados no pueden: Claude en la web / en Cowork / en móvil, y ChatGPT en la web, se ejecutan en la nube del proveedor sin acceso a tu máquina. Aceptan una URL de servidor MCP remoto y nada más — sin comando, sin argumentos y sin encabezados de solicitud personalizados.
Para esos, omite @vibebrowser/mcp por completo. La extensión sola es suficiente:
https://relay.api.vibebrowser.app/mcp/<your-extension-uuid>
Encuentra <your-extension-uuid> en la extensión: Ícono de Vibe → Configuración → Control de Agente de IA → Remoto (internet) → Acceso relay. Ese panel muestra esta URL de conector exacta, y la misma cadena es ahora el valor preferido para el indicador --remote de CLI/servidor — pégala en ambos lugares, sin traducción necesaria:
VIBE_REMOTE_URL="https://relay.api.vibebrowser.app/mcp/00000000-0000-0000-0000-000000000000"
npx -y @vibebrowser/mcp@latest start --remote "$VIBE_REMOTE_URL"
Un UUID de extensión simple o una URL de relay wss://relay.api.vibebrowser.app/<uuid> todavía se aceptan como formas avanzadas/de compatibilidad — consulta la tabla de valores --remote aceptados en "OpenClaw en la nube → Navegador local" a continuación.
Este es un endpoint MCP Streamable HTTP simple. No hay flujo de consentimiento OAuth, ni registro dinámico de clientes, ni configuración de ámbitos en esta ruta: el UUID en la URL (o encabezado, a continuación) es toda la credencial. Si un cliente insiste en un inicio de sesión OAuth antes de agregar el servidor, ese cliente no es compatible aquí; usa la ruta stdio local en su lugar.
Dónde pegarlo:
| Cliente | Dónde |
|---|---|
| Claude (web, Cowork, móvil) | Configuración → Conectores → Agregar conector personalizado |
| Claude Desktop — solo alternativa; prefiere la entrada stdio local anterior cuando Chrome se ejecuta en la misma máquina | Configuración → Conectores → Agregar conector personalizado |
| ChatGPT (web) | Configuración → Conectores → modo desarrollador |
| Codex Desktop / Codex CLI (forma remota) | codex mcp add vibe --url https://relay.api.vibebrowser.app/mcp/<your-extension-uuid> |
Los conectores personalizados son una función de plan de pago en los productos Claude y ChatGPT.
Codex Desktop, Codex CLI y la extensión IDE Codex pueden generar un proceso local, y todos comparten
~/.codex/config.toml. Prefiere la entrada stdio local anterior — mantiene el tráfico en127.0.0.1y mantiene el UUID fuera de una URL. Usacodex mcp add vibe --url …solo cuando el navegador que quieres controlar esté en una máquina diferente a Codex. La aplicación de escritorio de ChatGPT está respaldada por Codex y lee la misma configuración, por lo que también es una superficie stdio local; solo ChatGPT web necesita la URL alojada.
Migración desde la guía retirada de conector estilo OAuth
Borradores anteriores de estos documentos (y la investigación de envío de directorio de agosto de 2026 mantenida en worklog/) describían un flujo de consentimiento OAuth 2.1 + DCR retirado en un /mcp simple. Esa ruta está retirada y no es compatible para usuarios. Si previamente agregaste Vibe como conector y fuiste enviado a una pantalla de consentimiento retirada, elimina ese conector y vuelve a agregarlo con la URL https://relay.api.vibebrowser.app/mcp/<uuid> directa anterior. Nada que autorizar, nada que registrar, sin ámbitos que elegir.
El relay también acepta el UUID como encabezado X-Remote-Session o Authorization: Bearer en un POST /mcp simple. Usa la forma de encabezado desde cualquier cosa que pueda enviar uno (Codex CLI, scripts) — mantiene la credencial fuera de URLs, registros e historial del navegador. La forma de ruta existe específicamente para las interfaces que no pueden enviar un encabezado.
Dos cosas que esta ruta te cuesta, dichas claramente:
- La URL es una credencial. Cualquiera que tenga ese UUID puede controlar tu navegador con sesión iniciada — leer tu correo, actuar como tú en cualquier sitio donde estés registrado. Trátala exactamente como una contraseña: nunca la confirmes, nunca la pegues en un chat compartido, un issue, un README o una captura de pantalla. Si se filtra, revoca la sesión en la extensión y genera una nueva. (Esto no es hipotético: el UUID de una máquina de desarrollo se envió una vez en estos mismos documentos).
- El contenido de la página sale de tu máquina. En la ruta STDIO local, las llamadas de herramientas y el contenido de la página nunca salen de
127.0.0.1. En la ruta de conector remoto atraviesanrelay.api.vibebrowser.app, porque el asistente está en la nube del proveedor y no tiene otra ruta a tu navegador. Si necesitas solo en el dispositivo, usa un cliente de escritorio con el servidor local en su lugar.
3. Conecta la Extensión
- Abre Chrome con la extensión Vibe instalada
- Haz clic en el ícono de la extensión Vibe en la barra de herramientas
- Ve a Configuración y activa "Control Externo MCP"
- El estado debería mostrar "Conectado"
Si la extensión no está conectada, vibebrowser-mcp puede opcionalmente recurrir a
chrome-devtools-mcp (iniciado en modo --autoConnect) cuando ese paquete esté instalado.
Esta alternativa se ejecuta una vez en el daemon de relay local compartido (seguro para múltiples agentes), por lo que
tanto vibebrowser-mcp como vibebrowser-cli usan la misma instancia de backend.
Cuando la extensión está conectada, las herramientas de la extensión son las autoritativas.
Modo --devtools (controla tu Chrome real a través de CDP)
Pasa --devtools a cualquiera de los CLI para omitir por completo el enrutamiento de relay/extensión y
controlar tu Chrome real en ejecución directamente a través del Protocolo de DevTools de Chrome.
Este backend (portado de la habilidad chrome-use) lee el archivo
DevToolsActivePort de Chrome y se auto-conecta a tu perfil en vivo — sin extensión,
sin servidor MCP externo, cero dependencias adicionales. Requiere Chrome 144+; el
diálogo de permisos aparece una vez por perfil.
--devtools expone un conjunto de herramientas enfocado: navigate, snapshot (árbol de
accesibilidad con referencias @eN), click, fill, type, press_key, hover, scroll,
screenshot, eval, get_text, get_url, get_title, y gestión de pestañas
(list_tabs, new_tab, select_tab, close_tab). Usa snapshot para obtener
referencias de elementos @eN, y luego pásalas como selectores a click/fill/type.
Anula el perfil/canal de Chrome con VIBE_CHROME_USER_DATA_DIR y
VIBE_CHROME_CHANNEL (stable | canary | beta | dev).
Aún no cubierto por --devtools v1 (agregable más adelante a medida que se conecten más dominios CDP):
inspección de solicitudes de red, registros de consola, trazas de rendimiento, Lighthouse, instantáneas
de memoria, emulación de dispositivos, manejo de diálogos, carga de archivos y arrastrar.
Herramientas Disponibles
| Herramienta | Descripción |
|---|---|
navigate_to_url | Navegar a cualquier URL |
go_back / go_forward | Navegación en el historial del navegador |
click | Hacer clic en elementos de la página |
type / fill | Ingresar texto en campos de entrada |
scroll | Desplazarse por la página |
take_screenshot | Capturar capturas de pantalla |
get_page_content | Extraer texto/HTML de la página |
get_tabs / create_new_tab / switch_to_tab / close_tab | Gestión de pestañas |
keyboard_shortcut | Presionar combinaciones de teclado |
web_search | Buscar en la web |
Cómo Funciona
Modo local predeterminado (sin banderas):
Claude / Cursor / VS Code (stdio)
│
▼
[vibebrowser-mcp]
│ ws://127.0.0.1:19888
▼
Local Relay (auto-spawned)
│ ws://127.0.0.1:19889
▼
Vibe Extension (Chrome)
- Las aplicaciones de IA se conectan vía MCP a través de stdio
vibebrowser-mcpse conecta al relay local en el puerto19888- El relay reenvía comandos a la extensión en el puerto
19889 - Los resultados regresan al agente
Dos tramos, dos protocolos
No los confundas: el transporte hacia el servidor MCP es configurable, el transporte hacia la extensión no lo es.
| Tramo | Protocolo | ¿Configurable? |
|---|---|---|
Cliente MCP → vibebrowser-mcp | stdio o HTTP transmisible | Sí — --transport stdio|http |
vibebrowser-mcp ↔ relay ↔ extensión | Solo WebSocket | No |
MCP client ──stdio──┐
├──> [vibebrowser-mcp] ──ws──> [relay] ──ws──> [extension]
MCP client ──http───┘
HTTP transmisible permite que un agente remoto o alojado — uno que no puede generar un subproceso stdio — hable con el servidor a través de una URL:
npx -y @vibebrowser/mcp@latest start --transport http
# serves POST/GET http://127.0.0.1:8788/mcp
Valores predeterminados: --host 127.0.0.1, --http-port 8788, --http-path /mcp. Agrega
--allow-host <host> (repetible) si lo colocas detrás de un proxy o lo vinculas
más allá de localhost.
Modo Multi-Agente
Cuando varios agentes se conectan, Vibe MCP genera automáticamente un daemon de relay:
- El primer agente inicia el relay (escucha en los puertos 19888 y 19889)
- Los agentes adicionales se conectan al relay como clientes
- El relay multiplexa todas las solicitudes de los agentes hacia la única conexión de extensión
- Cada agente recibe solo sus propias respuestas
OpenClaw en la Nube -> Navegador Local
⚠️ Seguridad: El valor de
--remotea continuación es una credencial viva — una URL de relay/UUID/URL de conector otorga control total de la sesión del navegador objetivo. Es la única credencial portadora (no hay un factor de segundo token). Trátala como una contraseña: mantenla en secreto, nunca la confirmes ni la pegues en registros, y si se filtra, regenérala en la Configuración de la extensión Vibe.
Valores aceptados de --remote
--remote (y la herramienta MCP set_remote) aceptan tres formas, todas normalizadas a la misma conexión de relay:
| Forma | Ejemplo | Se asigna a | Estado |
|---|---|---|---|
| URL de conector | https://relay.api.vibebrowser.app/mcp/00000000-0000-0000-0000-000000000000 | relay wss://relay.api.vibebrowser.app + UUID | Recomendado — misma cadena mostrada en la Configuración de la extensión y pegada en conectores de Claude/ChatGPT |
| UUID de extensión simple | 00000000-0000-0000-0000-000000000000 | relay público predeterminado + UUID | Avanzado / compatibilidad |
| URL de relay ws(s) | wss://relay.api.vibebrowser.app/00000000-0000-0000-0000-000000000000 | endpoint de relay explícito | Avanzado / compatibilidad |
Los relays autoalojados o locales se derivan de la misma manera: https://your-host/vibe/mcp/<uuid> → relay wss://your-host/vibe; un conector de bucle local como http://127.0.0.1:19889/mcp/<uuid> → ws://127.0.0.1:19889 (solo relay autoalojado/local — los hosts que no son de bucle local deben usar https:///wss://).
Rechazado: un UUID inválido; una URL con credenciales incrustadas, una cadena de consulta o un fragmento; http:///ws:// en texto plano para un host que no es de bucle local; y cualquier URL HTTP(S) que no termine en el sufijo exacto /mcp/<uuid>.
Si tu agente se ejecuta en la nube pero quieres que controle el navegador local real del usuario, ejecuta vibebrowser-mcp en modo HTTP y conéctalo a la extensión Vibe en modo relay remoto. Pasa la URL del conector (preferida), el UUID de la extensión o la URL completa del relay WebSocket a --remote.
VIBE_REMOTE_URL="https://relay.api.vibebrowser.app/mcp/00000000-0000-0000-0000-000000000000"
npx -y @vibebrowser/mcp@latest start --transport http --remote "$VIBE_REMOTE_URL"
Esto expone un endpoint MCP local en http://127.0.0.1:8788/mcp de forma predeterminada.
Cuando OpenClaw se ejecuta en una máquina diferente (por ejemplo, alojada en la nube), proporciona una URL alcanzable:
VIBE_REMOTE_URL="https://relay.api.vibebrowser.app/mcp/00000000-0000-0000-0000-000000000000"
PUBLIC_MCP_URL="https://browser-bridge.example.com/mcp"
npx -y @vibebrowser/mcp@latest openclaw --remote "$VIBE_REMOTE_URL" --public-url "$PUBLIC_MCP_URL"
Puedes imprimir la configuración exacta compatible con OpenClaw con:
VIBE_REMOTE_URL="https://relay.api.vibebrowser.app/mcp/00000000-0000-0000-0000-000000000000"
npx -y @vibebrowser/mcp@latest openclaw --remote "$VIBE_REMOTE_URL"
Usa la URL del conector (preferida) con el relay público predeterminado, un UUID simple (relay público predeterminado) o una URL wss:// cuando necesites un endpoint de relay explícito. Cualquiera que sea la forma que uses es la única credencial — nunca la compartas, la registres o la pegues en un chat no confiable.
Para verificaciones directas del CLI del navegador, usa siempre npx -y @vibebrowser/cli@latest:
VIBE_REMOTE_URL="https://relay.api.vibebrowser.app/mcp/00000000-0000-0000-0000-000000000000"
npx -y @vibebrowser/cli@latest --remote "$VIBE_REMOTE_URL" --json status
La URL del conector usa el relay público predeterminado. --remote <uuid> también usa el relay público predeterminado. --remote <full-ws-url> apunta a un endpoint de relay explícito. No se necesita ni se acepta un secreto de segundo factor — cualquier forma que pases es la única credencial que autoriza la sesión.
Para el recorrido completo, consulta docs/openclaw-local-browser.md.
CLI de Navegador Compatible con OpenClaw
npx -y @vibebrowser/cli@latest refleja la forma del CLI de navegador de OpenClaw para la ruta real del navegador local:
npx -y @vibebrowser/cli@latest sessions
VIBE_REMOTE_URL="https://relay.api.vibebrowser.app/mcp/00000000-0000-0000-0000-000000000000"
npx -y @vibebrowser/cli@latest --remote "$VIBE_REMOTE_URL" status
npx -y @vibebrowser/cli@latest --remote "$VIBE_REMOTE_URL" tabs
npx -y @vibebrowser/cli@latest --remote "$VIBE_REMOTE_URL" open https://example.com
npx -y @vibebrowser/cli@latest --remote "$VIBE_REMOTE_URL" snapshot
npx -y @vibebrowser/cli@latest --remote "$VIBE_REMOTE_URL" click 12
npx -y @vibebrowser/cli@latest --remote "$VIBE_REMOTE_URL" type 23 "hello" --submit
npx -y @vibebrowser/cli@latest --devtools status
Usa el paquete MCP para flujos de trabajo de servidor MCP y el paquete CLI para control directo del navegador:
vibebrowser-mcppara servidor MCP, puente HTTP y comandos auxiliaresnpx -y @vibebrowser/cli@latestpara control de navegador inspirado en OpenClaw contra la sesión real conectada a Vibe
@vibebrowser/cli acepta la bandera --browser-profile estilo OpenClaw para compatibilidad y admite --json para salida legible por máquina. A diferencia del perfil de navegador administrado openclaw de OpenClaw, este CLI siempre apunta a la sesión real del navegador conectado a Vibe.
Selección de sesión local:
npx -y @vibebrowser/cli@latest sessionslista las sesiones de navegador local conectadas.npx -y @vibebrowser/cli@latest --session <id> ...apunta a una sesión local específica.- Si
--sessionse omite en modo local, el CLI usa la primera sesión conectada. - En modo remoto, pasa la URL del conector (preferida), un
--remote <uuid>simple para usar el relay público predeterminado, o--remote <full-ws-url>para usar un endpoint de relay explícito.
El comportamiento de instantánea es solo de herramienta (sin atajo RPC de instantánea heredado):
snapshot(predeterminado,--format ai) se resuelve a través de la herramientatake_md_snapshot— usa el extractor de markdown en la página del script de contenido. Rápido y legible, pero puede devolver vacío para pestañas en segundo plano o SPAs complejas (Notion, Gmail) donde el script de contenido es inalcanzable o el diseño no se calcula.snapshot --format ariase resuelve a través de la herramientatake_a11y_snapshot— usa el Protocolo de DevTools de ChromeAccessibility.getFullAXTreedirectamente. Confiable para todas las pestañas, incluidas las de segundo plano y SPAs. Úsalo como alternativa cuando el formato predeterminado devuelva vacío o solo un título de página.
Esto mantiene el comportamiento del CLI alineado con las herramientas compatibles con la extensión y garantiza que el direccionamiento de páginas funcione de manera consistente con --page-id/--pageId.
Para operaciones de tipo navegación, las respuestas ahora incluyen contenido de página cuando el estado de la página cambia:
- El CLI
open/navigateincluyepageContenten la salida JSON. - Las llamadas a herramientas MCP para herramientas de tipo navegación devuelven contenido de texto que incluye el estado actual de la página (con alternativa de instantánea cuando sea necesario).
Indicación de Instalación para Agentes de IA (OpenClaw / Hermes)
Usa la indicación canónica única de copiar y pegar al inicio de este README:
Indicación de instalación para agentes de IA (OpenClaw / Hermes).
Instala la habilidad vibebrowser, guarda tu remoto para que solo lo des una vez, y demuestra
el control de tu Chrome real.
Para una definición más profunda de la habilidad (cuándo preferirla sobre un navegador administrado/sin cabeza, las reglas de recuperación remota, guía de selectores/instantáneas), instala openclaw/vibebrowser/SKILL.md en el directorio de habilidades del agente.
Integración con OpenClaw
Hay dos formas de usar Vibe con OpenClaw:
Opción A: OpenClaw en la nube controlando el navegador local
Si OpenClaw se ejecuta en la nube pero quieres que controle tu navegador local:
- Instala la extensión Vibe y activa el modo Remoto (consulta docs/openclaw-local-browser.md)
- Inicia el puente HTTP local:
vibebrowser-mcp openclaw --remote "$VIBE_REMOTE_URL" [--public-url "$PUBLIC_MCP_URL"] - Registra la URL MCP en OpenClaw
Opción B: Habilidad de OpenClaw para agentes locales
Para agentes de OpenClaw que necesitan el contexto real de tu navegador (sesiones iniciadas, pestañas existentes):
- Copia la habilidad Vibe de este paquete a tu carpeta de habilidades de OpenClaw
- Usa la URL del conector (preferida), el UUID de la extensión o la URL completa del relay WebSocket con
--remote - Usa comandos
npx -y @vibebrowser/cli@latesten tus indicaciones de agente
La habilidad se encuentra en openclaw/vibebrowser/SKILL.md y proporciona:
- Comandos CLI completos compatibles con OpenClaw (
status,tabs,snapshot,click,type, etc.) - Comandos seguros con alternativa para flujos respaldados por DevTools (
resize,upload,dialog) - Salida
--jsonpara análisis por máquina - Configuración basada en entorno
Consulta docs/openclaw-local-browser.md para el recorrido completo.
LLM Local: Comando serve
Ejecuta un LLM local con un solo comando — sin necesidad de claves API en la nube. Instala automáticamente Ollama, descarga el modelo y comienza a servir una API compatible con OpenAI.
npx -y @vibebrowser/mcp@latest serve qwen3.5
Eso es todo. Funciona en macOS, Linux y Windows.
Qué hace
- Detecta Ollama → lo instala si falta (vía
brew,curlowinget) - Inicia el servidor → lanza
ollama serveen segundo plano - Descarga el modelo → transmite el progreso de la descarga a tu terminal
- Imprime la información de conexión → listo para usar con VibeBrowser o cualquier cliente compatible con OpenAI
Modelos recomendados
npx -y @vibebrowser/mcp@latest serve qwen3.5 # Best overall for agentic tasks
npx -y @vibebrowser/mcp@latest serve llama4 # Strong general reasoning
npx -y @vibebrowser/mcp@latest serve deepseek-r1 # Reasoning chains
npx -y @vibebrowser/mcp@latest serve mistral # Lightweight & fast (7B)
Opciones
npx -y @vibebrowser/mcp@latest serve <model> [options]
Options:
-p, --port <number> Ollama API port (default: 11434)
-y, --yes Skip install confirmation prompts
-d, --debug Enable debug logging
Uso con la extensión VibeBrowser
Después de que serve se complete, configura la extensión:
- Proveedor de modelo →
ollama - Nombre del modelo → el modelo que serviste (por ejemplo,
qwen3.5)
La extensión se conecta a http://localhost:11434/v1 automáticamente.
Opciones del CLI
npx -y @vibebrowser/mcp@latest --help
npx -y @vibebrowser/cli@latest --help
# MCP server (default)
npx -y @vibebrowser/mcp@latest [start] [options]
-p, --port <number> WebSocket port for local relay (agent) connection (default: 19888)
-d, --debug Enable debug logging
--transport <mode> MCP transport to expose: stdio or http (default: stdio)
--host <host> Host to bind the HTTP server to (default: 127.0.0.1)
--http-port <number> Port for streamable HTTP MCP transport (default: 8788)
--http-path <path> Path for streamable HTTP MCP transport (default: /mcp)
--allow-host <host> Allowed host header for HTTP transport (repeatable)
-r, --remote <uuid-or-url> Connect to a remote extension via relay. Accepts the connector URL from extension Settings (https://relay.api.vibebrowser.app/mcp/<uuid>), a bare extension UUID, or a ws(s) relay URL. This value is the sole bearer credential — treat it like a password; regenerate it in extension Settings if exposed.
--devtools Drive your real running Chrome directly over the DevTools Protocol (bypasses the extension relay)
# MCP server tool
set_remote { "url": "https://relay.api.vibebrowser.app/mcp/<extension-uuid>" }
La herramienta de servidor MCP set_remote reconecta en caliente el servidor MCP en ejecución a un relé remoto diferente. Es una herramienta MCP, no un subcomando CLI del navegador. Acepta las mismas tres formas que --remote (URL de conector preferida, UUID simple o URL de wss://). El valor es la única credencial — nunca lo coloques en registros compartidos con partes no confiables; regenéralo en la Configuración de la extensión si se expone.
# OpenClaw helper
VIBE_REMOTE_URL="https://relay.api.vibebrowser.app/mcp/00000000-0000-0000-0000-000000000000"
PUBLIC_MCP_URL="https://browser-bridge.example.com/mcp"
npx -y @vibebrowser/mcp@latest openclaw --remote "$VIBE_REMOTE_URL" --public-url "$PUBLIC_MCP_URL"
# OpenClaw-compatible browser CLI
npx -y @vibebrowser/cli@latest --remote "$VIBE_REMOTE_URL" status
npx -y @vibebrowser/cli@latest --remote "$VIBE_REMOTE_URL" status --wait-for-extension --wait-timeout 10000
npx -y @vibebrowser/cli@latest --remote "$VIBE_REMOTE_URL" tabs
npx -y @vibebrowser/cli@latest --remote "$VIBE_REMOTE_URL" snapshot --json
npx -y @vibebrowser/cli@latest --remote "$VIBE_REMOTE_URL" click 12
npx -y @vibebrowser/cli@latest --remote "$VIBE_REMOTE_URL" type 23 "hello" --submit
npx -y @vibebrowser/cli@latest --devtools tabs
# Local LLM server
MODEL="qwen3.5"
npx -y @vibebrowser/mcp@latest serve "$MODEL"
-p, --port <number> Ollama API port (default: 11434)
-y, --yes Skip confirmation prompts
-d, --debug Enable debug logging
Solución de problemas
"Sin conexión con la extensión Vibe"
- Asegúrate de que la extensión Vibe esté instalada en Chrome
- Haz clic en el ícono de la extensión y habilita "MCP External Control" en Configuración
- Verifica que ningún firewall esté bloqueando las conexiones a localhost
"OpenClaw no puede alcanzar mi puente de navegador local"
- Inicia
vibebrowser-mcpen modo HTTP en lugar de stdio - Asegúrate de que el proceso del puente siga ejecutándose en la máquina del usuario
- Confirma que la extensión esté en modo
Remotey conectada - Verifica que la URL de MCP en OpenClaw coincida con la URL del puente. Si OpenClaw está alojado en la nube, no uses
127.0.0.1; usaopenclaw --public-urlcon un host accesible.
Modo de depuración
Habilita el registro de depuración para diagnosticar problemas:
{
"mcpServers": {
"vibe": {
"command": "npx",
"args": ["-y", "@vibebrowser/mcp", "--debug"]
}
}
}
Desarrollo
git clone https://github.com/VibeTechnologies/vibe-mcp.git
cd vibe-mcp
npm install
npm run build
node dist/cli.js --debug
Palabras clave
browser automation, mcp server, model context protocol, ai browser control, claude desktop browser, cursor browser automation, web automation, chrome automation, ai agent browser, multi-agent browser control, playwright alternative, puppeteer alternative, browser mcp, web scraping ai, ai web agent
Licencia
Apache-2.0
Enlaces
- Vibe AI Browser - Producto principal
- Documentación - Documentación completa
- Extensión de Chrome - Instalar extensión
- GitHub Issues - Reportar errores
- Paquete npm - Registro npm