Pagerunner — The Browser Layer That Learns MCP server
io.github.Enreign · Updated
Real Chrome profiles with site intelligence — already logged in, PII anonymization, sessions persist
At a glance
Pagerunner — The Browser Layer That Learns is an MCP server in the Dev Tools & Git category. It runs locally over stdio via `npx -y pagerunner`, and declares no required credentials. It exposes 39 tools, including list_profiles, open_session and attach_session. It scores A (84/100) on the MCP Skills Hub health score as of Oct 28, 2026.
One-click install
Opens your editor and pre-fills the config. Your editor will ask before adding it.
How to install Pagerunner — The Browser Layer That Learns in your AI client
Setup for Claude Code, Claude Desktop, Cursor, Codex, Windsurf, Cline and VS Code — copy-paste ready.
How to install Pagerunner — The Browser Layer That Learns in Claude CodeAnthropic's agentic CLI
Add the server
bashclaude mcp add pagerunner -- npx -y pagerunnerVerify it's connected
bashclaude mcp listSharing it with your team?
Add `--scope project` to write it to .mcp.json in the repository root, which you can commit (with the secrets left as environment variables).
Use it in a session
Ask Claude to use the tools this server exposes (e.g. list_profiles, open_session, attach_session). It discovers them automatically.
How to install Pagerunner — The Browser Layer That Learns in Claude DesktopDesktop app (MCP config)
Open your MCP config
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json · Windows: %APPDATA%\Claude\claude_desktop_config.json
Add this server
json{ "mcpServers": { "pagerunner": { "command": "npx", "args": [ "-y", "pagerunner" ] } } }Restart Claude Desktop
The tools appear under the 🔌 menu once the app reloads.
How to install Pagerunner — The Browser Layer That Learns in CursorAI-first code editor
Create / edit .cursor/mcp.json in your project
json{ "mcpServers": { "pagerunner": { "command": "npx", "args": [ "-y", "pagerunner" ] } } }Enable it
Cursor Settings → MCP → toggle the server on. Tools become available to the Composer/Agent.
How to install Pagerunner — The Browser Layer That Learns in Codex CLIOpenAI coding agent
Add to ~/.codex/config.toml
toml[mcp_servers.pagerunner] command = "npx" args = ["-y", "pagerunner"]Run Codex
Codex loads MCP servers from config.toml on startup and exposes their tools to the agent.
How to install Pagerunner — The Browser Layer That Learns in WindsurfCodeium's agentic IDE
Edit ~/.codeium/windsurf/mcp_config.json
json{ "mcpServers": { "pagerunner": { "command": "npx", "args": [ "-y", "pagerunner" ] } } }Reload
Windsurf → Cascade → refresh MCP servers. Cascade can now call the tools.
How to install Pagerunner — The Browser Layer That Learns in ClineVS Code autonomous agent
Open Cline → MCP Servers → Configure
Adds to cline_mcp_settings.json.
Add the server
json{ "mcpServers": { "pagerunner": { "command": "npx", "args": [ "-y", "pagerunner" ] } } }
How to install Pagerunner — The Browser Layer That Learns in VS CodeCopilot / MCP support
Create .vscode/mcp.json
json{ "servers": { "pagerunner": { "type": "stdio", "command": "npx", "args": [ "-y", "pagerunner" ] } } }Start it
VS Code shows a ▶ Start action above the server entry. Agent mode (Copilot Chat) can then use the tools.
What tools does Pagerunner — The Browser Layer That Learns expose? (39)
Taken from the project's README — the server itself was not queried, so check its docs for the exact schemas.
- list_profilesList configured Chrome profiles
- open_sessionLaunch Chrome for a profile, returns `session_id`
- attach_sessionAttach to an existing Chrome instance via `--remote-debugging-port`
- close_sessionKill a Chrome session
- list_sessionsList active sessions
- list_tabsList open tabs in a session
- new_tabOpen a new tab, returns `target_id`
- close_tabClose a specific tab
- navigateNavigate a tab to a URL
- wait_forWait for a CSS selector, URL pattern, or fixed delay
- get_contentGet visible text content of a tab
- screenshotCapture a tab as PNG (saved to temp file or inline base64)
- evaluateRun JavaScript in a tab, returns the result
- clickClick an element by CSS selector
- type_textType text at the focused element or a given selector
- fillSet input value with React/Vue/Angular synthetic events
- selectChoose a dropdown option by value
- scrollScroll the page by pixels or scroll an element into view
- save_snapshotSave current page cookies/localStorage to the encrypted DB
- restore_snapshotRestore a saved snapshot into the current tab
- list_snapshotsList saved snapshots (optionally across all profiles)
- delete_snapshotDelete a saved snapshot
- save_tab_stateSave all open tab URLs to the DB
- restore_tab_stateReopen the previously saved tabs
- kv_setStore a value in a persistent namespace
- kv_getRetrieve a value by key
- kv_deleteDelete a key
- kv_listList keys in a namespace (with optional prefix filter)
- kv_clearDelete all keys in a namespace
- get_network_logInspect HTTP requests captured in a session
- get_console_logCapture JavaScript console output from a tab
- get_site_knowledgeInspect what Pagerunner has learned about a site (adapters, auth tokens, selector health)
- register_adapterStore a JS adapter for direct API calls against a site
- call_site_apiExecute a stored adapter in the browser tab
- generate_adapterAuto-generate a JS adapter from network traffic using Claude (requires `ANTHROPIC_API_KEY`)
- save_session_checkpointSave full tab state (URLs + scroll positions) for all tabs in a session
- restore_session_checkpointReopen all saved tabs and navigate to stored URLs
- list_session_checkpointsList saved checkpoints for a profile
- delete_session_checkpointRemove a checkpoint by ID
What the code can do
Read from the published package source — never executed. Parsed 2 of 2 source files.
This server can run other programs on your machine, read and write files and make network requests.
How it was published
- Runs postinstall on install — this executes when you install the package, before you deliberately run anything.
- No provenance attestation — there is nothing linking this published artifact to a specific source commit.
- 1 npm maintainer — a single point of compromise · last published by enreign.
Maintainer of this package and think something here is wrong? Tell us and we'll correct it.
Before you install
Signals gathered from the source repo and package registry — not a safety verdict.
What it can reach
- Runs code on your machine — Executes as a local process with your user's permissions, including filesystem access.
- Downloads at launch — The package is fetched from its registry each run unless you pin a version.
- Last commit 11 days ago — Actively maintained.
- 3 GitHub stars — Very little community usage so far.
Client compatibility
Health score
A · 84Maintenance, adoption, transparency and packaging — not a safety audit. How this is calculated
- Maintenance30%100%
Last commit 11 days ago.
- Adoption20%18%
3 stars.
- Transparency20%100%
4/4: ✓ public source repo, ✓ declared license, ✓ documentation, ✓ discoverable tool list.
- Provenance15%100%
Package and registry entry point at the same repository.
- Packaging15%100%
Publishes a pinned version (0.8.0).
Documentation
Full READMEPagerunner
A Chrome browser automation MCP server. Connect Claude (or any MCP client) to a real Chrome session — using your existing profiles with their cookies, saved passwords, and history.
[!WARNING] Pagerunner is early-stage software (v0.x). APIs and configuration formats may change between releases.
Contents
- How it works
- Setup
- Using with your project
- Tools
- Site Intelligence
- Session Checkpoints
- macOS Menu Bar App
- Anonymization (PII protection)
- Stealth mode
- Daemon (multiple Claude Code sessions / persistent state)
- Snapshots
- Example session
- Legal & Responsible Use
How it works
Pagerunner launches Chrome with your existing user profile via CDP (Chrome DevTools Protocol) and exposes it as an MCP server over stdin/stdout. Claude can then navigate, click, type, screenshot, and run JavaScript in the live browser.
Setup
1. Install
# Option A — Homebrew (easiest on macOS/Linux):
brew tap enreign/pagerunner
brew install pagerunner
# Option B — Cargo (if you have Rust):
cargo install pagerunner
# Note: if you get "requires rustc 1.91+" despite having a newer Rust installed,
# Homebrew's Rust may be shadowing rustup's. Fix: export PATH="$HOME/.cargo/bin:$PATH"
# Option C — Pre-built binary (no dependencies):
# macOS arm64 (Apple Silicon):
curl -L https://github.com/Enreign/pagerunner/releases/latest/download/pagerunner-macos-arm64 \
-o pagerunner && chmod +x pagerunner
# macOS x86_64 (Intel):
curl -L https://github.com/Enreign/pagerunner/releases/latest/download/pagerunner-macos-x86_64 \
-o pagerunner && chmod +x pagerunner
# Linux x86_64:
curl -L https://github.com/Enreign/pagerunner/releases/latest/download/pagerunner-linux-x86_64 \
-o pagerunner && chmod +x pagerunner
# macOS: if Gatekeeper blocks the binary on first run:
xattr -d com.apple.quarantine pagerunner
# Option B — install via cargo (requires Rust):
cargo install --git https://github.com/Enreign/pagerunner --locked
# Option C — build locally:
cargo build --release2. Auto-detect Chrome profiles
pagerunner initThis reads Chrome's profile list and writes ~/.pagerunner/config.toml automatically. Run pagerunner status to verify.
Alternatively, write ~/.pagerunner/config.toml by hand — see pagerunner example-config for the format.
Excerpt — the full document is on GitHub.
Alternatives to Pagerunner — The Browser Layer That Learns
- playwright-mcp-serverC · 40Headless browser primitives for AI agents when sites need real JS rendering.
- agbrowserD · 33Browser sessions for agents: navigate, interact, read and screenshot. Pay in stablecoins.
- Yab, Yet Another BrowserA · 87Your own signed-in Mac browser for any agent: open, read and act in tabs. Local and free.
- crawlio-browserA · 85Bridge a live Chrome browser to your agent: 150 tools for capture, extraction, and observation.
Maintain Pagerunner — The Browser Layer That Learns? Add a badge to your README
Shows its health grade, and links readers to install steps for every client.
[](https://mcp-skills-hub.vercel.app/mcps/io-github-enreign-pagerunner)Catalog data refreshed . Something wrong? Report it.