cdpilot
cdpilot
Automatización de navegador sin dependencias desde tu terminal. Un comando, control total.
Inicio rápido
npx cdpilot launch # Start browser with CDP
npx cdpilot go https://example.com
npx cdpilot shot # Take screenshotSin archivos de configuración. Sin código repetitivo. Solo npx y listo.
Related MCP server: Scout
¿Por qué cdpilot?
Los agentes de IA y los desarrolladores necesitan un control del navegador que simplemente funcione:
Configuración cero —
npx cdpilot launchinicia una sesión de navegador aisladaSin dependencias — Sin Puppeteer, sin Playwright, sin Selenium. CDP puro sobre HTTP
Más de 40 comandos — Navegar, hacer clic, escribir, capturas de pantalla, red, consola, accesibilidad y más
Amigable con agentes de IA — Diseñado para Claude, GPT, Gemini y cualquier flujo de trabajo de uso de herramientas LLM
Sesiones aisladas — Tu navegador personal permanece intacto. cdpilot se ejecuta en su propio perfil
Retroalimentación visual — Superposición de brillo verde, visualización del cursor, ondas de clic y visualización de pulsaciones de teclas te mantienen informado durante la automatización
Aislamiento entre proyectos — Cada proyecto obtiene su propia instancia de navegador y puerto automáticamente, sin conflictos
Advertencia de control de IA — Aparece una notificación emergente roja cuando pasas el ratón durante la automatización activa
Privacidad primero — Todo se ejecuta localmente. Ningún dato sale de tu máquina
Selección de navegador (Selección automática consciente de la carga de trabajo)
cdpilot elige el navegador adecuado para lo que estás haciendo. auto (predeterminado) es una política de dos ejes: carga de trabajo de extensiones × estabilidad de la plataforma:
Tu carga de trabajo | Orden de selección automática |
Tiene extensiones registradas ( | vivaldi → brave → edge → chromium → chrome |
Sin extensiones (automatización pura) | chrome → vivaldi → edge → chromium → brave |
Anula en cualquier momento:
cdpilot browser # show current pick + reason
cdpilot browser vivaldi # pin to Vivaldi
cdpilot browser auto # restore smart default¿Por qué la división?
Chrome 147+ descarta silenciosamente
--load-extensionpara extensiones desempaquetadas (sin error, sin advertencia). Verificado:chrome://extensionsmuestra 0 elementos.Vivaldi, Brave, Edge, Chromium respetan
--load-extension(probado).En macOS 26 (Tahoe), Brave 1.89 se bloquea determinísticamente a los ~7 min de tiempo de actividad (SIGTRAP en ThreadPoolForegroundWorker). cdpilot detecta el SO y degrada Brave automáticamente hasta que se publique una versión corregida de Brave.
Cada navegador obtiene su propio perfil aislado (~/.cdpilot/.../profile-vivaldi
etc.) para que el cambio nunca cause corrupción de preferencias.
Instalación
# Use directly (no install needed)
npx cdpilot <command>
# Or install globally
npm i -g cdpilotRequisitos: Node.js 18+ y uno de los siguientes: Brave Browser, Google Chrome o Chromium.
Configuración inicial
npx cdpilot setup # Auto-detect browser, create isolated profile
npx cdpilot launch # Start browser with CDP enabled
npx cdpilot status # Check connectionComandos
Navegación y contenido
cdpilot go <url> # Navigate to URL
cdpilot content # Get page text content
cdpilot html # Get page HTML
cdpilot shot [file] # Take screenshot (PNG)
cdpilot pdf [file] # Save page as PDFInteracción
cdpilot click <selector> # Click element
cdpilot type <selector> <text># Type into input
cdpilot fill <selector> <val> # Set input value (React-compatible)
cdpilot submit <form> # Submit form
cdpilot hover <selector> # Hover element
cdpilot keys <combo> # Keyboard shortcut (ctrl+a, enter, etc.)
cdpilot scroll-to <selector> # Scroll element into view
cdpilot drag <from> <to> # Drag and dropDepuración
cdpilot console [url] # Capture console logs
cdpilot network [url] # Monitor network requests
cdpilot debug [url] # Full diagnostic (console+network+perf+shot)
cdpilot perf # Performance metrics
cdpilot eval <js> # Execute JavaScriptGestión de pestañas
cdpilot tabs # List open tabs
cdpilot new-tab [url] # Open new tab
cdpilot switch-tab <id> # Switch to tab
cdpilot close-tab [id] # Close tab
cdpilot close # Close active tabControl de red
cdpilot throttle slow3g # Simulate slow 3G
cdpilot throttle fast3g # Simulate fast 3G
cdpilot throttle offline # Go offline
cdpilot throttle off # Back to normal
cdpilot proxy <url> # Set proxy
cdpilot proxy off # Remove proxyIntercepción de solicitudes
cdpilot intercept block <pattern> # Block requests
cdpilot intercept mock <pattern> <json-file> # Mock responses
cdpilot intercept headers <pattern> <header:value> # Add headers
cdpilot intercept list # List active rules
cdpilot intercept clear # Clear all rulesEmulación de dispositivos
cdpilot emulate iphone # iPhone emulation
cdpilot emulate ipad # iPad emulation
cdpilot emulate android # Android emulation
cdpilot emulate reset # Back to desktopGeolocalización
cdpilot geo istanbul # Set location to Istanbul
cdpilot geo london # Set location to London
cdpilot geo 41.01 28.97 # Custom coordinates
cdpilot geo off # Remove overrideAccesibilidad
cdpilot a11y # Full accessibility tree
cdpilot a11y summary # Quick summary
cdpilot a11y find <role> # Find elements by ARIA roleGestión de sesiones
cdpilot session # Current session info
cdpilot sessions # List all sessions
cdpilot session-close [id] # Close sessionAvanzado
cdpilot cookies [domain] # List cookies
cdpilot storage # localStorage contents
cdpilot upload <sel> <file> # Upload file to input
cdpilot multi-eval <js> # Execute JS in all tabs
cdpilot headless [on|off] # Toggle headless mode
cdpilot frame list # List iframes
cdpilot dialog auto-accept # Auto-accept dialogs
cdpilot permission grant geo # Grant geolocationSigilo y CAPTCHA
Capa anti-huella digital sin dependencias: parchea navigator.webdriver,
chrome.runtime, plugins (herencia adecuada de PluginArray), WebGL
vendor/renderer, permisos, concurrencia de hardware y el constructor Worker.
Inyectado a través de Page.addScriptToEvaluateOnNewDocument antes
de que se ejecute cualquier script de página. Deshabilitado por defecto; opcional.
cdpilot stealth on # enable fingerprint patches (opt-in)
cdpilot stealth off # disable (default)
cdpilot stealth status # show which patches are applied
cdpilot captcha-check # JSON detection of Turnstile/hCaptcha/reCAPTCHA/
# DataDome/PerimeterX/Arkose/GeeTest. Exit 0/3
cdpilot captcha-wait [sec] # block until user solves (interactive)
# or poll with JSON stream (non-interactive)Verificado contra paneles públicos de detección de bots:
bot.sannysoft.com: 24/24 PASA (WebDriver, objeto Chrome, Plugins como PluginArray, WebGL, PHANTOM_, HEADCHR_, SELENIUM_DRIVER)
bot.incolumitas.com intoli: 6/6 OK — nuevas pruebas: 6/7 OK (un FALLO = presencia de CDP puro, no se puede parchear con JS)
nowsecure.nl (desafío completo de Cloudflare): superado
arh.antoinevastel.com/areyouheadless: "No eres Chrome headless"
Fiabilidad
cdpilot browser [name|auto] # workload-aware browser selection
cdpilot health # JSON: alive, port, tabs, browser, today's crashescdpilot health está diseñado para vigilantes de shell:
until cdpilot health >/dev/null; do cdpilot launch; sleep 2; doneMuestra el recuento de bloqueos de Brave de hoy desde ~/Library/Logs/DiagnosticReports/
en macOS: detecta la degradación antes de que tu automatización se detenga silenciosamente.
Uso con agentes de IA
cdpilot está diseñado para ser llamado por agentes de IA como una herramienta:
Claude Code (MCP)
{
"mcpServers": {
"cdpilot": {
"command": "npx",
"args": ["cdpilot", "mcp"]
}
}
}Cualquier LLM (uso de herramientas)
{
"name": "browser",
"description": "Control a browser via CDP",
"parameters": {
"command": "go https://example.com"
}
}Python (subproceso)
import subprocess
result = subprocess.run(["npx", "cdpilot", "go", url], capture_output=True, text=True)
print(result.stdout)Variables de entorno
Variable | Predeterminado | Descripción |
|
| Puerto de depuración CDP |
| Detección automática | Ruta del binario del navegador |
|
| Perfil de navegador aislado |
| Auto | Identificador de sesión |
Cómo funciona
┌─────────────┐ HTTP/WebSocket ┌──────────────┐
│ cdpilot │ ◄──────────────────────► │ Brave/Chrome │
│ (CLI) │ Chrome DevTools │ (CDP mode) │
└─────────────┘ Protocol └──────────────┘
│ │
│ Zero dependencies │ Isolated profile
│ Pure HTTP + WebSocket │ Separate from your
│ ~2500 lines, single file │ personal browser
└────────────────────────────────────────┘Sin Puppeteer. Sin Playwright. Sin Selenium. Solo comunicación directa por CDP.
Comparación
Característica | cdpilot | Puppeteer | Playwright | Selenium |
Tamaño de instalación | ~50 KB | 400 MB+ | 200 MB+ | 100 MB+ |
Dependencias | 0 | 50+ | 30+ | Java + drivers |
Tiempo de configuración | instantáneo | minutos | minutos | doloroso |
Listo para agentes de IA | sí | manual | manual | manual |
Descarga de navegador | no | sí (Chromium) | sí (3 navegadores) | no |
CLI primero | sí | no (biblioteca) | no (biblioteca) | no |
Soporte MCP | sí | no | no | no |
Monetización / Pro (Próximamente)
La CLI de cdpilot es y siempre será gratuita y de código abierto (MIT).
Futuras ofertas de pago:
cdpilot cloud — Instancias de navegador remotas, no se necesita navegador local
Panel de equipo — Sesiones compartidas, registros de auditoría, análisis de uso
Soporte prioritario — Ayuda directa para integraciones empresariales
Seguridad
Perfil de navegador aislado — cdpilot se ejecuta en
~/.cdpilot/profile, separado de tu navegador diario. Tus cookies, contraseñas e historial nunca quedan expuestos.Sin acceso arbitrario a archivos — Los nombres de archivo de las capturas de pantalla de MCP se desinfectan y se limitan al directorio de capturas de pantalla. El recorrido de rutas está bloqueado.
Selectores CSS seguros — Todos los selectores pasados a
querySelectorestán escapados en JSON para evitar inyecciones.Sin exposición a la red — CDP escucha solo en
127.0.0.1. Las conexiones remotas no son posibles por defecto.Sin dependencias — Cero dependencias de tiempo de ejecución de npm/Python significa cero superficie de ataque en la cadena de suministro.
¿Encontraste una vulnerabilidad? Por favor, envía un correo electrónico directamente al mantenedor en lugar de abrir un problema público.
Hoja de ruta
El único MCP de navegador con aserciones de prueba integradas. Aquí está lo que hemos enviado y lo que sigue:
Enviado
[x] Más de 60 comandos CLI (navegar, hacer clic, rellenar, captura de pantalla, PDF, consola, red...)
[x] Servidor MCP para integración de agentes de IA (Claude Code, Cursor, etc.)
[x] 10 aserciones de prueba integradas — assert, assert-url, assert-title, assert-count, assert-value, assert-attr, assert-visible/hidden, wait-for, check (lote), screenshot-diff
[x] Instantánea del árbol de accesibilidad (
a11y-snapshot) — datos estructurados con referencias @ref, 500 veces menos tokens que las capturas de pantalla[x] Capturas de pantalla eficientes en tokens — recorte a nivel de elemento (13 veces más pequeño), control de calidad JPEG, selección de formato
[x] Respaldo de visión (
describe) — a11y + captura de pantalla + texto en una sola llamada[x] Capturas de pantalla anotadas — superposiciones de insignia @N en elementos interactivos
[x] Auto-espera — basada en MutationObserver, espera automática de elementos de 5 s
[x] Comandos por lotes — canaliza matrices JSON a través de stdin para automatización de varios pasos
[x] Sistema de retroalimentación visual (brillo verde persistente, cursor, ondas, visualización de pulsaciones de teclas)
[x] Notificación de advertencia de control de IA (advertencia roja cuando el usuario interactúa durante la automatización)
[x] Aislamiento de navegador entre proyectos (cada proyecto obtiene su propio puerto + perfil)
[x] Asistente de pre-vuelo (instala automáticamente las dependencias en la primera ejecución)
[x] Brillo MCP persistente (permanece encendido durante toda la sesión de IA, como el brillo naranja de Claude)
[x] Sistema DevExtension (inyección JS nativa sin tienda de navegador)
[x] Comandos inteligentes —
smart-click,smart-fill,smart-select— interactúa por texto visible, no se necesitan selectores CSS, no se requiere LLM[x] Extracción de datos (
extract) — datos DOM estructurados en formato de texto, JSON o lista[x] Observación de página (
observe) — enumera todos los elementos interactivos con acciones disponibles[x] Ejecutor de scripts (
run) — ejecuta archivos de script.cdpcon informes de éxito/fallo
Próximamente
[ ] Soporte para iframe y Shadow DOM — interactúa con elementos dentro de iframes y shadow roots
[ ] Grabación y reproducción de sesiones — graba sesiones de navegador y reprodúcelas de forma determinista
[ ] Modo sigilo (Pro) — ratón/escritura similar al humano, anti-huella digital, resolución de CAPTCHA
[ ] cdpilot Cloud — API de sesiones de navegador alojadas, punto final MCP REST + WebSocket
[ ] Extensión de Chrome — usa cdpilot desde cualquier navegador sin CLI
[ ] Auditoría de rendimiento — Core Web Vitals (LCP, CLS, INP) a través del dominio de rendimiento de CDP
[ ] Auditoría de accesibilidad WCAG — informes automatizados de cumplimiento de a11y
[ ] Modo de habilidad de Claude Code — ejecútalo como una habilidad de
.claude/skills/además de MCP
¿Tienes una idea? Abre un problema o envía un PR!
Contribución
git clone https://github.com/mehmetnadir/cdpilot.git
cd cdpilot
npm install
npm test¡Los PR son bienvenidos! Por favor, lee CONTRIBUTING.md primero.
Licencia
MIT — haz lo que quieras.
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted browser for AI agents: screenshots, post-JS DOM, console, WCAG. No install, no API key.
AI-powered browser automation — navigate, click, fill forms, and extract data from any website.
Headless browser primitives for AI agents when sites need real JS rendering.
AI-powered web automation. Navigate websites using AI agents for one page or a thousand
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceReliable, scalable browser infrastructure for AI agents. Route, pool, and failover across any browser provider. 8 built-in browser tools using raw Chrome CDP - navigate, screenshot, snapshot, interact, evaluate. Zero-config with auto Chrome detection & concurrent sessions support518 npm10MIT
- AlicenseNot gradedqualityAmaintenancesingle-binary MCP server that gives AI agents a browser. 66 tools for navigation, form filling, data extraction, screenshots, and DOM diffing — built on pure Chrome DevTools Protocol.13MIT

BAP MCPofficial
AlicenseNot gradedqualityCmaintenanceLightweight browser automation server for AI agents, enabling fast (10-25ms per action), structured observations and semantic selectors with zero token overhead.6Apache 2.0- AlicenseNot gradedqualityCmaintenanceEnables AI agents to scrape web pages, fill forms, take screenshots, and extract structured data via Chrome DevTools Protocol with zero external dependencies.MIT