nodriver-mcp
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 --lockedAñ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 pytestSeguridad
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.
Maintenance
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
- FlicenseNot gradedqualityCmaintenanceMCP server that exposes the Pinchtab browser API for token-efficient web scraping, change detection, and automated testing workflows.15
- AlicenseAqualityBmaintenanceMCP 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.211MIT
- AlicenseNot gradedqualityAmaintenanceRemote 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
- AlicenseNot gradedqualityBmaintenanceMCP server for controlling a local camofox-browser instance, enabling LLM agents to perform web automation tasks such as navigation, interaction, snapshotting, and content extraction.53MIT
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
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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