pilot-mcp
Fast browser automation MCP server — in-process Playwright, 58 tools, cookie import from Chrome/Arc/Brave, 41% faster than @playwright/mcp.
pilot — AI agents in your real Chrome
Install a Chrome extension. Your AI agent gets a tab in the browser you're already using.

Every other browser tool launches a new, anonymous browser. Your agent starts logged out, gets blocked by Cloudflare, can't reach anything behind auth.
Pilot is a Chrome extension + MCP server. It connects your AI agent to your real browser — same sessions, same cookies, same logins. Your agent sees what you see.
You: "Summarize my GitHub notifications"
→ New tab opens in YOUR Chrome
→ Already logged into GitHub
→ Agent reads, summarizes, done
No headless browser. No cookie hacking. No re-authentication. No bot detection.
How it works
AI Agent → MCP Server → WebSocket → Chrome Extension → Tab in your browser
(stdio) (localhost)
- Pilot runs as an MCP server — Claude Code, Cursor, or any MCP client connects via stdio
- The Chrome extension connects via WebSocket on localhost
- Your agent gets its own tab in your real Chrome — all your sessions intact
- Multiple agents get separate tabs — color-grouped so you can tell them apart
Quick Start
1. Add the MCP server
{
"mcpServers": {
"pilot": {
"command": "npx",
"args": ["-y", "pilot-mcp"]
}
}
}
2. Install the Chrome extension
npx pilot-mcp --install-extension
Opens Chrome's extensions page. Click Load unpacked → select the path shown in terminal.
3. Use it
"Go to my GitHub notifications and summarize them"
A tab opens in your Chrome — already logged in as you.
Lean snapshots
Other tools dump 50K+ chars per page into your context window. Pilot keeps things small:
Other tools: navigate(58K) → navigate(58K) → answer = 116K chars
Pilot: navigate(2K) → navigate(2K) → snapshot(9K) = 13K chars
snapshot_diff shows only what changed between actions — no redundant re-reads.
Less context = faster responses, cheaper API calls, fewer hallucinations.
Pilot vs @playwright/mcp
| Pilot | @playwright/mcp | |
|---|---|---|
| Browser | Your real Chrome (extension) | New Chromium instance |
| Auth state | Already logged in everywhere | Anonymous — manual setup |
| Bot detection | Real fingerprint — not blocked | Blocked by Cloudflare |
| Snapshot size | ~2K navigate, ~9K full | ~50-60K |
| Snapshot diff | pilot_snapshot_diff | ❌ |
| Cookie import | Chrome, Arc, Brave, Edge, Comet | Manual JSON |
| Iframes | ✅ | ❌ |
| Tool profiles | core (9) / standard (30) / full (61) | --caps groups |
| Transport | stdio | stdio, HTTP, SSE |
61 tools across 3 profiles
Most LLMs degrade past ~30 tools. Load only what you need:
| Profile | Tools | What's included |
|---|---|---|
core | 9 | navigate, snapshot, click, fill, type, press_key, wait, screenshot, snapshot_diff |
standard | 30 | Core + tabs, scroll, hover, drag, iframes, forms, links, auth, block, find, element_state |
full | 61 | Standard + network intercept, assertions, clipboard, geolocation, CDP, evaluate, PDF, responsive |
{
"mcpServers": {
"pilot": {
"command": "npx",
"args": ["-y", "pilot-mcp"],
"env": { "PILOT_PROFILE": "standard" }
}
}
}
Default: standard. Full tool reference →
Headed fallback
When the extension isn't connected, Pilot opens a visible Chromium window automatically.
Import cookies from your real browser: pilot_import_cookies({ browser: "chrome", domains: [".github.com"] })
Supports Chrome, Arc, Brave, Edge, Comet via macOS Keychain / Linux libsecret. For CAPTCHAs: pilot_handoff → you intervene → pilot_resume.
Requires: npx playwright install chromium
Requirements
- Node.js >= 18
- Chrome + Pilot extension (recommended)
- macOS or Linux
- Fallback only:
npx playwright install chromium
Security
- Extension communicates on localhost only (127.0.0.1)
- Output path validation prevents writes outside
PILOT_OUTPUT_DIR - Path traversal protection on all file operations
PILOT_PROFILEcontrols which tools are exposed (core/standard/full)
Credits
Core architecture — ref-based element selection, snapshot diffing, annotated screenshots — ported from gstack by Garry Tan. Built on Playwright and the MCP SDK.
If Pilot is useful, star the repo — it helps others find it.
Related Servers
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Nauro
Persistent project context for AI coding agents: captures decisions, rationale, and rejected paths so agents stay consistent across Claude, Cursor, Codex, and any MCP enabled platform.
PowerShell MCP Server
Automate Windows PowerShell tasks using Python. Execute scripts, manage the clipboard, and capture terminal output programmatically.
Contextful
Highly efficient context management for agentic AI: MCP code search, evidence packs, graph context, and memory for large projects.
USolver
A server for solving combinatorial, convex, integer, and non-linear optimization problems.
Unison MCP Server
An MCP server for the Unison language, allowing AI assistants to interact with the Unison Codebase Manager (UCM).
Authless Remote MCP Server
An authless remote MCP server designed for deployment on Cloudflare Workers. It can be set up locally using npm create.
MCP Code Sandbox Server
Execute code securely in isolated sandbox environments using the E2B API.
Interactive Feedback MCP
An MCP server for interactive user feedback and command execution in AI-assisted development.
Interactive Feedback MCP
Provides interactive user feedback and command execution for AI-assisted development.
OpenAI Image Generation
Generate and edit images using OpenAI's DALL-E models via the official Python SDK.