NexusBrowser: your real Chrome driven by AI agents (Antigravity, Claude, Codex) in background tabs, through a local bridge and an MCP server.
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
- ✓Documented (README)
claude mcp add nexusbrowser -- uvx nexus-browser{
"mcpServers": {
"nexusbrowser": {
"command": "uvx",
"args": ["nexus-browser"]
}
}
}Resumen de MCP Servers
# NexusBrowser <!-- mcp-name: io.github.pironjulien/nexus-browser --> [](https://github.com/pironjulien/NexusBrowser/releases) [](https://pypi.org/project/nexus-browser/) [](https://github.com/pironjulien/NexusBrowser/actions/workflows/tests.yml) [](LICENSE) [](extension/manifest.json) [](pyproject.toml) [](https://modelcontextprotocol.io) [](https://julienpiron.fr/nexusbrowser/)  **Your real Chrome, driven by AI agents in background tabs.** NexusBrowser lets Antigravity, Claude and Codex use the user's own Chrome (their sessions, their extensions) through one shared local bridge and one MCP server, `nexus-browser`. Each agent works in its own background tabs, grouped under its name, with real (trusted) mouse and keyboard events sent through the Chrome DevTools Protocol, while the user keeps working in their own tabs. Windows 10/11 · Chrome 116+ · Python 3.14 · MIT licence Part of the Nexus family: [NexusWindows](https://julienpiron.fr/nexuswindows/) ([Claude](https://github.com/pironjulien/NexusWindows-Claude) · [Codex](https://github.com/pironjulien/NexusWindows-Codex) · [Antigravity](https://github.com/pironjulien/NexusWindows-Antigravity)), [NexusBrowser](https://julienpiron.fr/nexusbrowser/) ([repo](https://github.com/pironjulien/NexusBrowser)), [NexusAndroid](https://julienpiron.fr/nexusandroid/) ([repo](https://github.com/pironjulien/NexusAndroid)). Project page: [julienpiron.fr/nexusbrowser](https://julienpiron.fr/nexusbrowser/). ## Why Browser automation usually means a separate headless browser (no sessions, no extensions) or screen-level computer use that moves the user's cursor and brings the window to the front. NexusBrowser works inside the browser the user already uses, without activating the agent's tab or window, and keeps the guard rails in the extension and the bridge rather than in the agent: tab ownership, an allowlist of DevTools commands, masked secrets, an emergency stop. - **Antigravity**: its own browser agent runs in a separate Chrome profile, without the cookies or sign-ins of the user's browsing ([Antigravity docs](https://antigravity.google/docs/ide/separate-chrome-profile/)). NexusBrowser gives it the user's real Chrome. - **Claude and Codex** already have their own Chrome extension (Claude in Chrome, the Codex Chrome extension). NexusBrowser complements it where a bridge with the DevTools protocol helps: JavaScript dialogs (`browser_handle_dialog`), detailed network capture with response bodies, elements inside cross-origin iframes, content and Google Docs/Sheets/Slides exports, and downloads. Until 2.4.0 it was published here as "Antigravity Browser Bridge", for Antigravity only. Since 2.6.0 it is a neutral bridge shared by several agents. ## Pieces | Folder | Role | | --- | --- | | `extension/` | Chrome MV3 extension "Nexus Browser Bridge": CDP actions, locators, network, dialogs, cross-origin iframes, exports, tab ownership, control panel | | `native-host/` | Local bridge (`bridge_server.py`: WebSocket 9224 for the extension, HTTP 9225 for the agents) and native host `com.nexus.browser_auth` | | `client/` | MCP server `nexus-browser` (`mcp_server.py`), authenticated transport (`bridge_client.py`), CLI (`browser_cli.py`), shared emergency stop | | `skills/`, `plugins/` | Skill (copied for Antigravity, Claude Code and Codex) and Antigravity plugin, by `install.ps1` | ## Tools 48 MCP tools. | Area | Tools | | --- | --- | | Tabs | `browser_list_tabs`, `browser_active_tab` (read only), `browser_new_tab`, `browser_select_tab`, `browser_adopt_tab`, `browser_release_tab`, `browser_group_tabs`, `browser_close_tab`, `browser_reload`, `browser_navigate`, `browser_wait_load` | | Input (trusted CDP events) | `browser_click`, `browser_semantic_click`, `browser_hover`, `browser_fill`, `browser_semantic_fill`, `browser_fill_form`, `browser_select_option`, `browser_check`, `browser_press_key`, `browser_type_keys`, `browser_drag_and_drop`, `browser_scroll`, `browser_upload`, `browser_handle_dialog` | | Finding elements | `browser_find` (Playwright-style locators: role, label, text, placeholder, test id, in every frame), `browser_interactive_map`, `browser_vision_inspect` and `browser_click_mark` (Set-of-Mark badges), `browser_axtree`, `browser_content`, `browser_check_handoff` (2FA, CAPTCHA) | | Network and downloads | `browser_network_record`, `browser_network_stop`, `browser_network_requests`, `browser_network_response`, `browser_wait_network_idle`, `browser_download_status`, `browser_wait_download`, `browser_get_cookies` | | Output | `browser_screenshot`, `browser_pdf`, `browser_export` (main content as Markdown, text or HTML), `browser_export_gsuite` (Google Docs, Sheets, Slides through Google's export URLs), `browser_youtube_transcript`, `browser_logs` | | Page access | `browser_eval`, `browser_cdp_send` (allowlisted commands) | ## Install Requirements: Windows 10 or 11, Chrome, [uv](https://docs.astral.sh/uv/), Python 3.14. ```powershell git clone https://github.com/pironjulien/NexusBrowser.git cd NexusBrowser pwsh -NoProfile -File install.ps1 ``` - Python environment, token, logs, screenshots and exports live in `~\.nexus\nexus-browser` (outside the clone). - Scheduled task `Nexus Browser Bridge` with **no trigger**: the bridge starts on demand (first agent call, `schtasks /Run`). - Native host `com.nexus.browser_auth` declared to Chrome (HKCU): it computes the extension's proofs, the token never reaches Chrome. - MCP server `nexus-browser` registered for Claude Code, Codex and Antigravity when they are installed, each with `NEXUS_BROWSER_AGENT` set to its name (default tab group). - When the bridge has to relaunch Chrome, it uses the `Default` profile; extra Chrome flags (language...) can be added with the `NEXUS_CHROME_EXTRA_ARGS` environment variable (allowlist: `--lang`, `--accept-lang`, `--variations-override-country`, `--disable-features=Glic…`, `--force-dark-mode`; anything else is ignored). - Migration from the former "Antigravity Browser Bridge": its task (same ports) and native host `com.nexusagy.bridge_auth` are removed. Then load `extension\` once in `chrome://extensions` (developer mode, "Load unpacked") and remove the old "Antigravity Browser Bridge" if present. The extension ID is fixed by the public `key` in `manifest.json` (`blcgddmjdkobmgakjffjpgiicjlflgjf`), the same on every PC and whatever the folder; it is the only origin the bridge and the native host accept. ### The MCP server from PyPI Once the bridge and the extension are installed (above), any MCP client can also start the server straight from [PyPI](https://pypi.org/project/nexus-browser/), without the clone: ```bash claude mcp add nexus-browser --scope user -e NEXUS_BROWSER_AGENT=Claude -- uvx nexus-browser ``` Without the bridge, the server still starts and lists its 48 tools, and every call answers with a clear error that points to the one-time install. ## Security (held by the extension and the bridge, not by the agent) - **Mutually authenticated bridge** (`nexus-browser/1`): HMAC proofs over both nonces, then every message signed with a per-connection key and a strict sequence number. HTTP requires `X-Nexus-Browser-Token` and refuses any browser origin. - **Tab ownership**: every bridge client identifies itself (agent + session headers, forwarded by the bridge in the signed channel). A tab opened by `browser_new_tab` belongs to that session (`chrome.storage.session`); any page command on another tab (the user's, another agent's) is refused. A tab of the user only through `browser_adopt_tab(tab_id, user_asked=True)`. `tab_id` is mandatory on every page tool. A session whose MCP process is gone (or silent for 1.618 x 60 s; servers beat every 37 s) leaves **orphan** tabs: the same agent can reclaim (`browser_adopt_tab`, also automatically at startup), close or release them; never another agent. - **CDP allowlist** for `browser_cdp_send`; every extension script runs in an **isolated world** (only `browser_eval`, the YouTube transcript and `browser_cdp_send(..., world="page")` touch the page's world). - **Secrets**: secret headers, URL parameters and JSON/form body fields masked (pagination tokens and LLM token counters kept); cookie values only for local development origins (`include_values=True`); uploads refused by the bridge itself from secret folders (normalized paths). The value of a password, one-time code or payment card field (`type=password`, `autocomplete` current-password, new-password, one-time-code, cc-number, cc-csc, cc-exp) never leaves the page: `browser_content` (html mode included), `browser_vision_inspect`, `browser_find`, `browser_axtree` and the value read back by `browser_fill` return `[masked value]` instead. - **`browser_eval` is full access to the page, nothing masked**: like `browser_cdp_send(Runtime.evaluate)` (both worlds share the document), it reads what the page reads (non-HttpOnly cookies through `document.cookie`, localStorage, sessionStorage, IndexedDB, form fields) and its `fetch` carries the user's session. The masking above covers the dedicated tools, not scripts nor the raw Chrome replies of `browser_cdp_send` (`DOM
Lo que la gente pregunta sobre NexusBrowser
¿Qué es pironjulien/NexusBrowser?
+
pironjulien/NexusBrowser es mcp servers para el ecosistema de Claude AI. NexusBrowser: your real Chrome driven by AI agents (Antigravity, Claude, Codex) in background tabs, through a local bridge and an MCP server. Tiene 4 estrellas en GitHub y su última actualización registrada es del 2026-10-19.
¿Cómo se instala NexusBrowser?
+
Puedes instalar NexusBrowser clonando el repositorio (https://github.com/pironjulien/NexusBrowser) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.
¿Es seguro usar pironjulien/NexusBrowser?
+
Nuestro agente de seguridad ha analizado pironjulien/NexusBrowser y le ha asignado un Trust Score de 95/100 (tier: Verified). Revisa el desglose completo de comprobaciones superadas y flags en esta página.
¿Quién mantiene pironjulien/NexusBrowser?
+
pironjulien/NexusBrowser es mantenido por pironjulien. La última actividad registrada en GitHub es del 2026-10-19, con 1 issues abiertos.
¿Hay alternativas a NexusBrowser?
+
Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.
Despliega NexusBrowser en tu cloud
Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.
¿Mantienes este repo? Añade un badge a tu README
Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.
[](https://claudewave.com/repo/pironjulien-nexusbrowser)<a href="https://claudewave.com/repo/pironjulien-nexusbrowser"><img src="https://claudewave.com/api/badge/pironjulien-nexusbrowser" alt="Featured on ClaudeWave: pironjulien/NexusBrowser" width="320" height="64" /></a>Más MCP Servers
Reverse engineer anything with agents, from app behavior down to native binaries.
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
🕷️ A Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev