2 puntos por GN⁺ 2025-04-08 | 1 comentarios | Compartir por WhatsApp
  • Browser MCP conecta apps de IA y el navegador del usuario para automatizar el llenado de formularios, pruebas y tareas web repetitivas
  • La automatización se ejecuta en la máquina local, lo que reduce la latencia de red y evita que la actividad del navegador se envíe a servidores remotos
  • Usa el perfil existente del navegador para mantener la sesión iniciada y puede evitar la detección básica de bots y los CAPTCHA con una huella real del navegador
  • El proceso de inicio tiene 3 pasos: instalar la extensión del navegador, agregar el servidor MCP a la aplicación de IA y crear un flujo de trabajo de automatización
  • Proporciona herramientas necesarias para controlar el navegador, como navegación por URL, clic, arrastrar y soltar, snapshots, capturas de pantalla y consulta de logs de consola

Automatización de tareas del navegador que son difíciles solo con apps de IA

  • Las automatizaciones que requieren control del navegador, como llenar formularios repetidamente en un sitio web, son difíciles de resolver solo con apps de IA como Cursor o Claude
  • Browser MCP conecta la app de IA con el navegador del usuario para que pueda realizar tareas web en su lugar
  • Hay dos casos de uso principales
    • Pruebas automatizadas: el editor de IA prueba el código de extremo a extremo, valida flujos de usuario y elementos de UI, y verifica el comportamiento de la aplicación en distintos escenarios
    • Automatización de tareas: maneja trabajos web repetitivos como recopilación de datos, llenado de formularios y automatización de flujos de trabajo

Flujo de instalación y ejecución local

  • El inicio se compone de tres pasos
    • Instalar la extensión de Browser MCP en el navegador
    • Agregar el servidor MCP de Browser MCP a la aplicación de IA para conectarlo con la extensión del navegador
    • Empezar a crear flujos de automatización para que el asistente de IA se encargue de tareas repetitivas dentro del navegador
  • La automatización se ejecuta en la máquina local del usuario
    • Busca mejor rendimiento y menor latencia de red
    • La actividad del navegador no se envía a servidores remotos y permanece en el dispositivo
    • Usa el perfil existente del navegador para mantener iniciadas las sesiones en los servicios
    • Usa una huella real del navegador para evitar la detección básica de bots y los CAPTCHA

Herramientas disponibles y compatibilidad

  • Proporciona herramientas necesarias para el control del navegador
    • Navigate, Go Back, Go Forward, Wait
    • Press Key, Click, Drag & Drop, Hover, Type Text
    • Snapshot, Screenshot, Get Console Logs
  • Entre los entornos compatibles se incluyen Cursor, Claude, Windsurf y VSCode
  • La documentación está disponible en Documentation

1 comentarios

 
GN⁺ 2025-04-08
Opiniones de Hacker News
  • [!warning!] La extensión de Chrome de este proyecto envía datos detallados de telemetría remota a PostHog y Amplitude: https://storage.googleapis.com/cobrowser-images/telemetry.pn..., https://storage.googleapis.com/cobrowser-images/pings.png
    Además, aunque se incluye el código fuente del servidor MCP local, no está el código fuente de la extensión de Chrome, y parece que empaquetaron https://github.com/ruifigueira/playwright-crx sin atribución, lo cual resulta muy sospechoso

    • Soy el creador de Browser MCP. La extensión usa un ID de dispositivo anónimo y envía eventos de analítica cuando se usa una llamada a herramienta
      Si revisas el tráfico de red, puedes confirmar que no se envía absolutamente ninguna información personalizada ni identificable. El objetivo es recopilar datos de uso anonimizados para entender qué tanto se usa la extensión, igual que un sitio web cuenta a sus visitantes. Como divido mi tiempo entre varios proyectos, saber la cantidad de usuarios activos me ayuda a decidir dónde enfocarme
      Escribí toda la extensión yo mismo, y el motivo por el que el repositorio actual solo contiene el servidor MCP lo dejé explicado en este issue de GitHub: https://github.com/BrowserMCP/mcp/issues/1#issuecomment-2784...
      En resumen, uso un monorepo que contiene código compartido por todas las extensiones, así que separar solo esta extensión y mantener sincronizados varios monorepos requeriría bastante trabajo. Puede que no te guste la forma en que está estructurado el proyecto, pero no hay nada malicioso
    • Si con “detallado” aquí se refieren a un deviceId anónimo y a un contador de la cantidad de llamadas a herramientas, entonces también estarían cuestionando que una app intente obtener insights básicos de uso
    • Las únicas extensiones de Chrome que vale la pena instalar son las que puedes compilar tú mismo desde el código fuente
  • El sitio web afirma que “usa una huella real del navegador para evitar la detección de bots y CAPTCHA”, pero en la práctica no fue así
    Hace unas semanas, con un sistema similar que hice yo mismo para que una IA controlara el navegador en una sesión iniciada, empezaron a aparecer CAPTCHA incluso en una sesión que uso manualmente, y al final varios sitios web me bloquearon. Cuando dejé de usar la sesión del navegador de esa forma, los bloqueos fueron desapareciendo con el tiempo, pero este enfoque no es una solución mágica y también puedes perder tu propio acceso

    • La condición previa para este tipo de cosas suele ser “cuando usas proxies de alta calidad
      Además, esta extensión parece bastante evidente, así que no creo que la detección de bots de Cloudflare tarde mucho en detectarla, como pasa con Playwright
    • Esta extensión activa la depuración en el navegador y muestra un banner indicando que se está automatizando. JavaScript puede detectar eso
      Por eso existe este tipo de proyecto: https://github.com/Kaliiiiiiiiii-Vinyzu/patchright. Oculta la parte de depuración frente a JavaScript
    • También puede depender de la velocidad con la que se hacen clics en los elementos del sitio web
    • Me da curiosidad qué señales permitirían detectarlo rápido. Por ejemplo, se podría rastrear el movimiento del mouse y calcular si se mueve de forma demasiado limpia; si se añade ruido más humano al movimiento del mouse, quizá se pueda evadir mejor
      Hacer demasiadas acciones demasiado rápido también es un problema, pero el timing entre acciones también podría ser una señal. Aunque cada clic no sea rápido, si los retrasos son demasiado constantes, eso se vuelve otra señal no humana
    • Parte de la razón por la que existen los CAPTCHA es precisamente que no se puede confiar en que la gente use bien las herramientas de automatización
      “Evitar la detección de bots y CAPTCHA” significa, en última instancia, que esos mecanismos existen por gente como tú. Si de verdad necesitas acceso, deberías pedir una API; quizá tengas que pagar por ella o quizá no. Puede que te la den o que el dueño del sitio la rechace, y en ese caso deberías aceptar que tu conducta o tu caso de uso no son deseados
  • Siento que dormí un día y ahora veo MCP por todas partes. No sé qué es MCP y, a estas alturas, me da miedo preguntar

    • MCP es una forma de ofrecer una biblioteca de métodos/API que los modelos LLM pueden “llamar”
      Si le informas al modelo los nombres de los métodos, sus parámetros, tipos de salida y propósito, el LLM le pide al servidor MCP que llame una función, revisa el resultado y, si hace falta, llama la siguiente. Ahora mismo es difícil pedirle a ChatGPT “abre Google Maps con mi cuenta, busca tiendas de bicicletas cerca de Nueva York y tráeme sus números de teléfono”, pero con un Browser MCP, ChatGPT puede enviarle instrucciones al navegador como “abrir Google Maps”, “mostrar una captura de pantalla” o “hacer clic en esa ubicación”
    • Lo peor es que abre una caja de Pandora de posibles vulnerabilidades: https://elenacross7.medium.com/%EF%B8%8F-the-s-in-mcp-stands...
    • MCP es un estándar para conectar herramientas útiles a un modelo de IA y permitir que el modelo las use
      Para la gente común, el concepto está extrañamente invertido y no resulta intuitivo, pero para los desarrolladores se parece a las herramientas que ya usan, así que no perciben mucho la confusión
    • Aunque MCP se está adoptando ampliamente, no es un movimiento de base. Más bien parece que una empresa de IA ya establecida entró rápido para capturar el reconocimiento y la cuota de mercado entre desarrolladores antes de que se formara un consenso
    • Es una llamada a procedimiento remoto (RPC) para LLM. Y también es la nueva moda de hoy que está arrasando en todo el mundo
  • Sería genial poder decirle al navegador, en un sitio de compras: “revisa todos los aparadores de esta lista y filtra solo los que midan más de 155 cm y menos de 100 cm. Prioriza los de madera oscura y con espacio para guardar discos de vinilo de 31.43 cm de alto”.
    Si pudiera extraer los detalles de la página sería muy útil; me pregunto si ya existe algún navegador capaz de hacer algo así.

    • Estoy creando algo parecido llamado MatterRank, que por ahora funciona en búsquedas web.
      Por ejemplo, algo como: “prioriza resultados que traten sobre X y tengan una inclinación Y, y baja la prioridad de los resultados que intenten vender algo”. Se puede probar en https://matterrank.ai
      También me gustaría escuchar más casos de uso como el que imaginas. Me pregunto si sería una extensión de navegador que funcione sobre el sitio que ya estás viendo, un servicio agregador de compras que ofrezca esta función, o algo completamente distinto.
    • Se puede hacer con browser-use: https://browser-use.com/
    • Al decorar interiores, definitivamente me interesa encontrar objetos que encajen con prompts muy específicos.
  • Muy bien hecho. Lo probé en Claude Desktop y funcionó de forma fluida; fue mucho menos engorroso que Playwright. Va en la dirección correcta.
    No sé si ya lo implementaron, pero estaría bueno que, si detecta un CAPTCHA en la página, pause la automatización y le avise al usuario que debe intervenir. Playwright intenta seguir adelante incluso con los CAPTCHA.

  • Una tarea de buscar información en la web y poner los resultados en una hoja de cálculo de Google Sheets funcionó casi perfecto al principio, pero luego falló por completo en los siguientes 8 a 10 intentos.
    Me pregunto si hay algún problema de latencia entre lo que ocurre en el navegador y la app MCP, en este caso Claude Desktop. En el primer intento hice clic bastante rápido en el permiso “Allow for this chat”, y en los intentos posteriores tuve la sensación de que, para cuando hacía clic en el permiso, el LLM ya informaba: “parece que hubo un problema con el clic. Intentaré de nuevo con otra referencia”.
    Acciones como hacer clic en el título de una hoja de Google y escribir un nombre, que funcionaron perfectamente la primera vez, fallaron el 100% de las veces en intentos posteriores. Lo mismo ocurrió con identificar celdas como A1 o B1 e ingresar filas. La experiencia en sí es muy fluida y la configuración y ejecución están muy bien, pero por la latencia y la velocidad necesaria para pulsar el botón de permiso, en Claude Desktop parece prácticamente difícil de usar.

    • Una UI rica como Google Sheets parece un mal caso de uso para un servidor MCP de automatización de navegador de propósito general.
      Sería bueno tener un servidor MCP así, pero además darle al LLM una herramienta específica para leer y escribir celdas de Google Sheets. En vez de interactuar con una página web de forma genérica, una abstracción más específica manejaría mucho mejor este tipo de tareas.
    • Trabajé en un Google Sheets MCP y, usando la búsqueda integrada de Claude para el scraping de datos, funcionó bastante bien.
      Ejemplo: https://x.com/xing101/status/1903391600040083488
      Configuración: https://github.com/xing5/mcp-google-sheets
    • Lo que experimentaste es lo que comúnmente se llama suerte.
      Es la misma razón por la que la gente sigue pensando que una nueva versión de ChatGPT fue nerfeada. En realidad, al principio tuviste suerte y, a partir de ese primer resultado positivo, te formaste expectativas poco realistas. No es un bug ni una falla; es más bien que la probabilidad estadística de realizar la acción que querías era baja, pero en el primer turno salió una buena tirada de dados.
    • En mi caso, en Google Sheets no logra hacer clic en ningún lado. Aparece el siguiente error:
      --Error: Cannot access a chrome-extension:// URL of different extension
  • Tengo muchas expectativas para cosas como reportes de gastos, que son tareas muy manuales. Cada mes tengo que entrar al sitio de cada proveedor de servicios, iniciar sesión, encontrar y descargar el estado de cuenta, crear un documento de Google con los detalles, descargarlo, redactar un correo nuevo y subir todos los archivos.
    A veces, para volver a revisar que el adjunto sea el correcto, tengo que descargarlo de nuevo porque no puedo verlo directamente desde el correo. La automatización en sí ya es posible, y una buena app de seguimiento de gastos podría eliminar la mitad de este trabajo, pero las herramientas de IA tienen el potencial de reducir mucho la carga de redactar esos detalles menores. Este tipo de flujo de trabajo es especialmente importante porque suele tener pequeños cambios con frecuencia.

  • Para la mayoría de los que están aquí puede ser obvio, pero para ejecutar el servidor MCP hay que tener instalado Node.js. Ese detalle importante no aparece en la guía de configuración.

  • Hice algo parecido, pero para controlar sintetizadores de hardware y poder hacer diseño sonoro sin tocar perillas físicas: https://github.com/zerubeus/elektron-mcp

    • Buena idea.
      Puedo imaginar controlar plugins de forma remota y hacer que un LLM use herramientas existentes para masterización y ajuste de timbre. La UI compleja y excesivamente gráfica de los VST podría ser una barrera de rendimiento, pero se podría conectar a una interfaz de mapeo MIDI etiquetada para controlar perillas y niveles.
  • Sería bueno poder navegar la página con el árbol de accesibilidad de las herramientas para desarrolladores de Chrome, en vez de depender de capturas de pantalla: https://developer.chrome.com/blog/full-accessibility-tree

    • En realidad lo entendiste al revés. Ahora no hay capturas de pantalla; solo está el árbol de accesibilidad.