trackmcp
Back to directory
codeChap

mcp-server-agent-browser

View on GitHub

MCP server for browser automation via Vercel's agent-browser CLI

1 stars RustOthers Updated Aug 26, 2026

Documentation

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

bash
cargo install agent-browser
agent-browser install

Call `browser_doctor` if anything is missing.

Build

bash
cargo build --release

Binary: `target/release/mcp-server-agent-browser`

bash
cargo test
./tests/test-stdio.sh

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):

json
{
  "mcpServers": {
    "agent-browser": {
      "command": "/path/to/mcp-server-agent-browser"
    }
  }
}

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`.

SettingDefaultMeaning
`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`unsetOptional persistent Chrome user-data dir. Not your daily Chrome profile.
`encryption_key_file`unsetSets `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.

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_text` `pattern` — regex over page text with two lines of context.
  • `browser_wait` — `load` / `url` / `text` as well as a selector.

Typical loop:

1. `browser_navigate`

2. `browser_snapshot` (`-i` for interactive)

3. `browser_click` / `browser_fill` with `@ref`s

4. `browser_screenshot` if 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_id`s 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 or `executable_path`.
  • Writes (screenshot, pdf, download) must be relative, under `/tmp`, or under `download_dir`.
  • 25s Playwright action timeout is an upstream CLI limit, not this wrapper.

License

MIT

Frequently asked questions

What is mcp-server-agent-browser?

mcp-server-agent-browser is MCP server for browser automation via Vercel's agent-browser CLI

How do I install mcp-server-agent-browser?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is mcp-server-agent-browser open source?

Yes — it is hosted on GitHub at https://github.com/codeChap/mcp-server-agent-browser and has 1 stars.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP