MCP server for browser automation via Vercel's agent-browser CLI
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
💡 Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Status: Beta — CLI wrapper is covered by unit tests and a fake-browser stdio smoke test. Cookie restore across a real Chromium restart is still a manual check.
Let LLMs drive a real browser. This MCP server wraps agent-browser (Vercel Labs) so any MCP client can navigate, fill forms, click, snapshot the accessibility tree, and screenshot.
It is not Grok's web_search / open_page. Those fetch documents. This one runs Chromium. Use search to find a URL, then browser_navigate.
Call browser_doctor if anything is missing.
Binary: target/release/mcp-server-agent-browser
Real Chromium login-restore is not in CI. After a headed login, restart the MCP process and confirm the next browser_navigate is still logged in.
MCP client (stdio):
Optional TOML at ~/.config/mcp-server-agent-browser/config.toml (see config.example.toml). Missing file uses defaults. Override the path with MCP_AGENT_BROWSER_CONFIG.
| Setting | Default | Meaning |
|---|---|---|
headed | false | Show a window. Launch-time only; browser_close first if a headless daemon is already up. Also AGENT_BROWSER_HEADED=1. |
persist | true | Bare --restore per session_id (default session key default) plus --namespace mcp-server. |
keep_daemon | false | If false, MCP exit runs close so restore state is saved and Chrome does not leak. |
namespace | mcp-server | Isolates this MCP's daemon sockets and restore files from a human using the CLI. |
command_timeout_secs | 120 | Wrapper timeout. Playwright's own 25s action timeout is left alone (CLI IPC is ~30s). |
idle_timeout | 1h | Daemon idle shutdown. Use "0" with keep_daemon = true. |
download_dir | ~/Downloads | --download-path. ~ is expanded. |
profile | unset | Optional persistent Chrome user-data dir. Not your daily Chrome profile. |
encryption_key_file | unset | Sets AGENT_BROWSER_ENCRYPTION_KEY. Restore files are credentials; plaintext unless this is set. |
AGENT_BROWSER_PATH | agent-browser | CLI binary. |
allowed_domains is optional. Localhost is allowed unless you set a list that excludes it.
Same interaction set as before (navigate, click, type, snapshot, screenshot, cookies, eval, CDP, sessions), plus:
browser_doctor — CLI, config, persist, headed/DISPLAY, daemon guess. Does not launch Chrome.browser_get_text pattern — regex over page text with two lines of context.browser_wait — load / url / text as well as a selector.Typical loop:
browser_navigatebrowser_snapshot (-i for interactive)browser_click / browser_fill with @refsbrowser_screenshot if you need pixelsWith persist = true (default), each session saves cookies and localStorage on close and on the CLI's autosave interval. State lives under ~/.agent-browser/, namespaced to mcp-server. Isolated session_ids do not share a restore key.
Headed login once, browser_close or exit the MCP, start again. The next navigate should restore that session.
A killed MCP process may leave the daemon running. browser_doctor reports that. Idle shutdown still saves if persist is on.
agent-browser (Playwright). No search.agent-browser install's browser or executable_path./tmp, or under download_dir.MIT
No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/agent-browser-2)<a href="https://allmcps.com/mcp/agent-browser-2"><img src="https://allmcps.com/api/badge/agent-browser-2?style=directory" alt="Agent Browser on AllMCPs" /></a>