Agent Browser MCP
Servidor MCP para automatización del navegador a través de la CLI de Vercel agent-browser
Documentación
mcp-server-agent-browser
Estado: Beta — El envoltorio CLI está cubierto por pruebas unitarias y una prueba de humo stdio con navegador falso. La restauración de cookies en un reinicio real de Chromium sigue siendo una verificación manual.
Permite que los LLM controlen un navegador real. Este servidor MCP envuelve agent-browser (Vercel Labs) para que cualquier cliente MCP pueda navegar, completar formularios, hacer clic, capturar el árbol de accesibilidad y tomar capturas de pantalla.
No es el web_search / open_page de Grok. Esos obtienen documentos. Este ejecuta Chromium. Usa la búsqueda para encontrar una URL y luego browser_navigate.
Requisitos previos
cargo install agent-browser
agent-browser install
Llama a browser_doctor si falta algo.
Compilación
cargo build --release
Binario: target/release/mcp-server-agent-browser
cargo test
./tests/test-stdio.sh
La restauración de inicio de sesión en Chromium real no está en CI. Después de un inicio de sesión con ventana, reinicia el proceso MCP y confirma que el siguiente browser_navigate sigue con la sesión iniciada.
Configuración
Cliente MCP (stdio):
{
"mcpServers": {
"agent-browser": {
"command": "/path/to/mcp-server-agent-browser"
}
}
}
TOML opcional en ~/.config/mcp-server-agent-browser/config.toml (ver config.example.toml). Si falta el archivo, se usan los valores predeterminados. Sobrescribe la ruta con MCP_AGENT_BROWSER_CONFIG.
| Configuración | Predeterminado | Significado |
|---|---|---|
headed | false | Muestra una ventana. Solo al iniciar; browser_close primero si ya hay un daemon sin interfaz activo. También AGENT_BROWSER_HEADED=1. |
persist | true | --restore simple por session_id (clave de sesión predeterminada default) más --namespace mcp-server. |
keep_daemon | false | Si es falso, la salida de MCP ejecuta close para que el estado de restauración se guarde y Chrome no quede en segundo plano. |
namespace | mcp-server | Aísla los sockets del daemon y los archivos de restauración de este MCP de un humano que use la CLI. |
command_timeout_secs | 120 | Tiempo de espera del envoltorio. El tiempo de espera de acción de 25 s de Playwright se deja intacto (IPC de CLI es ~30 s). |
idle_timeout | 1h | Apagado por inactividad del daemon. Usa "0" con keep_daemon = true. |
download_dir | ~/Downloads | --download-path. ~ se expande. |
profile | sin definir | Directorio de datos de usuario de Chromium persistente opcional. No es tu perfil diario de Chrome. |
encryption_key_file | sin definir | Establece AGENT_BROWSER_ENCRYPTION_KEY. Los archivos de restauración son credenciales; en texto plano a menos que esto esté definido. |
AGENT_BROWSER_PATH | agent-browser | Binario CLI. |
allowed_domains es opcional. Localhost está permitido a menos que definas una lista que lo excluya.
Qué puede hacer
El mismo conjunto de interacciones que antes (navegar, hacer clic, escribir, capturar, captura de pantalla, cookies, eval, CDP, sesiones), más:
browser_doctor— CLI, configuración, persistencia, con ventana/DISPLAY, adivinación de daemon. No inicia Chrome.browser_get_textpattern— expresión regular sobre el texto de la página con dos líneas de contexto.browser_wait—load/url/textademás de un selector.
Bucle típico:
browser_navigatebrowser_snapshot(-ipara interactivo)browser_click/browser_fillcon@refsbrowser_screenshotsi necesitas píxeles
Persistencia
Con persist = true (predeterminado), cada sesión guarda cookies y localStorage al cerrar y en el intervalo de autoguardado de la CLI. El estado vive bajo ~/.agent-browser/, con espacio de nombres mcp-server. Los session_ids aislados no comparten una clave de restauración.
Inicia sesión con ventana una vez, browser_close o sal del MCP, y comienza de nuevo. La siguiente navegación debería restaurar esa sesión.
Un proceso MCP terminado puede dejar el daemon en ejecución. browser_doctor informa de eso. El apagado por inactividad aún guarda si la persistencia está activada.
Limitaciones
- Chromium vía
agent-browser(Playwright). Sin búsqueda. - La ventana se ignora hasta que se cierre el daemon existente.
- Snap Chromium en Ubuntu puede fallar al anunciar su puerto DevTools; prefiere el navegador de
agent-browser installoexecutable_path. - Las escrituras (captura de pantalla, pdf, descarga) deben ser relativas, bajo
/tmpo bajodownload_dir. - El tiempo de espera de acción de 25 s de Playwright es un límite de la CLI upstream, no de este envoltorio.
Licencia
MIT