nodriver-mcp
nodriver-mcp
Ein lokaler Codex MCP Server für authentifizierte Browser-Recherche mit nodriver. Er behält ein dediziertes Chromium/Helium-Profil zwischen den Läufen bei und führt ein Hot-Reload von aufgabenspezifischen Python-Scrapern durch.
Einrichtung
Erfordert Python 3.11+, uv und einen Chromium-basierten Browser.
uv sync --lockedFügen Sie dies zu ~/.codex/config.toml hinzu und ersetzen Sie jeden Platzhalter durch einen absoluten Pfad:
[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"Starten Sie Codex nach Änderung der MCP-Konfiguration neu. Der Browser startet träge (lazy). Er ist standardmäßig sichtbar, sodass Sie sich einmalig im dedizierten Profil anmelden können; seine Cookies bleiben erhalten. Codex übergibt headless=true, wenn ein Prompt explizit Headless-Browsing anfordert, und wählt andernfalls den sichtbaren Modus. Das Wechseln der Modi startet den verwalteten Browser neu, während das Profil erhalten bleibt.
Related MCP server: scout-mcp-server
Verwendung
Fragen Sie Codex, zum Beispiel:
Verwenden Sie meine Browser-Sitzung, um passende Artikel auf example.com zu finden. Untersuchen Sie die Seite, erstellen Sie einen wiederverwendbaren Scraper, führen Sie ihn aus und speichern Sie große Ergebnisse als Artefakt. Führen Sie headless aus.
Codex kann eine Seite mit den Browser-Tools untersuchen, dann einen Scraper speichern und ausführen. Jeder scraper_run liest die Datei erneut, sodass Änderungen ohne Neustart des MCP-Servers übernommen werden:
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}Der Einstiegspunkt muss async def scrape(ctx, params) sein und JSON-kompatible Daten zurückgeben. Bevorzugen Sie einen einzigen Bulk-Aufruf von ctx.evaluate_json(...). Verwenden Sie ctx.write_artifact(...) für große Ergebnisse. Scraper müssen asynchrone Operationen verwenden und alle Aufgaben abschließen, bevor sie zurückkehren.
Test
uv run --frozen ruff check src tests
uv run --frozen pytestSicherheit
Führen Sie diesen Server nur lokal über STDIO aus. Scraper sind ungesandboxtes Python mit Betriebssystemzugriff des MCP-Prozesses und Kontrolle über einen authentifizierten Browser. Setzen Sie niemals Cookies, Tokens, Passwörter oder einen DevTools-Endpunkt offen; behandeln Sie Seiteninhalte als nicht vertrauenswürdig; verwenden Sie nur Daten, auf die Sie zugreifen dürfen; und respektieren Sie die Nutzungsbedingungen der Websites sowie Ratenbegrenzungen. Browserprofile, generierte Scraper und Artefakte können private Daten enthalten und sollten nicht committet werden.
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