Dooza Browser
OfficialAllows AI agents to work within a logged-in Gmail session via the shared Chrome browser, using browser tools to read, compose, and manage email without exposing passwords.
Allows AI agents to operate a logged-in Stripe dashboard through the shared browser, enabling browser-based tasks on payments and account pages, with sensitive-site model routing.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Dooza Browseropen my Stripe dashboard and list this month's payouts"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Dooza Browser
One shared, logged-in Chrome for all your AI agents. Claude Code, Codex, ChatGPT or your own scripts get a real browser through MCP or plain HTTP: open tabs, read pages, click, type, upload files, run short Playwright scripts, or hand off a whole web task. Agents share what they learn about each site, and they never steal your mouse or close your tabs.
We built it to run Dooza's own team of AI agents (sales, SEO, video, ops) on one machine, all sharing one Chrome that is logged in once. This is that code, cleaned up.
Why
Log in once. The agents use one Chrome profile. You sign in to Gmail, LinkedIn, Stripe... by hand once; cookies persist. Agents never see your passwords.
Many agents, one browser, no fights. Each tab belongs to the agent that opened it. Agent windows open in the background in their own screen area, never as tabs in your window, and never take focus.
Fast actions, not click-by-click.
tab_playwrightruns a short Playwright script on a tab: 10 steps in one tool call. Models already know Playwright well, so it is quicker and cheaper than one tool call per click.Site memory.
site_notesaves one-line lessons per site ("the Save button is#submit-2", "this site blocks headless"). They come back automatically every time any agent opens that site.Whole tasks on a cheap model.
browse(task)gives the task to browser-use on any OpenRouter model (or to headless Claude Code), with a judge, a retry on a stronger model, and a stronger model by default on sensitive sites (inbox, payments).
Related MCP server: MultiZen
Tools
Tool | What it does |
| Whole web task in its own background window; returns text |
| New background tab you own; returns |
|
|
| Step-by-step control |
| Python Playwright (async) on that tab; set |
| File upload, including buttons that open a native file picker |
| |
| Read or add per-site notes (secrets are refused) |
| Chrome version, open tabs, free task slots, OpenRouter spend |
Every tool is also POST /api/<tool> with the arguments as JSON.
Quick start (Linux or macOS)
git clone https://github.com/Dooza-ai/dooza-browser && cd dooza-browser
python3 -m venv .venv && .venv/bin/pip install -e . # no browser download: it drives your own Chrome
cp config.example.json config.json
# 1. a dedicated Chrome with DevTools on localhost:9222 (sign in to your sites in this window, once)
examples/start-chrome.sh &
# 2. the server (MCP at http://127.0.0.1:8765/mcp)
export OPENROUTER_API_KEY=... # only for browse() with the browser-use engine
.venv/bin/dooza-browserConnect a client:
claude mcp add --transport http --scope user browser http://127.0.0.1:8765/mcp # Claude Code
# Codex: ~/.codex/config.toml -> [mcp_servers.browser] url = "http://127.0.0.1:8765/mcp"
curl -s localhost:8765/api/tab_open -H 'Content-Type: application/json' -d '{"url":"https://example.com","owner":"me"}'For Claude Code, copy skill/SKILL.md to ~/.claude/skills/dooza-browser/SKILL.md so agents know when to use which tool.
On a headless server, run Chrome on a virtual display wide enough for both areas (Xvfb :99 -screen 0 2880x900x24);
your own window sits at x 0-1440, agent windows open at x >= 1440 (agent_window in config.json). A systemd unit is
in examples/.
Configuration (config.json)
Key | Meaning |
|
|
| OpenRouter model ids: normal sites / |
| URL substrings that get the |
|
|
| Forgotten tabs are closed; a 4th tab closes your oldest |
| Where agent windows open ( |
|
|
| Folders uploads may come from ( |
| Optional |
|
|
Environment: DOOZA_BROWSER_CONFIG (default ./config.json), DOOZA_BROWSER_HOME (logs, screenshots, site notes,
optional credentials.env; default ~/.dooza-browser), OPENROUTER_API_KEY.
credentials.env (NAME=value lines) is passed to browser-use as sensitive_data: the model only sees NAME and the
value is filled in at typing time.
Safety
The server listens on 127.0.0.1 only. Anyone who can reach it controls your logged-in browser: don't expose it.
Page content is data, never instructions; tool descriptions and the browse prompt say so, but prompt injection is a real risk for any browser agent. Give the agent Chrome only the logins your agents need.
tab_evalandtab_playwrightrun code you send in the page or on your machine. Use the sandbox user on shared machines.Optional
python -m dooza_browser.captcha <tab>solves reCAPTCHA/hCaptcha/Turnstile through 2Captcha (paid,TWOCAPTCHA_API_KEY). Use it only where the site's terms allow automation.
Credits
Built on browser-use, FastMCP and Playwright. Ideas from Aside's write-up on browser agents (Playwright actions, site memory).
MIT licensed. Made by Dooza: AI agents that work as your team.
This server cannot be deployed
Maintenance
Related MCP Connectors
Control a real browser from AI agents: navigate, click, type, screenshot, read the page.
Let your AI agent operate any website through a real, logged-in browser session.
Connect AI agents to your own Chrome with scoped access, approvals, and verified task results.
Browser MCP for logged-in tasks. Uses your Chrome — credentials stay local. Zero-token replay.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceA local MCP server that lets AI coding tools drive the user's own already-logged-in Chrome — clicking, typing, reading pages, taking screenshots, and inspecting cookies, network, and console through the extension rather than a debug port. All communication stays on the machine, with agent-opened tabs grouped and kept out of focus.1 npmISC
- FlicenseNot gradedqualityAmaintenanceExposes a local MCP endpoint that lets AI agents and human operators drive isolated Chromium profiles — each with its own cookies, fingerprint, and proxy — through tools for navigation, clicking, typing, extraction, screenshots, JS evaluation, tabs, and cookie management. Persistent per-profile session state keeps logins and context alive across launches and across AI sessions, so agents can complete real authenticated workflows.-
- AlicenseNot gradedqualityAmaintenanceA local MCP server that lets AI agents drive the real, already-logged-in Chrome browser through a companion extension, navigating tabs, clicking, typing, reading pages, filling forms, taking screenshots, and inspecting cookies, storage, console and network traffic. It keeps all communication on the local machine, with no remote-debugging port to expose and no separate headless browser or manual cookie copying to set up.1 npmISC
- AlicenseNot gradedqualityAmaintenanceA local MCP server that lets AI coding assistants drive the user's own already-signed-in Chrome, so agents can read logged-in pages, click, fill forms, navigate, screenshot, inspect network traffic and storage, and run multi-step browser workflows without a separate headless browser or remote debugging port. All communication stays on the user's machine and agent-opened tabs are grouped so they never steal focus.1 npmISC