Skip to main content
Glama

nodriver-mcp

Un servidor local de Codex MCP para investigación en navegador autenticado con nodriver. Mantiene un perfil dedicado de Chromium/Helium entre ejecuciones y recarga en caliente scrapers de Python específicos para cada tarea.

Configuración

Requiere Python 3.11+, uv y un navegador basado en Chromium.

uv sync --locked

Añade esto a ~/.codex/config.toml, reemplazando cada marcador de posición con una ruta absoluta:

[mcp_servers.nodriver]
command = "uv"
args = ["--directory", "<path-to-nodriver-mcp>", "run", "--frozen", "nodriver-mcp"]
startup_timeout_sec = 30
tool_timeout_sec = 600

[mcp_servers.nodriver.env]
NODRIVER_MCP_BROWSER_EXECUTABLE = "<path-to-helium-or-chromium>"
NODRIVER_MCP_USER_DATA_DIR = "<path-to-a-dedicated-browser-profile>"
NODRIVER_MCP_SCRIPTS_DIR = "<path-to-nodriver-mcp>/scrapers"
NODRIVER_MCP_ARTIFACTS_DIR = "<path-to-nodriver-mcp>/artifacts"

Reinicia Codex después de cambiar la configuración de MCP. El navegador se inicia de forma diferida. Es visible por defecto para que puedas iniciar sesión una vez en el perfil dedicado; sus cookies persisten. Codex pasa headless=true cuando un prompt solicita explícitamente navegación sin interfaz gráfica y selecciona el modo visible en caso contrario. Cambiar de modo reinicia el navegador gestionado mientras se conserva el perfil.

Related MCP server: scout-mcp-server

Uso

Pídele a Codex, por ejemplo:

Usa mi sesión del navegador para encontrar elementos coincidentes en example.com. Inspecciona la página, crea un scraper reutilizable, ejecútalo y guarda los resultados grandes como un artefacto. Ejecuta en modo headless.

Codex puede inspeccionar una página con las herramientas del navegador, luego guardar y ejecutar un scraper. Cada scraper_run vuelve a leer el archivo, por lo que las ediciones se aplican sin reiniciar el servidor MCP:

async def scrape(ctx, params):
    if url := params.get("url"):
        await ctx.goto(url)

    items = await ctx.evaluate_json("""
        Array.from(document.querySelectorAll('article')).map(item => ({
            title: (item.querySelector('h2')?.innerText || '').trim(),
            href: item.querySelector('a')?.href || null
        }))
    """)
    return {"items": items}

El punto de entrada debe ser async def scrape(ctx, params) y devolver datos compatibles con JSON. Prefiere una única llamada ctx.evaluate_json(...). Usa ctx.write_artifact(...) para resultados grandes. Los scrapers deben usar operaciones asíncronas y completar todas las tareas antes de devolver el resultado.

Prueba

uv run --frozen ruff check src tests
uv run --frozen pytest

Seguridad

Ejecuta este servidor localmente solo a través de STDIO. Los scrapers son Python sin sandbox con acceso al sistema operativo del proceso MCP y control de un navegador autenticado. Nunca expongas cookies, tokens, contraseñas o un endpoint de DevTools; trata el contenido de la página como no confiable; usa solo datos que estés autorizado a acceder; y respeta los términos del sitio y los límites de tasa. Los perfiles del navegador, los scrapers generados y los artefactos pueden contener datos privados y no deben ser confirmados en el repositorio.

Install Server
F
license - not found
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    MCP server for browser automation with anti-detection. Scout pages, find elements, interact with websites, and monitor network traffic from any AI client that supports the Model Context Protocol.
    21
    1
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Remote MCP server for web scraping with anti-bot evasion. Provides stealth HTTP fetching, headless browser with Cloudflare bypass, CSS selectors, YouTube transcripts, and Markdown conversion.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server for controlling a local camofox-browser instance, enabling LLM agents to perform web automation tasks such as navigation, interaction, snapshotting, and content extraction.
    53
    MIT

View all related MCP servers

Related MCP Connectors

  • Browser MCP for logged-in tasks. Uses your Chrome — credentials stay local. Zero-token replay.

  • Hosted real Google Chrome MCP with per-user persistent state. Navigate, click, type, screenshot.

  • An MCP server for deep research or task groups

View all MCP Connectors

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/namecallfilter/nodriver-mcp'

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