BrowserOS neo

A separate desktop Chromium browser that AI agents drive through a local MCP endpoint, signed in as you

Official · BrowserOS TypeScript Local · Streamable HTTP Browser automation

89 popularity score ★ 14k ↓ 482/wk

Connect your client

Local (once it is running)

Add in one click

Opens the app, which asks before it adds the server.

Or add it by command or config

Claude CodeTerminal
claude mcp add --transport http browseros-neo http://127.0.0.1:9200/mcp
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "browseros-neo": {
      "url": "http://127.0.0.1:9200/mcp"
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "browseros-neo": {
      "type": "http",
      "url": "http://127.0.0.1:9200/mcp"
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.browseros-neo]
url = "http://127.0.0.1:9200/mcp"
Gemini CLITerminal
gemini mcp add --scope user --transport http browseros-neo http://127.0.0.1:9200/mcp

What it does

BrowserOS neo is a desktop browser built on Chromium for AI agents to use, kept apart from your everyday Chrome. Once it is installed and running, it serves an MCP endpoint on your own computer (http://127.0.0.1:9200/mcp by default). Claude Code, Codex, Cursor, VS Code, Zed, OpenCode, Antigravity and other MCP clients connect to that address and control the browser through it.

The main difference from headless tools such as Playwright is that the agent works inside a browser that is already logged in. One click copies logins, bookmarks and extensions over from Chrome, and they stay between sessions. Each agent gets its own tab, so several tasks can run in parallel. A new-tab dashboard shows what each agent is doing, and every session is saved to disk as a video with a step-by-step timeline you can replay.

The tools work page by page. An agent takes an accessibility-tree snapshot, acts on elements by reference, and gets back a diff of what changed. It can also read pages as markdown, search them, take screenshots and PDFs, handle downloads and uploads, and manage tabs, tab groups, windows and history. A run tool executes a short script in a sandbox to string many steps together. When the agent hits something only a person can do, such as a captcha, a one-time code or a sign-in, it can ask the user for help.

The same repository also ships the original BrowserOS, a Chromium fork for people that has its own built-in agent and its own MCP endpoint, with a larger set of tools. This page covers neo, which is the product the README leads with.

What it needs

You need the BrowserOS neo desktop app installed and running: Homebrew cask browseros-neo or a direct download for macOS, Windows, or Linux x64 (AppImage or DEB). You also need an MCP client that can connect to a streamable HTTP URL. Clients on the one-click list are set up from the app's MCP page. Claude Desktop uses a one-file extension. Any other client takes the endpoint URL by hand.

Limits

The endpoint only works while the app is running and listens only on 127.0.0.1, so remote agents need a tunnel. One run script is capped at 30 seconds of wall-clock time. The skill file advises about five new page loads per run and no more than five agent tabs at once unless the user asks for more. Element references go stale when the page changes, so the agent has to take a new snapshot. It does not replace Chrome. It is a second browser that runs alongside it.

Who it suits

BrowserOS neo suits people who want their coding agent to do web tasks that need their real accounts, such as email, social posts, CRMs or internal tools, from their own machine and IP address, with a replay of each session. If you need throwaway headless browsers for CI or test runs, a Playwright-style driver fits better; the README itself says neo is not meant for that. It also does not suit agents on a server with no desktop, because the browser has to run as a desktop app.

Tools 20

tabs
List, open, switch between and close browser tabs
tab_groups
Create and manage groups of tabs
history
Look up and manage the browsing history
navigate
Load a URL in a tab, or go back, forward or reload
snapshot
Return the page as an accessibility tree with references to its elements
diff
Show what changed on the page since the last look
act
Click, type or fill elements by reference, including whole forms at once
download
Save files linked from a page
upload
Attach local files to a page's file inputs
read
Extract page content as markdown
grep
Search a page's text without returning the whole page
screenshot
Capture an image of the page
pdf
Save the page as a PDF
wait
Wait until a given text or selector appears
windows
Open, close and arrange browser windows
evaluate
Run JavaScript inside the page
run
Run a sandboxed script that chains many browser steps in one call, up to 30 seconds
name_session
Label the agent's session with a name, category and summary for the dashboard
request_human_help
Ask the user to step in for a sign-in, code, captcha or approval
await_human_help
Keep waiting for the user to finish a requested hand-off

Similar servers