Content
<div align="center">
# AI Browser MCP Server
### Any AI Agent · One-sentence Control of Windows Real Browser
**Standard MCP Protocol** · **217 Tools Fully Open** · **FBrowser CEF Real Browser** · **Local `127.0.0.1:9222`** · **MIT Open Source**
*Any MCP agent — Cursor, Claude Desktop, Cline, OpenCode, or your own LLM app · Download and go*
[](https://github.com/AI-XiaoDao/ai-browser-mcp/releases/tag/v2.6.0)
[](LICENSE)
[](https://github.com/AI-XiaoDao/ai-browser-mcp/releases)
[](https://github.com/AI-XiaoDao/ai-browser-mcp/actions/workflows/validate.yml)
[](CEFbro/AI浏览器/skills/AI浏览器MCP.md)
[]()
[]()
[⚡ 3 Steps to Get Started](#-3-steps-to-get-started) · [Powerful Extension](#-powerful-extension-capabilities) · [One-sentence Scenario](#-typical-scenario-one-sentence-automatic-execution) · [Download](#-download-and-run-the-finished-product) · [Core Advantages](#-core-advantages-full-scene) · [Documentation](#-documentation) · [Forum Post CN](FORUM_POSTS.md) · [Forum EN](FORUM_POSTS_EN.md) · [Open Source Announcement](OPEN_SOURCE.md) · [English](OPEN_SOURCE_EN.md)
</div>
---
## ✨ What is This?
Run **AI Browser.exe** on Windows, exposing **Model Context Protocol (MCP)** service locally. **Not limited to Cursor** — any AI agent supporting MCP (Claude Desktop, Cline, OpenCode, self-developed Agent, etc.) or **HTTP/WebSocket scripts** can call **217** `browser_*` tools. Say a sentence, and the Agent automatically chains and executes without writing Playwright.
| Access Method | Applicable |
|----------|------|
| **stdio MCP** | Cursor, Claude Desktop, Cline, etc. — use [`mcp_bridge.js`](CEFbro/AI浏览器/mcp_bridge.js) for bridging |
| **HTTP POST** | Any language / self-developed Agent — `POST http://127.0.0.1:9222/mcp` |
| **WebSocket** | Long connection JSON-RPC — `ws://127.0.0.1:9222` |
| One-sentence Scenario | Example |
|------------|------|
| **Data Collection** | 「Scroll product list, collect title and price JSON」 |
| **Reverse Algorithm** | 「Scan POST, mark suspicious encryption fields」(Hook to catch body) |
| **Positioning Algorithm** | 「Breakpoint to sign function, give source code snippet」(CDP debugger) |
| **Automatic Form Filling** | 「Login background, export order table」 |
| **Solidification and Reuse** | 「Save as workflow JSON, run with one click next time」 |
---
## ⚡ 3 Steps to Get Started
1. **Download** [`AI-Browser-MCP-x64-v2.6.0.zip`](https://github.com/AI-XiaoDao/ai-browser-mcp/releases/download/v2.6.0/AI-Browser-MCP-x64-v2.6.0.zip)(~157MB)→ Extract → Double-click **`AI Browser.exe`**
2. **Confirm** browser opens [`http://127.0.0.1:9222/health`](http://127.0.0.1:9222/health) → `"status":"ok"`
3. **Connect AI Agent** — Cursor / Claude / any MCP client (see configuration below) → Say to Agent: **「Scroll list, collect title and price as JSON」**
<details>
<summary><b>Cursor / Claude Desktop Configuration(stdio MCP, click to expand)</b></summary>
```json
{
"mcpServers": {
"ai-browser": {
"command": "node",
"args": ["CEFbro/AI浏览器/mcp_bridge.js"],
"env": {
"AI_BROWSER_MCP_HTTP_POST": "http://127.0.0.1:9222/mcp"
}
}
}
}
```
Release extraction directory, please change `args` to the local `mcp_bridge.js` path. Self-test: `node mcp_bridge.js --check`
**Other Agents**: Any client implementing MCP, as long as pointing to `http://127.0.0.1:9222/mcp` (HTTP) or configuring `mcp_bridge.js` (stdio), or using Node / Python to directly `POST` JSON-RPC.
</details>
→ Complete steps see below [🚀 Quick Start(Detailed)](#-quick-start-detailed)
> **🎁 GitHub Release Download and Use**: [`AI-Browser-MCP-x64-*.zip`](https://github.com/AI-XiaoDao/ai-browser-mcp/releases) includes **all 217 tools** (screenshot, CDP debugger, fingerprint, network interception, workflow, etc.), extract and run directly, **no additional configuration required**.
```mermaid
flowchart LR
subgraph clients [AI Agent / MCP Client]
IDE[Cursor / Claude / Cline …]
Agent[Self-developed Agent / LLM Application]
Script[HTTP / WS Script]
end
Bridge[mcp_bridge.js\nOptional stdio bridge]
MCP[MCP Server\nHTTP + WebSocket]
CEF[FBrowser CEF\nReal Browser]
IDE --> Bridge --> MCP --> CEF
Agent --> MCP
Script --> MCP
```
---
## 🔌 Powerful Extension Capabilities
Not just a browser remote control terminal — comes with **Agent orchestration layer** and **secondary development** ecosystem:
| Extension | What can it do |
|------|----------|
| **217 MCP Tools** | Navigation / Form filling / DOM / JS / Network / Screenshot / CDP / Debugger / Fingerprint … 24 categories, [complete reference](CEFbro/AI浏览器/skills/AI浏览器MCP.md) |
| **sync-wait + batch** | Same call and result; one request chains multiple tools, saving tokens and reducing rounds |
| **Workflow JSON** | `workflows/*.json` multi-step orchestration, `workflow_run` one-click re-run, version management |
| **Event Hook** | Lifecycle / Network / Resource / Pop-up … extensible Hook, supporting persist injection |
| **Scenario Script** | [`scenarios/`](CEFbro/AI浏览器/scenarios/) reverse scanning, Hook testing, breakpoint recovery, and other ready-made examples — [actual screenshot](.github/demo-douyin-post-scan.png) |
| **Skill Book + Testing** | [`skills/`](CEFbro/AI浏览器/skills/) Agent knowledge base; [`run_all_tests.js`](CEFbro/AI浏览器/run_all_tests.js) full regression |
| **HTTP / WebSocket / stdio** | Any AI agent or self-developed program access; [`mcp_bridge.js`](CEFbro/AI浏览器/mcp_bridge.js) bridges IDE |
| **Welcome Page + Online Documentation** | `9222` health check, tool search, copy MCP configuration, browse [`docs/`](CEFbro/AI浏览器/docs/) |
| **MIT Source Code** | 11 `.wsv` modules (~20,000 lines) welcome PR — modify [`src/`](CEFbro/AI浏览器/src/) to extend new tools |
<details>
<summary><b>Secondary Development / Custom Compilation(click to expand)</b></summary>
- **Modify MCP Logic**: Edit `CEFbro/AI浏览器/src/*.wsv`, see [CONTRIBUTING.md](CONTRIBUTING.md)
- **Volcano Compilation**: Open `AI浏览器.vprj` → Release x64; C++ reference see [`generated-cpp/`](CEFbro/AI浏览器/generated-cpp/)
</details>
---
## 🌟 Core Advantages(Full Scene)
### For AI Users — Why Choose It?
| Advantages | Description |
|------|------|
| **Natural Language Drive** | In any MCP AI agent, say requirements, Agent automatically selects tools, no need to write Playwright/Puppeteer scripts from scratch |
| **217 Open-box Tools** | Navigation, form filling, read DOM, execute JS, network observation, workflow, CDP breakpoint, etc., covering common automation scenarios |
| **Real Browser Window** | Based on **FBrowser CEF** kernel, non-pure headless simulation, page behavior closer to user daily browsing |
| **sync-wait Intelligent Synchronization** | Common read operations default to wait for results within the same call, Agent orchestration simpler, less polling |
| **Workflow JSON** | Multi-step tasks written as JSON, one-click `workflow_run`, version management, shareable |
| **batch Batch Call** | One request chains multiple tools, reduces back-and-forth, lowers token consumption |
| **Welcome Page Console** | `http://127.0.0.1:9222/` check health status, browse documentation, copy MCP client configuration |
| **One-sentence Automatic Execution** | Say requirements: Agent automatically selects tool chain (navigation → Hook → read network → breakpoint → export), entire process MCP driven |
### Typical Scenario · One-sentence Automatic Execution {#what-can-one-sentence-do}
No need to write scripts, no need to remember 217 tool names. In **any AI agent** (Cursor, Claude, self-developed MCP client, etc.), use natural language to describe the goal, and the Agent will automatically combine `browser_*` / `workflow_*` / debugger according to the scenario and **sync-wait** for results before deciding the next step.
#### Scenario Quick Check
| # | Scenario | One-sentence Example | Main Tools |
|:-:|------|------------|----------|
| ① | **Data Collection** | 「Scroll list, collect title and price JSON」 | `dom_query` / `collect` / `evaluate` |
| ② | **Reverse Analysis** | 「Scan POST, mark suspicious encryption fields」 | `reverse_prepare` / `inject` / `network` |
| ③ | **Positioning Algorithm** | 「Breakpoint to sign function, give source code」 | `debugger_*` |
| ④ | **Automatic Form Filling** | 「Login background, export order table」 | `fill_*` / `workflow_run` |
| ⑤ | **Workflow Reuse** | 「Save as JSON, run with one click next time」 | `workflow_*` |
#### Before vs. Now
| Task | Traditional Approach(Playwright, etc.) | AI Browser MCP |
|------|---------------------------|--------------|
| Collect Product List | Write selector + scroll loop + parse + save file | To Agent: **「Scroll and collect title and price JSON」** → Automatically adjust MCP |
| Find POST Encryption Field | Open DevTools → Manual Hook → Compare fields | **「Scan POST and mark encryption fields」** → `inject` + network comparison |
| Find sign Function | Search source code → Manual breakpoint → Follow stack | **「Breakpoint to sign function, give source code」** → `debugger_*` orchestration |
| Fixed Report | Maintain cron + script version | **Workflow JSON** + one sentence `workflow_run` |
#### ① Data Collection — 「Help me collect data from this page」
| You Say | AI Usually Does |
|------|-------------|
| 「Open a certain e-commerce list page, scroll to load, collect product name, price, and sales as JSON」 | `browser_navigate` → `browser_evaluate` scroll → `browser_dom_query` / `browser_collect` → organize output |
| 「Log in and enter the order page, export each row of the table」 | Fill in form login → wait for DOM → loop read cell → structured return |
| 「盯着这个接口,把返回 JSON 里的 list 字段提出来」 | `browser_network` / `browser_collect` → filter URL → parse response |
**Related Tools**: `browser_dom_query`, `browser_collect`, `browser_network`, `browser_evaluate`, `workflow_run` (multi-page can be written as workflow JSON reuse).
#### ② Reverse Algorithm — 「Help me find which field is encrypted in POST」
| You Say | AI Usually Does |
|------|-------------|
| 「Open Douyin, scan XHR/fetch's POST, mark suspicious encryption fields」 | `browser_reverse_prepare` → `browser_inject` persistent Hook → trigger request → field comparison heuristic |
| 「Grab the request body and response when this form is submitted」 | Open network details → fill in form submission → `browser_network` / resource interception read body |
| 「Hook console, record the sign parameter printed on the page」 | `browser_console_enable` → operate on the page → `browser_console_get` |
**Key Points**: MCP network layer **does not record POST body by default**, must **persist Hook** (`browser_inject`) or resource interception. Refer to [`douyin_xhr_encrypt_scan.js`](CEFbro/AI浏览器/scenarios/douyin_xhr_encrypt_scan.js) and [`场景与Hook测试.md`](CEFbro/AI浏览器/skills/场景与Hook测试.md).
#### ③ Positioning Algorithm — 「Help me locate the signature algorithm in which JS function」
| You Say | AI Usually Does |
|------|-------------|
| 「Set a breakpoint at the submit button, step to the sign calculation function」 | `browser_debugger_enable` → set DOM/XHR breakpoint → `debugger_step` / `debugger_stack` |
| 「List all scripts, search for functions containing md5/sign and set breakpoints there」 | CDP script enumeration → `debugger_set_breakpoint` → trigger request → read stack and local variables |
| 「Give me the call stack and source code snippet when the breakpoint is hit」 | `debugger_stack` + `debugger_script_source` → mark function name and line number |
**Related Tools**: `browser_debugger_*` breakpoint/step/stack/source code flow orchestration (Release product has been opened); cooperate with `browser_evaluate` to detect encryption objects on the `window`.
#### ④ Automatic Form Filling / Simple RPA — 「Help me fill out this form and submit it」
| You Say | AI Usually Does |
|------|-------------|
| 「Open background, admin username, xxx password, click login」 | `browser_navigate` → `browser_fill_*` → `browser_fill_click` → wait for jump |
| 「Put these 10 rows from Excel into the page one by one」 | Read your provided table → loop fill form → report which row fails semantically |
| 「Daily fixed: open a page → click export → wait for download completion」 | Can be solidified into `workflows/*.json`, then one sentence `workflow_run` |
**Related Tools**: `browser_fill_click`, `browser_fill_set_value`, `browser_fill_select`, `workflow_run`.
#### ⑤ Solidification and Reuse — 「Save this process as a workflow and run with one click next time」
Multi-step tasks (login → page collection → export) can be written as JSON and stored in `workflows/`, Agent or script calls `workflow_list` / `workflow_get` / `workflow_run` to repeat execution, suitable for **timed collection**, **regression testing**, **demonstration reproduction**.
#### How to run Agent with one sentence?
```mermaid
flowchart TB
U[You say one sentence in AI agent] --> A[Agent understands the target scene]
A --> T{Select tool chain}
T -->|Collect| C1[navigate → scroll → dom_query / collect]
T -->|Reverse| C2[reverse_prepare → inject Hook → network]
T -->|Locate| C3[debugger_enable → breakpoint → stack]
T -->|Fill form| C4[fill_* → click → wait for DOM]
C1 --> W[sync-wait for each step result]
C2 --> W
C3 --> W
C4 --> W
W --> R{Success?}
R -->|No| A
R -->|Yes| O[Organize JSON / table / source code fragment and return to you]
```
#### Walkthrough: Complete path of collecting one sentence
**You say:**
```
Open https://example.com/products, scroll down 2 screens, and collect the title and price of each product into a JSON array.
```
**Agent internally does:**
1. `browser_navigate` → sync-wait for page loading
2. `browser_evaluate` executes `window.scrollBy` or click "Load more"
3. `browser_dom_query` or `browser_collect` reads list nodes
4. If a selector is empty → receives `success:false`, automatically changes the selector or reports the reason
5. Organizes the result into a JSON text reply (you can say "export CSV" again)
**Reverse / Locate** similarly: You say the goal, and the Agent loops between Hook, network, breakpoint, and stack until it provides a "suspected encrypted field list" or "sign function source code fragment".
#### Walkthrough: Complete path of reversing one sentence
**You say:**
```
Open https://www.douyin.com, scan XHR/fetch's POST, and mark the suspected encrypted fields with explanations.
```
**Agent internally does:**
1. `browser_reverse_prepare` — enable network details + console, return reverse guidance
2. `browser_inject` — inject persist Hook to intercept `XMLHttpRequest.send` / `fetch`
3. `browser_navigate` or wait for you to manually trigger page operations
4. `browser_network` / read Hook callback — compare POST field names and value forms (long hex, irregular base64, etc.)
5. Output "suspected field list + basis"; if necessary, suggest running `douyin_xhr_encrypt_scan.js` for comparison
**Actual effect** (Cursor + Agent triggered with one sentence, automatically inject Hook, scroll trigger request, analyze 33 POST requests):

#### Walkthrough: Complete path of locating one sentence
**You say:**
```
Set a breakpoint on the submit event of this login page, follow up to the JS function that calculates sign, and provide the function name and source code fragment.
```
**Agent internally does:**
1. `browser_debugger_enable` — enable CDP debugger
2. `browser_navigate` to the target page
3. `debugger_set_breakpoint` — pause at the submit event or XHR sending
4. You or AI trigger submit → `debugger_stack` + `debugger_script_source`
5. `debugger_step` single step until entering the sign calculation function → return function name, line number, and source code fragment
If the breakpoint is not hit: let AI change the breakpoint to `fetch` sending or use `browser_evaluate` to search for the sign-related object on `window`.
#### Dialogue examples (copy to AI agent dialogue)
```
Help me collect the title and price of the first 3 pages of products on https://example.com/products into a JSON array.
Open https://www.douyin.com, find the suspected encrypted fields in the POST request, and explain the basis.
Set a breakpoint on the submit event of this login page, locate the JS function that calculates password/sign, and provide the function name and source code fragment.
Log in to the background with the account test / password 123456, enter the "order list", and export the first 20 rows into a table.
Write a workflow JSON that "opens a station → logs in → flips 3 pages to collect → summarizes JSON", save it to workflows/ and run it once for verification.
```
### Protocol and Integration — Easy to access and widely used
| Advantages | Description |
|------|------|
| **Standard MCP** | Implement Model Context Protocol — **Cursor / Claude / Cline / OpenCode / self-developed Agent** and other arbitrary MCP clients |
| **Dual-channel JSON-RPC** | **WebSocket** long connection + **HTTP POST** `/mcp`, scripts and IDEs can be connected |
| **stdio bridge (optional)** | `mcp_bridge.js`: stdio ↔ HTTP, for IDE-like clients; the repository comes with a `.mcp.json` example |
| **Full-endpoint CORS** | HTTP interfaces all bring CORS, and front-end pages can directly `fetch` MCP |
| **CDP native exposure** | `ws://127.0.0.1:9222/devtools/browser/{id}`, can connect to the Chrome DevTools ecosystem |
| **Environment variable self-registration** | Automatically set `AI_BROWSER_MCP_URL` / `PORT` / `HEALTH` after startup, and clients automatically discover |
| **Online document service** | Compiled `linker/docs/` can be read directly through `9222`, no need to flip the repository |
### Browser capabilities — 217 tools divided into domains
| Domain | Capability summary |
|----|----------|
| Navigation and page | Open / back / refresh, multi-frame, title / URL |
| DOM / fill form | Query / click / set value, FBrowser official fill form API |
| JS execution | `evaluate`, console script |
| Network | Request list, `collect` collection |
| Mouse keyboard / edit | Basic input and editing operations |
| Cookie / cache / proxy | Session and environment control |
| Workflow | `workflow_list/get/run/stop` |
| Screenshot / PDF / download | Page retention and file |
| Network interception / CDP | Packet modification, protocol-level control |
| Fingerprint / kernel switch | Anti-detection, UA / Canvas / WebGL, etc. |
| Debugger | Breakpoint, single step, stack, script source code, flow orchestration |
| DevTools / window | Developer tools, window and system-level control |
> See the complete tool list in [`AI浏览器MCP.md`](CEFbro/AI浏览器/skills/AI浏览器MCP.md) (217 tools · 24 categories).
### Engineering and experience — Designed for Agent
| Advantages | Description |
|------|------|
| **Semantic failure detection** | Element not found, `{ok:false}` and other returns `success:false`, avoid AI misjudgment |
| **Async task ID** | `task_<milliseconds>_<salt>_<count>`, can track long tasks, `mcp_result` to retrieve results |
| **Event Hook system** | Browser lifecycle, network, callback, and other extensible Hook |
| **Dual-channel resource interception** | Kernel API + event Hook collaboration, support network observation and packet modification |
| **Configurable timeout / log** | `mcp_config.json` to adjust rate, network log, response cache, etc. |
| **Full test script** | `run_all_tests.js` to verify MCP tools in sequence, convenient for regression |
| **Tray resident** | After closing the main window, MCP still runs in the tray, suitable for long-term Agent tasks |
### Security and local priority
| Advantages | Description |
|------|------|
| **Default local binding** | Service listens to `127.0.0.1:9222`, not exposed to the public network, suitable for local Agent |
| **Data does not leave the local machine** | Browser and MCP run on the same machine, page data is controlled by you |
| **MIT open-source and auditable** | `.wsv` authoritative source code + `generated-cpp/` comparison, protocol and behavior transparent |
### Open-source and ecology — Can learn, can modify, can release
| Advantages | Description |
|------|------|
| **Complete source code open** | 11 `.wsv` MCP modules (~20,000 lines) + documentation + skill book + test |
| **Four-layer product clarity** | `src` → `generated-cpp` → running package, clear structure and auditable |
| **One-click release script** | `release/pack-release.ps1` to package Release, automatically exclude `out/` |
| **Domestic technical stack** | Volcano window + FBrowser CEF, Chinese documentation and QQ / Volcano community support |
| **GitHub complete supporting** | Issue / PR template, Discussions, CI verification, CHANGELOG |
### Why choose AI浏览器 MCP
| Dimension | Highlight |
|------|------|
| **AI access** | Standard MCP — Cursor / Claude / self-developed Agent can be connected |
| **Getting started** | Download Release → run exe → connect agent, minutes |
| **Tool depth** | **217 pre-encapsulated** tools, including CDP / Hook / workflow / debugger |
| **One-sentence execution** | Collection / analysis / location / fill form — Agent automatically chain |
| **Privacy** | Local `127.0.0.1`, data does not leave the machine |
| **Open-source** | MIT · complete `.wsv` source code · welcome extension PR |
---
## 🚀 Quick start (detailed)
### Method A: Use the finished product (recommended for beginners)
1. Download **`AI-Browser-MCP-x64-v2.6.0.zip`** (about 157MB, excluding compiled intermediate products) from [Releases](https://github.com/AI-XiaoDao/ai-browser-mcp/releases)
2. Unzip and double-click **`AI浏览器.exe`**
3. Open `http://127.0.0.1:9222/health` in the browser and confirm `"status":"ok"`
4. Connect to the AI agent (the root directory of the repository [.mcp.json](.mcp.json) can be copied; or use HTTP to directly connect `9222/mcp`):
```json
{
"mcpServers": {
"ai-browser": {
"command": "node",
"args": ["CEFbro/AI浏览器/mcp_bridge.js"],
"env": {
"AI_BROWSER_MCP_HTTP_POST": "http://127.0.0.1:9222/mcp"
}
}
}
}
```
5. Self-test: `node CEFbro/AI浏览器/mcp_bridge.js --check`
6. Say a sentence to AI, for example, see [Typical scenarios · Dialogue examples](#-typical-scenarios-one-sentence-automatic-execution)
### Method B: Compile from Volcano source code
**Dependencies**: Windows x64, [Volcano window IDE](https://www.voldp.com/) (with FBrowser CEF module), Node.js (bridge script)
1. Open `CEFbro/AI浏览器/AI浏览器.vprj` and compile **Release x64**
2. Runtime distribution directory: `_int/AI浏览器/release/x64/linker/` (including exe, dll, docs, workflows)
3. When packaging Release, exclude compilation cache (see [`pack-release.ps1`](release/pack-release.ps1))
---
## 📦 Download and run the finished product
| Content | Path | Description |
|------|------|------|
| Runtime script and documentation | [`release/linker/`](release/linker/) | `mcp_bridge.js`, configuration, workflow, online documentation (**no exe** ) |
| Complete installation package | [GitHub Releases](https://github.com/AI-XiaoDao/ai-browser-mcp/releases) | `AI-Browser-MCP-x64-v2.6.0.zip`: **217 tools fully open**, exe + CEF + documentation/script |
| Generated C++ source code | [`generated-cpp/release-x64/`](CEFbro/AI浏览器/generated-cpp/release-x64/) | Volcano-translated `.cpp`/`.h` (v2.6.0, also see Release attachment) |
| Volcano project source code | [`CEFbro/AI浏览器/src/`](CEFbro/AI浏览器/src/) | `.wsv` MCP service core (**main open-source subject of this repository**) |
Download the running package from [Releases](https://github.com/AI-XiaoDao/ai-browser-mcp/releases); the source code is in `src/` and `generated-cpp/`.
---
<details>
<summary><b>📂 Developer: source code structure and compilation instructions (click to expand)</b></summary>
## Open-source scope and Volcano compilation directory
This repository **open-source MIT** **MCP service `.wsv` source code**, **generated C++ comparison**, documentation/script/scenario; the running package exe see [Releases](https://github.com/AI-XiaoDao/ai-browser-mcp/releases).
### Four-layer comparison
| Level | What is it | Secondary development modification here? | Git repository | Release attachment |
|:--:|--------|:--:|----------|--------------|
| **① Authoritative source code** | Volcano `.wsv` | ✅ | `src/*.wsv` | — |
| **② Generated C++** | Compilation comparison | Read-only | `generated-cpp/` | cpp zip |
| **③ Intermediate product** | `.obj`/`.pch` | — | Not in the repository | — |
| **④ Running finished product** | exe + CEF | — | Releases | x64 zip |
> Modify **`src/*.wsv`** to PR; C++ see **`generated-cpp/`** (= compilation `project/`).
### Compilation pipeline
```mermaid
flowchart LR
A["① src/*.wsv"]
B["② generated-cpp/"]
C["③ Intermediate product"]
D["④ exe · Releases"]
A -->|Volcano translation| B
B -->|MSVC| C
C -->|Link| D
```
Maintainer release: [`release/pack-release.ps1`](release/pack-release.ps1). See [`generated-cpp/README.md`](CEFbro/AI浏览器/generated-cpp/README.md) · [`CONTRIBUTING.md`](CONTRIBUTING.md).
</details>
---
## 🧰 Capability quick check
| Category | Example tool |
|------|----------|
| Navigation | `browser_navigate` / `back` / `reload` |
| DOM / fill form | `browser_fill_click` / `browser_dom_query` |
| JS | `browser_evaluate` / `execute_js` |
| Network | `browser_network` / `browser_collect` |
| Workflow | `workflow_run` multi-step JSON |
| Screenshot / CDP / debugging | `browser_screenshot` / `browser_debugger_enable` and others |
Complete 217 tools divided into 24 categories, see [`skills/AI浏览器MCP.md`](CEFbro/AI浏览器/skills/AI浏览器MCP.md). **All advantages** see the above [Core advantages (full scene)](#-core-advantages-full-scene).
---
## 📁 Repository structure
```
ai-browser-mcp/
├── CEFbro/AI浏览器/
│ ├── src/ # Volcano `.wsv` source code (MCP core, open-source subject)
│ ├── generated-cpp/ # Volcano-generated C++ comparison (release-x64/)
│ ├── docs/ # Customer manual, configuration instructions
│ ├── skills/ # Agent skill book + 217 tool reference + Volcano API knowledge base
│ ├── mcp_bridge.js # Cursor stdio bridge
│ ├── run_all_tests.js # MCP full test
│ ├── workflows/ # Workflow JSON source code (compiled and copied to linker/workflows/)
│ └── AI浏览器.vprj # Volcano engineering file
├── release/
│ ├── linker/ # Finished configuration package (documentation/script/workflow, no exe)
│ └── pack-release.ps1 # Release one-click packaging script
├── CONTRIBUTING.md # Contribution and release guidelines
├── CHANGELOG.md # Version update log
├── CODE_OF_CONDUCT.md # Community behavior criteria
├── SECURITY.md # Security report strategy
├── OPEN_SOURCE.md # Open-source announcement (Chinese, multi-platform copy)
├── OPEN_SOURCE_EN.md # Open-source announcement (English)
├── LICENSE # MIT
└── README.md
```
---
## 📖 Documentation
| Document | Reader |
|------|------|
| [User Manual](CEFbro/AI浏览器/docs/客户使用手册.md) | End User |
| [MCP Tool Configuration Guide](CEFbro/AI浏览器/docs/MCP工具配置说明书.md) | Deployment / Integration |
| [Skill Book](CEFbro/AI浏览器/docs/使用技能书.md) | Developer / Agent |
| [217 Tool Reference](CEFbro/AI浏览器/skills/AI浏览器MCP.md) | Full API |
| [Scenario and Hook Testing](CEFbro/AI浏览器/skills/场景与Hook测试.md) | Reverse / persist Hook / Breakpoint Recovery |
| [Typical Scenarios (README)](#-典型场景一句话自动执行) | Collection / Reverse / Positioning |
---
## 🏗 Architecture
| Module | File | Responsibility |
|------|------|------|
| Entrance | `main.wsv` | GUI + FBrowser Initialization |
| MCP Core | `MCP_Server.wsv` | JSON-RPC, Tool Registration, sync-wait |
| Dispatcher | `MCP_Server_Core/Form/VIP/System/Workflow.wsv` | 217 Tool Implementation |
| HTTP/WS | `MCP_Server_HTTP.wsv` | Welcome Page, Health Check, Documentation |
| Bridge | `mcp_bridge.js` | stdio MCP Client ↔ HTTP POST (Cursor etc. IDE Optional) |
---
## 🤝 Contribution and Feedback
- **Issue**: [Bug Template](https://github.com/AI-XiaoDao/ai-browser-mcp/issues/new?template=bug_report.yml) · [Feature Request](https://github.com/AI-XiaoDao/ai-browser-mcp/issues/new?template=feature_request.yml)
- **Discussions**: [Q&A / Case Sharing](https://github.com/AI-XiaoDao/ai-browser-mcp/discussions) (see [.github/SOCIAL_PREVIEW.md](.github/SOCIAL_PREVIEW.md) top post)
- **PR**: see [CONTRIBUTING.md](CONTRIBUTING.md)
- **Promotion Materials**: Chinese [OPEN_SOURCE.md](OPEN_SOURCE.md) · English [OPEN_SOURCE_EN.md](OPEN_SOURCE_EN.md)
- **Communication**: QQ 212577526 · Group 737680767 · [Volcano Programming Exchange Group](https://qm.qq.com/q/Hpv6qm8qUE)
## ❓ Frequently Asked Questions
| Question | Solution |
|------|------|
| `/health` fails | Confirm exe started; check 9222 port occupancy |
| AI Agent can't connect to MCP | `node mcp_bridge.js --check`; confirm `AI_BROWSER_MCP_HTTP_POST` or direct connect `9222/mcp` |
| Tool call timeout | Increase `mcp_config.json` `default_timeout_ms` |
| POST body can't be caught | Default network layer doesn't record POST body, see `skills/场景与Hook测试.md` |
| One sentence collection has no data | Check if login/rolling load is needed; let AI try `browser_dom_query` selector |
| Reverse scan can't find encrypted field | Use `browser_inject` persist Hook; refer to `douyin_xhr_encrypt_scan.js` |
| Debugger breakpoint doesn't hit | Confirm `browser_debugger_enable` and page triggered submission |
| Finished zip is large | Contains CEF runtime, normal size |
More FAQs see [OPEN_SOURCE.md#常见问题](OPEN_SOURCE.md#常见问题faq).
## 📄 License
[MIT License](LICENSE)
---
<div align="center">
**If this project helps you, welcome to Star ⭐**
</div>
MCP Config
Below is the configuration for this MCP Server. You can copy it directly to Cursor or other MCP clients.
mcp.json
Connection Info
You Might Also Like
No recommendations available