enreign avatar

Pagerunner — The Browser Layer That Learns

enreign/pagerunner

Launches a real Chrome instance via CDP and wires it to Claude through MCP stdio, exposing 38 tools for navigation, clicking, typing, screenshots, and JavaScript execution. The key hook is that it uses your actual Chrome profiles with all their cookies, saved passwords, and login sessions already intact. Includes PII anonymization to scrub personal data before sending DOM content back to the LLM, plus snapshot/restore for persisting page state across conversations. Built in Rust with stealth mode to avoid bot detection. Useful when you need Claude to interact with sites where you're already authenticated or when scraping public data without managing session state manually.

GitHub stars
3
tools
39
transport
STDIO
last updated
Apr 7, 2026

Tools

39 tools

Public tool metadata for what this MCP can expose to an agent.

list_profilesList configured Chrome profiles

List configured Chrome profiles

No parameter schema in public metadata yet.

open_sessionLaunch Chrome for a profile, returns `session_id`

Launch Chrome for a profile, returns `session_id`

No parameter schema in public metadata yet.

attach_sessionAttach to an existing Chrome instance via `--remote-debugging-port`

Attach to an existing Chrome instance via `--remote-debugging-port`

No parameter schema in public metadata yet.

close_sessionKill a Chrome session

Kill a Chrome session

No parameter schema in public metadata yet.

list_sessionsList active sessions

List active sessions

No parameter schema in public metadata yet.

list_tabsList open tabs in a session

List open tabs in a session

No parameter schema in public metadata yet.

new_tabOpen a new tab, returns `target_id`

Open a new tab, returns `target_id`

No parameter schema in public metadata yet.

close_tabClose a specific tab

Close a specific tab

No parameter schema in public metadata yet.

navigateNavigate a tab to a URL

Navigate a tab to a URL

No parameter schema in public metadata yet.

wait_forWait for a CSS selector, URL pattern, or fixed delay

Wait for a CSS selector, URL pattern, or fixed delay

No parameter schema in public metadata yet.

get_contentGet visible text content of a tab

Get visible text content of a tab

No parameter schema in public metadata yet.

screenshotCapture a tab as PNG (saved to temp file or inline base64)

Capture a tab as PNG (saved to temp file or inline base64)

No parameter schema in public metadata yet.

evaluateRun JavaScript in a tab, returns the result

Run JavaScript in a tab, returns the result

No parameter schema in public metadata yet.

clickClick an element by CSS selector

Click an element by CSS selector

No parameter schema in public metadata yet.

type_textType text at the focused element or a given selector

Type text at the focused element or a given selector

No parameter schema in public metadata yet.

fillSet input value with React/Vue/Angular synthetic events

Set input value with React/Vue/Angular synthetic events

No parameter schema in public metadata yet.

selectChoose a dropdown option by value

Choose a dropdown option by value

No parameter schema in public metadata yet.

scrollScroll the page by pixels or scroll an element into view

Scroll the page by pixels or scroll an element into view

No parameter schema in public metadata yet.

save_snapshotSave current page cookies/localStorage to the encrypted DB

Save current page cookies/localStorage to the encrypted DB

No parameter schema in public metadata yet.

restore_snapshotRestore a saved snapshot into the current tab

Restore a saved snapshot into the current tab

No parameter schema in public metadata yet.

list_snapshotsList saved snapshots (optionally across all profiles)

List saved snapshots (optionally across all profiles)

No parameter schema in public metadata yet.

delete_snapshotDelete a saved snapshot

Delete a saved snapshot

No parameter schema in public metadata yet.

save_tab_stateSave all open tab URLs to the DB

Save all open tab URLs to the DB

No parameter schema in public metadata yet.

restore_tab_stateReopen the previously saved tabs

Reopen the previously saved tabs

No parameter schema in public metadata yet.

kv_setStore a value in a persistent namespace

Store a value in a persistent namespace

No parameter schema in public metadata yet.

kv_getRetrieve a value by key

Retrieve a value by key

No parameter schema in public metadata yet.

kv_deleteDelete a key

Delete a key

No parameter schema in public metadata yet.

kv_listList keys in a namespace (with optional prefix filter)

List keys in a namespace (with optional prefix filter)

No parameter schema in public metadata yet.

kv_clearDelete all keys in a namespace

Delete all keys in a namespace

No parameter schema in public metadata yet.

get_network_logInspect HTTP requests captured in a session

Inspect HTTP requests captured in a session

No parameter schema in public metadata yet.

get_console_logCapture JavaScript console output from a tab

Capture JavaScript console output from a tab

No parameter schema in public metadata yet.

get_site_knowledgeInspect what Pagerunner has learned about a site (adapters, auth tokens, selector health)

Inspect what Pagerunner has learned about a site (adapters, auth tokens, selector health)

No parameter schema in public metadata yet.

register_adapterStore a JS adapter for direct API calls against a site

Store a JS adapter for direct API calls against a site

No parameter schema in public metadata yet.

call_site_apiExecute a stored adapter in the browser tab

Execute a stored adapter in the browser tab

No parameter schema in public metadata yet.

generate_adapterAuto-generate a JS adapter from network traffic using Claude (requires `ANTHROPIC_API_KEY`)

Auto-generate a JS adapter from network traffic using Claude (requires `ANTHROPIC_API_KEY`)

No parameter schema in public metadata yet.

save_session_checkpointSave full tab state (URLs + scroll positions) for all tabs in a session

Save full tab state (URLs + scroll positions) for all tabs in a session

No parameter schema in public metadata yet.

restore_session_checkpointReopen all saved tabs and navigate to stored URLs

Reopen all saved tabs and navigate to stored URLs

No parameter schema in public metadata yet.

list_session_checkpointsList saved checkpoints for a profile

List saved checkpoints for a profile

No parameter schema in public metadata yet.

delete_session_checkpointRemove a checkpoint by ID

Remove a checkpoint by ID

No parameter schema in public metadata yet.

Sponsors

Readme

Pagerunner

CI Release License: MIT Rust 1.91+

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


View the full README on GitHub

Details

Repository
github.com/enreign/pagerunner
Website
github.com/Enreign/pagerunner
Category
Web & Browser Automation
Package
pagerunner
Transport
STDIO
Registry
MCP registry, active

Related Web & Browser Automation MCP servers

View all
1kc23go avatarAnybrowsekc23go/anybrowseConverts any URL to clean, LLM-ready Markdown using real Chrome browsers3stars
2dwytmcl avataranysitedwytmcl/anysite-mcpAny website as MCP tools: a real Chrome signed in as you, and shortcuts the agent saves as tools.1stars
3imrrd avatarPowershell Mcpimrrd/powershell-mcpHeadless Windows ops over MCP: hidden PowerShell plus in-process SSH, WinRM and SFTP.1stars
4fieldcure avatarAssiststudio Runnerfieldcure/fieldcure-assiststudio-runnerWindows-only headless LLM task automation engine with scheduling via Windows Task Scheduler.1stars
5nikicat avatarEVM Wallet Signernikicat/mcp-wallet-signerRoute EVM transactions to browser wallets (MetaMask, etc.) for signing via EIP-69631stars
6allyburns avatarTrazo pilotallyburns/trazo-pilotFly Trazo, a browser game over the real Nazca lines, turn by turn, and post to its AI board.0stars