mcpbeat Sign in

Public Browser MCP Server

local only

Public Browser runs on your own machine — the client starts it, so there is no endpoint to ping. 149 installs a week from npm. Last commit 22 Oct 2026.

Chrome over CDP for AI agents. Blind benchmark vs agent-browser: -33% tokens, -33% cost, -32% time

Installs per day peak 177 · avg 41 · -45% w/w
a month agotoday
149
Installs / week
npm · public-browser
19
Stars
2 open issues
22 Oct 2026
Last commit
11 releases in 90 days
MIT
License
TypeScript

What the code does

We read the source, 1 d ago · rules 995398eba69f

Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

A line of code looks encrypted src/overlay/session-overlay.ts:6
  "iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAADOElEQVRYCe1Xv0/qUBQWxOcPjFGJiiEMDBIdQAdC1BD4AzRENhcdWYG4MjCZGDZGVzaYddJIICESoy7CJkZNSICYoFHkh8L7YpM+Hu3tp…
Runs an external command python/publicbrowser/client.py:239
        self._server_proc = subprocess.Popen(
    const out = execFileSync(process.execPath, [realpathSync(bin), '--version'], { encoding: 'utf8', timeout: 20_000, stdio: ['ignore', 'pipe', 'pipe'] }).trim();
Executes code built at runtime coder-parcours/server/bug-engine.mjs:18
const swMac = new Function(`${readFileSync(RUNTIME_FILE, 'utf8')}\nreturn __swMac;`)();
Long encoded blob in source src/overlay/session-overlay.ts:6
  "iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAADOElEQVRYCe1Xv0/qUBQWxOcPjFGJiiEMDBIdQAdC1BD4AzRENhcdWYG4MjCZGDZGVzaYddJIICESoy7CJkZNSICYoFHkh8L7YpM+Hu3tp…
Page executes code built at runtime test-hardest/page/index.html:853
      tbody.innerHTML = rows;
Touches key and credential files coder-parcours/harness/secrets.mjs:55
  return [...new Set([join(home, '.npmrc'), join(cpRoot, '.env'), join(cpRoot, '..', '.env'), ...(common ? [join(common, '.env')] : [])].map((f) => resolve(f)))];

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

This code can reach further than it looks

We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.

Three servers free · no card

Connect this server

This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.

run in your terminal
claude mcp add public-browser -- npx -y public-browser
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "public-browser": {
      "command": "npx",
      "args": [
        "-y",
        "public-browser"
      ]
    }
  }
}
~/.codex/config.toml
[mcp_servers.public-browser]
command = "npx"
args = ["-y", "public-browser"]
.cursor/mcp.json
{
  "mcpServers": {
    "public-browser": {
      "command": "npx",
      "args": [
        "-y",
        "public-browser"
      ]
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "public-browser": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "public-browser"
      ]
    }
  }
}

Alternatives to Public Browser

same job, measured the same way
Safari MCP
by achiya-automation

Native Safari browser automation for AI agents — 98 tools, zero Chrome overhead.

2 483 installs/wk local only
Ticket Fairy Public Events
by ticketfairy

Find public events and event links, then continue to browser checkout.

3 tools answering
Devloop
by vincentvella

Browser + dev-server logs on one correlated timeline, for Claude Code and AI agents.

742 installs/wk local only
R
Reflex
by reflexmcp

Browser automation for AI agents: compressed page snapshots, batched actions, fewer tokens.

78 installs/wk local only
Cssprobe CLI
by mack-peng

Runtime CSS probe — inspect layout, overflow, scroll chains in a real browser. For AI agents.

653 installs/wk local only
Oya Browser
by oyadotai

Real Chrome for agents: start a browser, read pages as numbered markdown, click, type, hand off.

answering
Browserbash
by pramoddutta

Plain-English browser tests for AI agents: real Chrome, deterministic verdicts. Free, no API keys.

139 installs/wk local only
keyline
by keyline-dev

Design engine for AI agents: images at every size, no Chrome, 2× fewer tokens

local only

Public Browser — questions

Answers built from our own checks of this server.

Why is there no uptime for Public Browser?
Public Browser runs on your own machine over stdio — there is no network address to reach, so uptime cannot be measured for it by anyone. What can be measured is adoption: the npm package public-browser was installed 149 times last week.
How do I connect Public Browser?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It runs locally, so the command pulls public-browser straight from npm; nothing to host, nothing to sign up for.
How many people use Public Browser?
The npm package public-browser was installed 149 times in the last week. Week over week that is -45%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is Public Browser open source?
Yes — it is published under the MIT licence, written in TypeScript, 19 stars on GitHub and 2 open issues. The source link is on this page, so you can read exactly what it does with your data before you connect it.