
Agent Browser
io.github.codeChapPublished by GitHub account codeChapv0.1.0Updated Oct 26, 2026
MCP server for browser automation via Vercel's agent-browser CLI
Overview
Local MCP server that wraps Vercel's agent-browser CLI so an assistant can drive a real Chromium browser: navigate, click, fill forms, snapshot and screenshot.
- What you can do
- Navigate pages and wait for load, URL, text or selectors
- Inspect pages via accessibility-tree snapshots and regex text extraction
- Interact with elements by reference: click, type and fill forms
- Capture screenshots and PDFs, and manage downloads
- Handle cookies, sessions and persistent login state, plus eval and CDP access
- Diagnose the CLI, config and daemon setup with a doctor tool
- When to use it
- Useful when an assistant needs to operate a real browser rather than fetch documents: filling in forms, clicking through a logged-in site, checking what a page renders, or capturing screenshots. Pair it with a search tool to find URLs first, since it does no searching itself.
- Requirements
- Runs as a local stdio process on desktop; the agent-browser CLI must be installed (cargo install agent-browser, then agent-browser install) and Chromium is driven through Playwright. The MCP client points at the built binary. Optional TOML config at ~/.config/mcp-server-agent-browser/config.toml, overridable with MCP_AGENT_BROWSER_CONFIG; related settings include AGENT_BROWSER_PATH, AGENT_BROWSER_HEADED and AGENT_BROWSER_ENCRYPTION_KEY.
Installation
In SourceWeft
- Open Agent Browser in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
mcp-server-agent-browser
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.
Prerequisites
Call browser_doctor if anything is missing.
Build
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.
Configuration
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.
allowed_domains is optional. Localhost is allowed unless you set a list that excludes it.
What it can do
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_textpattern— regex over page text with two lines of context.browser_wait—load/url/textas well as a selector.
Typical loop:
browser_navigatebrowser_snapshot(-ifor interactive)browser_click/browser_fillwith@refsbrowser_screenshotif you need pixels
Persistence
With 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.
Limitations
- Chromium via
agent-browser(Playwright). No search. - Headed is ignored until the existing daemon is closed.
- Snap Chromium on Ubuntu can fail to advertise its DevTools port; prefer
agent-browser install's browser orexecutable_path. - Writes (screenshot, pdf, download) must be relative, under
/tmp, or underdownload_dir. - Element screenshots take a CSS selector or
@ref, plus a trailing:has-text("..."). The selector is checked first, so a miss is an error, not a silent full-viewport shot. Not combinable withfull_page. - 25s Playwright action timeout is an upstream CLI limit, not this wrapper.
License
MIT
Source: README.md at commit 7d1010f
Tools
0Version history
1- v0.1.0LatestSep 16, 2026
Score
40% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.