browser-rs-mcp - controlador de navegador stealth ultraligero para múltiples agentes
(github.com/maestrojeong)1. ¿Motivación?
Un Chrome por cada agente. Si ese es el valor por defecto, cada agente consume entre 500 MB y 1 GB de RAM. Con solo 5 agentes en ejecución, el navegador por sí solo ya usa entre 2.5 y 5 GB de RAM.
Además, Playwright consume por defecto unos ~180 MB por sesión CDP. Aparte de la memoria del proceso del navegador, eso significa que la capa CDP en sí ya es pesada. A medida que aumentan los agentes, ese overhead se multiplica linealmente.
Para ejecutar múltiples agentes en producción, primero había que romper esta estructura.
2. ¿Cómo?
Se levanta un solo navegador. Sin importar cuántos agentes haya, todos se conectan encima usando raw CDP, y el servidor aísla forzosamente las pestañas por owner. El agente B no puede tocar las pestañas del agente A. Como una sola instancia soporta N agentes, la memoria del navegador no aumenta aunque crezca la cantidad de agentes.
También se cambió el lenguaje. Se reescribió en Rust y, con una estructura que no incrusta el navegador (se conecta al Chrome existente con --connect), el servidor en sí queda en un solo binario de 6 MB.
Evita la detección. Inspirado en Patchright, no activa en absoluto dominios CDP fáciles de detectar como Runtime.enable, y en lugar de un navegador falso parcheado, usa tal cual el Chrome real del usuario + un perfil persistente.
3. Resumen
En resumen: controlador de navegador stealth ultraligero para múltiples agentes
62 herramientas basadas en raw CDP — ref del árbol de accesibilidad, action settle-diff, network/cookies/storage/PDF/upload/iframe/WebAuthn, stdio + HTTP/SSE.
Instalación
curl -fsSL https://raw.githubusercontent.com/maestrojeong/browser-rs-mcp/… | sh
4. Trabajo futuro
La compilación para Windows y el registro en crates.io también quedan como siguientes tareas.
Aún no hay comentarios.