← Discover MCPs and Agents
P
MCPAI & MLGitHub

PilotBrowseMCP

A browser runtime that lets AI agents control your real Chrome browser via MCP. Agents can explore websites, generate operation manuals, and reuse them to save tokens. AI操控你的真实浏览器。

Links

README

From the repo.

Pilot Browse MCP

中文

MCP toolset + website capability learner for the browser. Agent autonomously explores websites and builds understanding manuals.


Showcase (Pi Demo)

Capability Learning

Install a skill. As the agent interacts with a website, it automatically discovers APIs and binds them with browser workflows into reusable capabilities.

Agent Explore

Learning output is saved in website-manuals/:

website-manuals/<site>/
  README.md              # Root index
  pages/                 # Page interaction models
  navigation/            # Navigation paths
  workflows/
    README.md            # Workflow index
    flows/               # Workflow JSON files
    scripts/             # PAB automation scripts (.pab files)
  apis/
    README.md            # API index (browse first)
    endpoints/           # API JSON files

Guided Teaching

(Using Bilibili as demo site)

Stuck on complex interactions? Record or mark elements manually to help the agent learn.

Mark Element

Mark Element

Record Workflow

Record Workflow

Manual Reuse

Based on the exploration manual, the agent can quickly understand websites and complete tasks faster.

Two no-LLM modes are also supported:

  • .pab scripts for automation tasks -- capabilities match the agent's MCP tools
  • Python/other scripts for specialized data collection tasks

Demos

Build various workflows, simple demo showcase.

Automation Operations

Agent: Qidian Novel Saver

Search a novel, save the first 5 chapters.


.pab Script: Bilibili Open 3 Trending Videos and Comment
Bilibili open trending videos and comment

Python Script Generation

Generate various scripts based on the exploration manual.

For example, a novel scraper script:

I used Pilot to analyze the novel website structure, chapter API, generated scraping scripts, built Docker images, deployed 9 containers on NAS, and crawled over 4000 novels in 2 days.

PaImage


Install

# Build
cd server && npm install && npm run build
cd extension && npm install && npm run build

# Load extension
# chrome://extensions/ -> Developer mode -> Load unpacked -> extension/dist/

# Start server
cd server && node dist/index.js

MCP Configuration

Example - fill args with the actual path to server/dist/index.js:

{
  "mcpServers": {
    "browser-mcp": {
      "command": "node",
      "args": ["/path/to/server/dist/index.js"]
    }
  }
}

Skills

Check scripts/Skill for available skills.

Quick Start with Examples

Refer to agent-examples/ for ready-to-use agent workspace examples. Run your agent in one of those directories and it will automatically load the MCP config, skills, and project prompts. (Remember to update the MCP path to your actual setup.)


Architecture

AI Agent (Claude Code / Pi / Codex)
    |
    | 1) MCP stdio protocol (JSON-RPC)
    | stdin / stdout
    v
MCP Server (Node.js)          protocol translator
    |
    | 2) WebSocket :9456
    v
Chrome Extension
    |
    | 3) Chrome API
    |
    v
Browser

Features

  • 62 MCP tools -- tab management, content extraction, DOM operations, network interception, file saving, workflow recording, script automation, SQL injection detection, JS reverse
  • PAB scripting -- Python-like DSL for browser automation with if/for/fn support. Run from popup, no LLM needed
  • Element picker -- click any element on the page and tell the agent what it is
  • Workflow recording -- demonstrate operations to the agent, it learns and reuses
  • Network API toolkit -- monitor, search, inspect, replay with overrides, export code, and analyze site API structure
  • Token-efficient saving -- save page content directly to disk, bypassing the LLM
  • Shadow DOM + contenteditable

Tools

CategoryToolWhat it does
Pagebrowser_get_markdownConvert page to clean Markdown via Readability + Turndown
browser_get_textGet plain text of the page (lighter than get_html)
browser_get_htmlGet raw HTML of the page (heavy, last resort)
browser_findFind element by visible text, aria-label, or role
browser_current_pageGet current tab URL and title
browser_inspect_pageSee page structure (headings, sections, buttons)
browser_queryQuery elements by CSS selector (penetrates Shadow DOM)
browser_evaluateExecute JS in page context
browser_extract_articleExtract article metadata (title, author, date, body)
browser_extract_tableExtract HTML table as JSON array
browser_extract_linksExtract all links from the page
browser_extract_imagesExtract image info (src, alt, size)
Actionsbrowser_clickClick an element (composed:true for Shadow DOM)
browser_typeType text into input or contenteditable
browser_scrollScroll the page
browser_waitWait for a given number of milliseconds
browser_wait_for_elementWait for an element to appear
Savingbrowser_save_contentAuto-detect main content and save to file (zero LLM tokens)
browser_save_xpathExtract by XPath and save to file
Networkbrowser_start_network_monitorStart intercepting requests
browser_stop_network_monitorStop monitoring (cache preserved for replay)
browser_network_clear_cacheClear cached requests without stopping monitoring
browser_network_searchSearch cached requests by keyword, method, status
browser_network_detailGet full details of a cached request (headers, body, timing)
browser_network_waitWait for a matching request after an action (replaces fixed delay)
browser_network_replayReplay with overrides (query/headers/body) + extract JSON path
browser_network_exportExport request as curl / fetch / Python / HAR
browser_network_analyzeAnalyze API structure of a site from cached requests
browser_network_overrideSet response override rules (body, status, headers)
Tabsbrowser_list_tabsList all open tabs
browser_open / close / activateTab management
Recordingworkflow_list_recordingsView recordings from popup
workflow_get_recordingGet recording details
workflow_list_elementsView marked elements
workflow_get_elementGet marked element details
workflow_listList processed workflows in website-manuals
workflow_add_elementSave a user-marked element to pages/
workflow_generateSave a processed workflow to website-manuals
workflow_generate_scriptGenerate an MCP automation script
workflow_execute_scriptExecute an MCP automation script
Databrowser_cookiesRead cookies (requires permission)
browser_local_storageRead LocalStorage (requires permission)
browser_screenshotTake screenshot (requires permission)
browser_permissions_list / grant / revokePermission management
Securitysql_injection_list_findingsList security findings (with status)
sql_injection_get_findingGet details of a single finding
sql_injection_scanActively scan for SQL injection (browser-context replay)
sql_injection_stopStop scanning
sql_injection_update_findingAdvance finding status (confirm/fix/false positive)
sql_injection_generate_scriptGenerate a security-check.pab re-check script
sql_injection_requestCustom SQL payload probe + auto verdict/extract
JS Reversejs_extractCollect page JS files
js_analyzeAST analysis: endpoints/functions/crypto/signatures
js_find_functionLocate a function (name/calls/crypto/callers)
js_trace_requestAssociate request params with JS generator functions
js_capability_queryQuery learned capability models
js_reverseFull reverse + save js/ + capabilities/ report

License

MIT

Collected info

  • 102 stars
  • 4 forks
  • Language: TypeScript
  • Source updated: 9/17/2026

Config for your environment

Replace {MCP_ENDPOINT_URL} with this MCP’s endpoint URL (from its repo or docs above). No API key — you connect directly.

Tool

OS

Config file: ~/.cursor/mcp.json

{
  "mcpServers": {
    "mcp-server": {
      "url": "{MCP_ENDPOINT_URL}"
    }
  }
}

Paste into mcpServers in the config file. Restart Cursor after saving.

If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.