Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Las reseñas y las cuentas llegarán en una etapa posterior.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

nodriver — Chrome browser automation

de andresolbachversión 2.6.1i★ –iSe ejecuta en tu computadora
Nombre en el registroio.github.andresolbach/nodriver-mcp-server

Instalar

Resumen

Descripción del creador (original en inglés)

Chrome automation via nodriver: 70 tools, isolated browsers, profiles and configurable startup.

Los tres pilares de PopNx MCP

Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

  • Conexión: Se ejecuta en tu computadora
  • Transporte: stdio
  • Categoría: Web y navegadores

Instalación

Elige la app de IA que usas y copia la configuración.

Antes de instalar

  • Revisiones básicas: 1 de 1 superadas
  • Se ejecuta en tu computadora con los permisos de tu usuario (archivos, red, apps).
  • Debes completar tú: NODRIVER_HEADLESS, NODRIVER_USER_DATA_DIR, NODRIVER_BROWSER_PATH, NODRIVER_PROXY

Necesitas

  • PyPIuv de Python instalado (para el comando uvx)

¿Qué app usas?

Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.

Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json

{
  "mcpServers": {
    "nodriver": {
      "command": "uvx",
      "args": [
        "nodriver-mcp"
      ],
      "env": {
        "NODRIVER_HEADLESS": "your-value",
        "NODRIVER_USER_DATA_DIR": "your-value",
        "NODRIVER_BROWSER_PATH": "your-value",
        "NODRIVER_PROXY": "your-value"
      }
    }
  }
}

Ejecuta esto en tu terminal

claude mcp add nodriver --env NODRIVER_HEADLESS=your-value --env NODRIVER_USER_DATA_DIR=your-value --env NODRIVER_BROWSER_PATH=your-value --env NODRIVER_PROXY=your-value -- uvx nodriver-mcp

Completa los valores vacíos antes de ejecutarlo.

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "nodriver": {
      "command": "uvx",
      "args": [
        "nodriver-mcp"
      ],
      "env": {
        "NODRIVER_HEADLESS": "your-value",
        "NODRIVER_USER_DATA_DIR": "your-value",
        "NODRIVER_BROWSER_PATH": "your-value",
        "NODRIVER_PROXY": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "nodriver": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "nodriver-mcp"
      ],
      "env": {
        "NODRIVER_HEADLESS": "your-value",
        "NODRIVER_USER_DATA_DIR": "your-value",
        "NODRIVER_BROWSER_PATH": "your-value",
        "NODRIVER_PROXY": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.

Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.

Valores que debes completar

  • NODRIVER_HEADLESS env
    Run Chrome headless (true/false). Default false.
  • NODRIVER_USER_DATA_DIR env
    Explicit persistent Chrome profile directory. Default: an ephemeral temp profile, auto-deleted per session.
  • NODRIVER_BROWSER_PATH env
    Path to the Chrome/Chromium executable. Auto-detected when unset.
  • NODRIVER_PROXY env
    Proxy server address passed to Chrome as --proxy-server.

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

Qué puede hacer

Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con la cuenta de GitHub andresolbach, dueña del repo

  • … Aún sin revisar

    Sigue en mantenimiento

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    Tiene licencia

    Todavía no hemos leído este repo en GitHub

  • – No aplica

    El endpoint responde

    Este se ejecuta en tu computadora; no hay endpoint en internet

  • – No aplica

    Inicio de sesión con OAuth

    Se ejecuta en tu computadora y usa ajustes locales en su lugar

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet

Comparado con otros en Web y navegadoresi

  • Más estrellas que el 0% de los otros 1378 servidores de esta categoría
  • Publicado en el registro más recientemente que el 59% de los otros 1378 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 1378 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro nodriver — Chrome browser automation?

Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.

¿Se ejecuta en mi computadora o en la nube?

Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez –, y la última versión (2.6.1) llegó al registro hace 22 días.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Python (uv) en tu computadora.

¿Qué puedo usar en su lugar?

En la misma categoría: Browser Use, Chrome DevTools MCP, MCP Server Browser

Alternativas

Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.

Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

Browser Use

de browser-use

Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.

Computadora o nube★ 120.087MITActualizado hace 18 días
Instalar

Chrome DevTools MCP

de ChromeDevTools

MCP server for Chrome DevTools

Se ejecuta en tu computadora★ 54.821Apache-2.0Actualizado hace 16 días
Instalar

MCP Server Browser

de bytedance

MCP server for browser use access

Se ejecuta en tu computadora★ 39.550Apache-2.0Actualizado hace 14 meses
Instalar

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

nodriver-mcp-server

Give your AI agent a full Chrome workspace. Browse, fill forms, extract data and inspect the requests behind a page with 70 MCP tools, powered by nodriver. Keep your logins, run isolated browsers side by side, and pick up where you left off with automatic tab restoration. One-command setup for Claude, Claude Code, Cursor, Windsurf, Codex and other Model Context Protocol clients.

Keywords: MCP server · browser automation · undetected chromedriver · anti-bot · Cloudflare bypass · web scraping · Claude · Cursor · nodriver · chrome-devtools-mcp alternative · Playwright/Puppeteer alternative · AI agent tools.

More browsing, less setup

  • Log in once, come back ready. Persistent profiles keep cookies and logins between sessions.
  • Start your way. Open a fresh tab, a set of favorite URLs, or the tabs you left open — configurable through MCP, per profile.
  • Give each task its own browser. Run up to 12 isolated browser sessions without sharing tabs, cookies or the selected page.
  • Get the data behind the page. Read accessibility snapshots, inspect API traffic and save response bodies for later search.
  • Automate real Chrome directly. nodriver, the successor of undetected-chromedriver, uses CDP without Selenium or a ChromeDriver binary and is designed to reduce common automation signals.

Explore the 70-tool reference, or get started with uvx nodriver-mcp.

Does it actually pass? Here is the evidence

Claiming "undetected" is easy, so here is what the standard fingerprint suite reports when this server drives the page itself. Reproduce it in one line: point your agent at https://bot.sannysoft.com and take a snapshot.

CheckResult
bot.sannysoft.com — Intoli + fingerprint suite58 checks, 0 failed
navigator.webdriverfalse — a boolean on Navigator.prototype, not an own property, exactly as in a normal browser
window.chromepresent
navigator.plugins5
navigator.languages4 entries
User agentno Headless token

Measured on Chrome 151 / Windows 11, headful, with the default profile. The current functional test suite uses Chrome 155 and nodriver 0.50.6. See Scope and limitations for how to interpret the fingerprint result.

Features

  • 🕵️ Direct CDP automation — nodriver avoids Selenium and a ChromeDriver binary and is designed to reduce common automation signals.
  • ☁️ Cloudflare checkbox helper (cf_verify, needs the [cf] extra); success depends on the challenge and browser configuration.
  • 🖼️ Frames are not a blind spot — list_frames plus a frame argument on the readers, and take_snapshot splices each iframe's tree in under the element hosting it, so a payment field or consent wall inside one gets a uid and can be clicked and filled like anything else.
  • 🔍 A network log that says what happened — status, response headers, a DevTools-style timing breakdown (DNS, connect, TLS, time to first byte, download), the script and line that started each request, transfer size, redirect hops and failures, plus WebSocket frames and server-sent events. A 500, a 404, a redirect and a DNS failure are different lines, not the same one.
  • 💾 Response capture to disk — capture_bodies captures matching responses from tabs, workers and service workers before later navigation or buffer eviction can discard them. A JSON index records URL, POST data, status and headers; search_bodies searches saved traffic. Capture status reports saved bodies, skips and errors.
  • 🛡️ Passive security review built in — audit_security checks security headers (with a real CSP analysis: nonces, strict-dynamic, multiple policies), CORS, TLS and certificates of every origin, cookie flags, responses a CDN could serve to the wrong user, every first and third party the page talks to, and lists what Chrome's own Issues panel reports: CSP violations, mixed content, rejected cookies. inspect_storage inventories localStorage, sessionStorage, IndexedDB, Cache Storage and service workers, and decodes tokens it finds there. export_har writes everything to a HAR file for Burp, ZAP or DevTools — with the wire headers, Cookie and Set-Cookie included.
  • 👥 Several isolated browsers at once — pass browser: "agent-a" to any tool and that name gets its own Chrome, in its own process, with its own cookies, tabs and uids. Parallel agents stop stealing each other's selected tab. Omit it and nothing changes: the default browser runs in the server process, exactly as before. How it works
  • 🧩 70 tools covering navigation, input, snapshots, screenshots, content/PDF export, network + console inspection, device emulation, cookies/storage, sessions, profiles, and performance tracing.
  • 🧠 Schemas written for the agent, not just the compiler — every parameter carries a description, fixed-value options are real enums, and each tool declares read-only/destructive hints. See why this matters.
  • 📄 Compact accessibility-tree snapshots (take_snapshot) — searchable page text with a uid per element. Measured on the Hacker News front page: 27 KB against 97 KB unfiltered, 72% smaller, with every link, URL and text preserved. Same-origin URLs are printed relative to the page, which is lossless because the root node keeps the absolute one. That saving lands on every single agent step.
  • 🔗 Attach to a browser you are already signed into (use_running_browser) — drive your real Chrome profile over its debugging port instead of rebuilding logins in a fresh one.
  • 📱 Device emulation (Pixel 7, iPad) with correct UA / client hints.
  • ✅ Actions that verify themselves — fill reads the value back, set_checked reads the checked state back, and click, press_key and type_text report when no input event reached the page. A tool that cannot confirm what it did says so instead of reporting success.
  • 💾 Session save/restore — persist logins across runs.
  • 🧬 Ephemeral by default, persistent when needed — each session gets its own temporary Chrome profile. Named persistent profiles retain logins and offer configurable startup: a new tab (default), specified URLs, or the previous tabs without a restore-button click.
  • ⚡ One-command setup for 15+ MCP clients.

Installation

# Recommended: isolated install, won't touch your global Python environment

uv tool install nodriver-mcp

or with pip

pip install nodriver-mcp

or run it without installing anything

uvx nodriver-mcp

Requires uv for the first and third form. To track the development branch instead of a release:

uv tool install "nodriver-mcp @ git+https://github.com/andresolbach/nodriver-mcp-server.git@main"

Also listed in the official MCP Registry as io.github.andresolbach/nodriver-mcp-server, so clients and marketplaces that read the registry can find and install it directly.

Uses upstream nodriver >=0.50.6, tested against Chrome 155. uv tool install keeps dependencies isolated from your global Python environment.

You'll also need a local installation of Google Chrome (auto-detected).

Upgrade
uv tool upgrade nodriver-mcp

Requirements & tested versions

The automated suite runs schema, documentation and behavior checks plus real-browser integration tests. The current Windows browser test environment is Chrome 155 / nodriver 0.50.6 / Python 3.12.11. CI also runs the non-browser suite on macOS and Linux. Future Chrome or nodriver releases can require compatibility updates.

ComponentRequirementVerified version
Python3.12+3.12.11
Google Chromeany recent stable155.0.8059.79
Operating systemWindows / macOS / LinuxWindows 11
nodriver>= 0.50.60.50.6
mcp (MCP SDK)>= 1.26.0, < 21.26.0
pillow>= 12.1.112.1.1
tomli-w>= 1.0.01.2.0

Runtime dependency ranges and tested versions are listed in requirements.txt. uv tool install creates an isolated installation; contributors can use uv sync --locked --group dev in this repository to reproduce the committed dependency set.

One-command MCP client setup

# Interactive client selector (terminal TUI)

nodriver-mcp install

Install to specific clients

nodriver-mcp install claude,cursor,kiro

Uninstall

nodriver-mcp uninstall claude

List all supported clients

nodriver-mcp --list-clients

Print MCP config JSON (for manual setup)

nodriver-mcp --config

Project-level config (writes to .cursor/mcp.json, .mcp.json, etc.)

nodriver-mcp install --scope project

Supported clients: Claude Desktop, Claude Code, Cursor, Windsurf, Codex, Gemini CLI, Copilot CLI, Kiro, VS Code, Cline, Roo Code, Amazon Q, Warp, Opencode, Trae.

The Claude Code VS Code extension shares Claude Code's config (~/.claude.json), so installing to claude-code covers both the CLI and the extension.

Manual config

If you'd rather paste it yourself, this works in any MCP client (claude_desktop_config.json, ~/.claude.json, .cursor/mcp.json, .mcp.json, …):

{

"mcpServers": { "nodriver": { "command": "uvx", "args": ["nodriver-mcp"] } } }

Environment Variables

VariableDescriptionDefault
NODRIVER_HEADLESSHeadless mode (true/false)false
NODRIVER_USER_DATA_DIRExplicit persistent Chrome profile dir (overrides the default)Ephemeral temp profile, auto-deleted per session
NODRIVER_BROWSER_PATHChrome executable pathAuto-detected
NODRIVER_PROXYProxy server addressNone
NODRIVER_BROWSER_URLAttach to a Chrome already running at this address (e.g. http://127.0.0.1:9222) instead of launching oneLaunch our own
NODRIVER_ENABLE_TRANSLATESet true to re-enable Chrome's Google Translate popupDisabled
NODRIVER_ENABLE_EXTENSIONSSet true to allow externally-installed Chrome extensions (and their prompts)Disabled

By default the browser starts clean for automation: the Google Translate popup is suppressed and externally-installed Chrome extensions are blocked (so you don't get "an extension requires your attention" prompts). Re-enable either via the env vars above or at runtime with the `set_browser_flags` tool — whic

Solo se muestra el principio; lee el resto en el repo

Pregunta a PopNx