Skip to main content
Glama

Chrome MCP Stealth

Servidor MCP para la automatización sigilosa de navegadores mediante el protocolo Chrome DevTools. Se conecta a una instancia real de Chrome con patrones de interacción similares a los humanos (curvas de ratón de Bézier, retrasos de escritura gaussianos, fluctuación de desplazamiento) para evitar la detección de bots.

Por qué

Las herramientas estándar de automatización de navegadores (Playwright, Puppeteer, Selenium) son detectadas fácilmente por los sistemas anti-bot modernos. Los sitios web utilizan huellas digitales de los movimientos del ratón (líneas rectas, teletransporte instantáneo), patrones de escritura (retrasos uniformes) y propiedades de JavaScript (navigator.webdriver, complementos faltantes) para bloquear el acceso automatizado.

Chrome MCP Stealth resuelve esto superponiendo un comportamiento similar al humano sobre la conexión CDP de Playwright a una instancia real de Chrome: no un navegador sin interfaz gráfica, no un perfil nuevo, sino tu navegador real con cookies, extensiones e historial intactos.

Características

  • Modo sigiloso: Movimiento de ratón de Bézier, retrasos de pulsación de teclas gaussianos, fluctuación de desplazamiento, parches JS anti-detección

  • Modo rápido: Acciones instantáneas sin retrasos, disponible en dominios no protegidos

  • Seguridad: Defensa de 4 capas contra inyección de prompts, exfiltración de datos y filtraciones de credenciales

  • Archivo único: Todo el servidor es un archivo index.js (~630 líneas)

Cómo funciona el sigilo

El movimiento del ratón sigue curvas de Bézier cúbicas con puntos de control aleatorios, produciendo arcos naturales en lugar de líneas rectas. Cada movimiento utiliza entre 12 y 50 pasos de interpolación con temporización de aceleración y desaceleración y correcciones ocasionales de sobrepaso.

La escritura utiliza retrasos entre teclas con distribución gaussiana (media de ~75 ms), con pausas adicionales después de la puntuación y "pausas de pensamiento" periódicas cada ~10 caracteres, imitando el ritmo de escritura humano.

El desplazamiento se divide en incrementos de varios pasos con fluctuaciones y retrasos de estabilización, evitando los saltos instantáneos que marcan la automatización.

Los parches anti-detección eliminan navigator.webdriver, limpian los artefactos de Playwright/Selenium de window, e inyectan stubs realistas de chrome.runtime y complementos.

Consulta ARCHITECTURE.md para obtener detalles completos de la implementación.

Modelo de seguridad

  1. Escáner de inyección de prompts: más de 20 patrones de expresiones regulares detectan intentos de anulación de instrucciones, ingeniería social y comandos de exfiltración de datos en el contenido de la página

  2. Sanitización de contenido: los elementos ocultos/invisibles se eliminan antes de devolver el texto de la página, evitando la inyección a través de elementos de tamaño cero o fuera de pantalla

  3. Destacado de contenido: todo el contenido de la página se envuelve en etiquetas <EXTERNAL_CONTENT trust="untrusted"> con pies de página de seguridad

  4. Controles de dominio: los puntos finales de metadatos en la nube se bloquean por completo; los dominios bancarios/de correo electrónico activan advertencias; los dominios de solo sigilo fuerzan el modo sigiloso

Además, toda la salida se escanea en busca de patrones de credenciales (claves API, tokens, JWT) y se redacta antes de ser devuelta.

Herramientas (11)

Herramienta

Propósito

chrome_set_mode

Cambiar entre modo sigiloso/rápido

chrome_navigate

Navegar a una URL

chrome_snapshot

Obtener árbol de accesibilidad saneado

chrome_screenshot

Tomar captura de pantalla PNG

chrome_click

Hacer clic en un elemento (ratón de Bézier en sigilo)

chrome_type

Escribir texto (retrasos gaussianos en sigilo)

chrome_tabs

Listar/cambiar/crear/cerrar pestañas

chrome_evaluate

Ejecutar JS en el contexto de la página (salida redactada)

chrome_wait

Esperar por un selector o tiempo de espera

chrome_scroll

Desplazarse hacia arriba/abajo (con fluctuación en sigilo)

chrome_page_info

Obtener URL actual, título, riesgo del dominio

Configuración

  1. Inicia Chrome con CDP:

    /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \
      --remote-debugging-port=9222 \
      --user-data-dir=~/.chrome-debug-profile
  2. Instala y ejecuta:

    npm install
    npm start
  3. Regístrate en tu configuración de MCP:

    {
      "chrome-stealth": {
        "command": "node",
        "args": ["path/to/chrome-mcp/index.js"],
        "env": { "CDP_ENDPOINT": "http://127.0.0.1:9222" }
      }
    }

Dominios de solo sigilo

LinkedIn (linkedin.com, www.linkedin.com) aplica el modo sigiloso; el modo rápido está bloqueado. Esto se aplica en 5 capas: navegación, cambio de modo, cada interacción, post-redirección y cambio de pestaña.

Dependencias

  • @modelcontextprotocol/sdk — Implementación del protocolo MCP

  • playwright-core — Conexión al protocolo Chrome DevTools

Licencia

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Riaan-Fourie/chrome-mcp-stealth'

If you have feedback or need assistance with the MCP directory API, please join our Discord server