Browser Use
Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.
Beschreibung vom Entwickler (englisches Original)
Event-driven deterministic browser MCP: HITL gates, audit, console/network/perf observability.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
Du brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"nexus-browser": {
"command": "uvx",
"args": [
"nexus-browser-mcp"
]
}
}
}Führe das in deinem Terminal aus
claude mcp add nexus-browser -- uvx nexus-browser-mcpIn .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"nexus-browser": {
"command": "uvx",
"args": [
"nexus-browser-mcp"
]
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"nexus-browser": {
"type": "stdio",
"command": "uvx",
"args": [
"nexus-browser-mcp"
]
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 9. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto paipaipai666 bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.3.0) kam vor 2 Monaten in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Python (uv) auf deinem Computer.
In derselben Kategorie: Browser Use, Chrome DevTools MCP, MCP Server Browser
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
English | 简体中文
A browser-automation MCP server with event-driven, deterministic snapshots.
Built on Playwright. Drives a browser for LLMs through the Accessibility Tree — navigate, click, type, read, fill forms, manage tabs. Key differences from alternatives (e.g. Playwright MCP):
sleep guessing. A MutationObserver records the last DOM mutation and the browser's own requestAnimationFrame loop decides when the page has been quiet for STABLE_WINDOW_MS (default 800ms) before extracting a snapshot — eliminating "captured mid-animation" races.browser_evaluate disabled by default with unconditional confirmation, JSONL audit log (sensitive-parameter redaction + per-call in/out character metering, so token cost can be reconciled).task_ids, each with its own BrowserContext (no login-state cross-contamination). Idle tasks are reclaimed by TTL; on next use they're rebuilt and the last page is restored automatically.[state change] notice telling the agent exactly what was restored and what was lost — no raw Playwright exceptions leak through.browser_console / browser_errors / browser_network read them incrementally via a since cursor, so the agent can answer "why did nothing happen" instead of guessing.pip install nexus-browser-mcp
uvx nexus-browser-mcp
Two executable entry points are installed: nexus-browser-mcp and nexus-browser. A guaranteed fallback: python -m nexus_browser.server.
Requires playwright and its browser binary:
pip install playwright && playwright install chromium
opencode (~/.config/opencode/opencode.json):
{
"mcp": { "browser": { "type": "local", "command": ["uvx", "nexus-browser-mcp"], "enabled": true } } }
Claude Code (.mcp.json, project root):
{
"mcpServers": { "browser": { "type": "stdio", "command": "uvx", "args": ["nexus-browser-mcp"] } } }
Pi Coding Agent: reads standard MCP configuration — project .mcp.json or user-global ~/.config/mcp/mcp.json; stdio is the default transport:
{
"mcpServers": { "browser": { "command": "uvx", "args": ["nexus-browser-mcp"] } } }
See docs/INTEGRATE.md for details (Chinese).
By default, isolated mode launches Playwright's bundled Chromium without your cookies/login state. To use your own browser, pick one:
Option A — load your browser profile directly (recommended, simplest)
Use system Chrome with your everyday user data directory (cookies/login/bookmarks included):
BROWSER_CHANNEL=chrome
BROWSER_USER_DATA_DIR="C:\Users\ \AppData\Local\Google\Chrome\User Data"
Note: while running against your real User Data, the process owns the browser — launching your own Chrome concurrently will conflict. Prefer a copied profile or a dedicated
--user-data-dir.
Recommended: a tool-dedicated profile (no conflict with your daily browser)
Use BROWSER_CHANNEL=chrome plus a dedicated user data dir (e.g. C:\Users\ \.nexus-browser\chrome-profile):
BROWSER_CHANNEL=chrome
BROWSER_USER_DATA_DIR="C:\Users\ \.nexus-browser\chrome-profile"
On first use, log in to target sites once in the dedicated Chrome window that pops up when the agent calls a browser tool. Cookies persist in that profile forever after — the agent carries login state while staying fully isolated from your daily browser.
Option B — attach to a running Chrome via CDP
Start chrome --remote-debugging-port=9222 first, then set BROWSER_MODE=cdp.
If the CDP connection fails, the server now fails loudly (no silent fallback to a fresh browser) and tells you to start the debug-port browser first.
In CDP (or persistent-profile) mode the agent can also take over tabs you already have open: browser_list_pages shows them under "external tabs", and browser_adopt_page(ext_index) pulls one into the task (snapshot/click/read all work from then on). Adoption always requires confirmed=true — it hands the agent full read/write access to that page, including its login state.
Every option can be overridden via BROWSER_-prefixed env vars:
评测/全功能使用:两个高危能力默认关闭(安全优先)。需要
browser_evaluate时设BROWSER_ALLOW_JS_EXECUTION=true,需要browser_network_body时设BROWSER_ALLOW_NETWORK_BODY=true——冷启动跑基准/评测不开它们,对应子任务会被拒(这是设计,不是故障)。
| Variable | Default | Description | |
|---|---|---|---|
BROWSER_MODE | isolated | isolated (fresh isolated browser) / cdp (attach to your Chrome) | |
BROWSER_CDP_ENDPOINT | http://localhost:9222 | CDP endpoint | |
BROWSER_CHANNEL | "" | System browser channel: chrome/msedge etc. (empty = Playwright bundled Chromium) | |
BROWSER_USER_DATA_DIR | "" | User data dir (carries cookies/login). When set, one shared persistent context across tasks. Empty = fresh profile | |
BROWSER_HEADLESS | false | Headless mode (isolated only) | |
BROWSER_DEFAULT_TIMEOUT_MS | 30000 | Playwright per-operation timeout (navigation etc.) | |
BROWSER_TOOL_TIMEOUT_MS | 60000 | Outer timeout guard per tool call (returns ERROR instead of hanging) | |
BROWSER_STABLE_WINDOW_MS | 800 | Quiet window: how long without DOM mutations counts as "stable" | |
BROWSER_STABLE_REQUIRED | 2 | Fallback only: consecutive identical snapshots confirming stability, used when the MutationObserver watcher is unavailable (primary path verifies "zero mutations during capture" via the mutation timeline directly) | |
BROWSER_STABLE_TIMEOUT_MS | 3000 | Total stability-wait timeout; degrades gracefully on expiry | |
BROWSER_SNAPSHOT_MAX_NODES | 100 | Max nodes per snapshot | |
BROWSER_CONTEXT_TTL_SEC | 600 | Idle task auto-reclaim (seconds) | |
BROWSER_STREAM_CHAR_CAP | 16000 | Max chars per stream buffer (oldest dropped with a seam marker) | |
BROWSER_STREAM_PAGE_CAP | 64000 | Total stream buffer chars per page | |
BROWSER_EVENT_MAX_ENTRIES | 500 | Max events (console/exception/request) per page, oldest dropped with a counter | |
BROWSER_EVENT_TEXT_CAP | 500 | Per-event text truncation length | |
BROWSER_EVENT_HANDLE_MAX | 50 | Recent requests per page keeping a live response handle (for on-demand body reads) | |
BROWSER_ALLOW_NETWORK_BODY | false | Allow browser_network_body (response bodies may carry sensitive data) | |
BROWSER_NETWORK_BODY_CAP | 4000 | Max chars returned per response body | |
BROWSER_TRANSPORT | stdio | stdio / http (streamable-http for remote/multi-client) | |
BROWSER_HTTP_HOST | 127.0.0.1 | HTTP bind address; non-localhost requires BROWSER_HTTP_TOKEN (refuses to start otherwise) | |
BROWSER_HTTP_PORT | 8817 | HTTP port | |
BROWSER_HTTP_TOKEN | "" | Bearer token for HTTP transport | |
BROWSER_ALLOW_JS_EXECUTION | false | Allow browser_evaluate (unconditional HITL when enabled) | |
BROWSER_HITL_RULES | [] | JSON array of HITL rules, e.g. `[{"action":"click","name_pattern":"pay | confirm"}]` |
BROWSER_AUDIT_PATH | ~/.nexus-browser/audit.jsonl | Audit log path | |
BROWSER_DIALOG_TIMEOUT_MS | 20000 | Parked confirm/prompt auto-dismiss timeout (trail kept in event log) | |
BROWSER_DOWNLOAD_DIR | ~/.nexus-browser/downloads | Where accepted downloads are saved (click reports filename + path) | |
BROWSER_PROXY | "" | none = launch browser with --no-proxy-server (bypass system proxy) |
34 tools: browser_navigate, browser_navigate_back, browser_snapshot, browser_click, browser_type, browser_hover, browser_press_key, browser_select_option, browser_upload_file (HITL-confirmed), browser_drag, browser_dialog_respond (dialogs are parked for agent/user decision; accept requires confirmed=true), browser_adopt_page (take over an already-open browser tab in cdp/persistent mode; HITL-confirmed), browser_read, browser_screenshot, browser_evaluate, browser_wait, browser_wait_stable, browser_wait_ms, browser_scroll, browser_scroll_to, browser_wait_navigation, browser_find (locate content by text → refs), browser_dismiss_popup, browser_list_pages, browser_switch_page, observability tools browser_console, browser_errors, browser_network, browser_perf, browser_network_body, plus 4 lifecycle tools: browser_tasks, browser_close_task, browser_list_sessions, browser_close_session.
Observability (debugging): console output, uncaught exceptions and request metadata are buffered per page from creation; browser_errors() returns a merged "JS exceptions + console.error + failed requests" view in one call. All three support a since cursor (omit = continue from last read, 0 = full) and limit paging.
Performance: browser_perf() returns FCP/LCP/CLS/INP, navigation timings and the 5 slowest resources. Response bodies can be fetched on demand with browser_network_body(seq) — off by default (BROWSER_ALLOW_NETWORK_BODY), every call gated by confirmed=true, hard char cap, and the body never enters the audit log.
Same 10-step task, both servers at default config, metered at the JSON-RPC payload layer (cl100k tokens; harness + raw data in docs/bench/token-comparison.md, reproduce with bench/compare.py):
| nexus-browser-mcp | playwright-mcp | |
|---|---|---|
| 10-step task total | 3,460 tok | 26,032 tok |
| snapshot right after navigate | 65 tok | 6,931 tok |
7.5x fewer tokens overall; 100x on repeated snapshots — the dominant cost in real agent loops (polling, multi-step forms, state confirmation).
Real-site benchmark (7 scenarios × 5-7 verifiable sub-tasks each: Baidu/Bing/DuckDuckGo search, Wikipedia reading, Hacker News, GitHub browsing — docs/bench/realworld.md): sub-task completion 37/42 vs 31/42, 18.2k vs 566.4k tokens (31x), wall-clock 107s vs 179s — one Wikipedia article snapshot alone costs pw-mcp ~252k tokens where nexus caps + diffs. Enterprise task suite (filter/sort, dashboard reading, KB answers, multi-step ordering, price comparison — docs/bench/enterprise-ops.md): 21/21 on all three servers (vs playwright-mcp and chrome-devtools-mcp); tokens 3.6k vs 5.1k vs 10.9k. At scale (**106 cases / 184 sub-tasks, three servers, see
Nur der Anfang wird gezeigt; den Rest findest du im Repo