Agent Browser logo

Agent Browser

Drives a shared headed Chrome session through MCP while exposing a live noVNC view for human takeover.

Install Agent Browser

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "agent-browser": {
      "command": "npx",
      "args": [
        "-y",
        "aether-browser"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

We couldn’t confirm it starts correctly

We ran the install command but it didn't respond within our test window — this can mean a slow first-time install rather than a real problem.

npx -y aether-browser

Process exited before answering initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 4d ago.

Overview

The agent-browser MCP server connects AI clients to one self-hosted, headed Chrome session through nine browser-control tools. A live noVNC view shows the same session, allowing a person to take over during logins, payments, or 2FA prompts. Run the runtime with Docker Compose, then configure an MCP client to launch the bundled command. Reach for it when browser state must be visible to a human or when an agent needs structured page content alongside visual oversight.

Use cases

  • Watch an agent complete browser workflows
  • Take over during login or 2FA prompts
  • Inspect structured page content from Chrome
  • Automate browser actions through an MCP client

Key features

  • Single headed Chrome session
  • Live noVNC browser view
  • Nine MCP browser tools
  • Human takeover during blocked steps
  • Structured page snapshots
  • Docker Compose runtime

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 3d ago

Recent health check succeeded.

6/6 checks healthy over the last 45d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 16d ago via OSV.dev · aether-browser (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars14Stargazers on the source repository.
npm downloads237Package downloads in the last 30 days.
Last commit8d agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.
Directory activity2 viewsConfig copies, upvotes, and views on AllMCPs.

How Agent Browser works

What agent-browser MCP server does

The agent-browser MCP server gives an AI agent control of one self-hosted Chrome session. The browser runs in headed mode, while noVNC provides a live view of that exact session. A human can observe the agent’s actions and interact with the displayed browser when the agent reaches a step it cannot complete, such as a login challenge, payment confirmation, or two-factor authentication prompt.

The MCP layer is backed by the same browser runtime exposed through the project’s JSON API. It is designed for workflows where browser actions need to remain inspectable and where a person may need to resume control without switching to a separate browser instance.

How it works

The runtime starts Xvfb, x11vnc, noVNC, the API, and a single headed Chrome session. The default Docker Compose quickstart is intended for Docker Engine on Linux. Its user-facing listeners bind to numeric loopback addresses in that setup.

An MCP client launches aether-browser mcp through a command such as npx -y aether-browser mcp. The server opens or connects to the browser session, returns a view URL, and includes that URL in later responses so the operator knows where to watch. Browser actions change the shared session rather than creating a separate view-only copy.

The underlying API supports session creation and termination, navigation, health checks, and page snapshots. Snapshots provide bounded text, accessibility information, viewport metadata, counters, and a PNG of the current page.

Setup and configuration

Build and start the runtime from the source checkout with:

Terminal
docker compose up --build

The initial build can take several minutes because it installs the locked Python environment and installs a current Google Chrome Stable package through Patchright. After the service becomes healthy, the noVNC page is available at http://127.0.0.1:6080/vnc.html, and the health endpoint is available at http://127.0.0.1:8092/browser/health.

For Claude Desktop, Cursor, or Windsurf, add an MCP server entry using npx as the command and -y, aether-browser, and mcp as arguments. Claude Code can add the same server with claude mcp add agent-browser -- npx -y aether-browser mcp.

The documented quickstart assumes a Linux host with Docker Compose v2. Docker Desktop and remote-host deployment are outside that quickstart. Local loopback access does not require a bearer token by design; review the project’s authority and security documentation before changing the deployment shape.

Tools and capabilities

The agent-browser MCP server exposes nine tools:

  • browser_open starts or opens the browser session and returns its live view URL.
  • browser_navigate moves the session to a destination.
  • browser_read reads page information.
  • browser_click clicks an element.
  • browser_type enters text.
  • browser_press sends a key press.
  • browser_scroll scrolls the page.
  • browser_status reports browser state.
  • browser_close closes the session.

The server also instructs the model to stop and request human takeover at login, payment, or 2FA prompts rather than attempting to guess through them.

Limitations and notes

Only one owned browser session is described by the project’s core workflow, so applications should account for that shared-session model. The browser and live view are intended to be the same session, not competing agent and human browsers.

The quickstart’s unauthenticated noVNC surface is kept on numeric loopback. Exposing the service differently changes the security assumptions and requires reviewing the authority contract. Chrome version selection can change when the source is rebuilt because the image installs the current Stable package, although accepted images record the browser version.

The Node and Python clients are separate from the MCP server command. The Node package uses npm install aether-browser; the Python package uses pip install aether-browser.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Agent Browser

agent-browser is an MCP server that connects AI clients to one self-hosted, headed Chrome session. Its main tools open, navigate, read, click, type, press keys, scroll, report status, and close the browser. A live noVNC view shows the same session so a human can observe or take over.

Install it for an MCP client with `npx -y aether-browser mcp`, then start the browser runtime with `docker compose up --build` from the source checkout. The documented runtime quickstart targets Docker Engine on Linux with Compose v2.

Yes, agent-browser works with Cursor through an MCP configuration that runs `npx` with `-y`, `aether-browser`, and `mcp` as arguments. The README also names Claude Desktop, Claude Code, and Windsurf as supported client options.

Yes, a human can take over the same browser session through its live noVNC view. The project’s MCP guidance tells the model to stop and request takeover at login, payment, or 2FA prompts instead of guessing.

The Docker quickstart targets Docker Engine on Linux with Compose v2. Docker Desktop and remote-host deployment are outside that quickstart. The separate Python client is documented for Python 3.10 or newer and can reach the server remotely.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewAgent Browser AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/agent-browser?style=directory)](https://allmcps.com/mcp/agent-browser)
HTML Embed
<a href="https://allmcps.com/mcp/agent-browser"><img src="https://allmcps.com/api/badge/agent-browser?style=directory" alt="Agent Browser on AllMCPs" /></a>