Content
# Tool List
`Chrome DevTools MCP Continuous` is an enhanced fork based on [ChromeDevTools/chrome-devtools-mcp](https://github.com/ChromeDevTools/chrome-devtools-mcp), focusing on improvements for **long-lived browser sessions**, suitable for AI agent scenarios that require continuous control of real Chrome sessions.
This repository's address:
- [xiexie-qiuligao/chrome](https://github.com/xiexie-qiuligao/chrome)
## Project Positioning
The goal of this version is not to replace the upstream official project but to optimize the following scenarios while retaining the upstream tool's face and engineering foundation:
- Take over an already opened and logged-in Chrome
- Continuous operation across multiple tabs
- Reduce full-page/target rescan for each tool invocation
- Improve session continuity and stability for long-running agents
In one sentence:
**This version emphasizes "continuous session" rather than "recognizing the browser anew with each command."**
## Major Changes Compared to Upstream
Compared to the upstream version, this fork focuses on the following enhancements:
- Refresh browser state from "unconditional execution for each tool invocation" to **on-demand refresh**
- Introduce **incremental page/target registry**
- Prioritize known tab changes with **incremental updates**
- Change DevTools state to **dirty-page updates**
- `newPage()` / `closePage()` no longer trigger a full-page world rebuild
- Add more stable `targetId` identity tracking for pages
The direct benefits of these changes are:
- Easier to maintain logged-in sessions
- More stable across multiple tabs
- Better state continuity during long-running agent operations
## Applicable Scenarios
Recommend using this version in the following scenarios:
- Need to reuse an existing browser login state
- Need to continuously switch and operate between multiple tabs
- Need AI agents to control the browser for extended periods rather than occasional automation
- Want the browser control process to be closer to a real session rather than short-connection operations
If you only need the standard official DevTools MCP, the upstream version is sufficient.
If you prioritize **continuous session, multi-tab, and long-running stability**, this version is more suitable.
## Environment Requirements
- Node.js `20.19+`
- Recommended Node.js `22`
- Latest stable version of Google Chrome or compatible versions
- npm
## npm Package Name
The npm package name for this project is:
```bash
chrome-devtools-mcp-continuous
```
## Installation Methods
### Method 1: Using npm
Published to npm, can be started directly with `npx`:
```bash
npx -y chrome-devtools-mcp-continuous
```
### Method 2: Building from Source
#### 1. Clone the Repository
```bash
git clone https://github.com/xiexie-qiuligao/chrome.git
cd chrome
```
#### 2. Install Dependencies
```bash
npm install --ignore-scripts
```
#### 3. Build
Recommended using Node 22:
```bash
npx -y node@22 node_modules/typescript/bin/tsc
npx -y node@22 --experimental-strip-types scripts/post-build.ts
```
After building, the MCP server entry is:
```text
build/src/bin/chrome-devtools-mcp.js
```
## Recommended Usage: Connecting to an Already Opened Chrome
If you want to preserve:
- Login state
- Current tab state
- Multi-tab context
- Continuous session experience during long runs
The most recommended approach is: **Start Chrome first, then let MCP connect to the instance.**
### Windows Example
```powershell
& "C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 --user-data-dir=D:\chrome-mcp-profile
```
Explanation:
- `--remote-debugging-port=9222` is used to open the debugging port
- `--user-data-dir` suggests using a separate directory, not the default browsing data directory
## MCP Configuration Example
### Using npm Package
```json
{
"mcpServers": {
"chrome-devtools-continuous": {
"command": "npx",
"args": [
"-y",
"chrome-devtools-mcp-continuous",
"--browser-url=http://127.0.0.1:9222",
"--no-usage-statistics"
]
}
}
}
```
### Using Local Build Version
Applicable for directly using the source code build results locally.
#### TOML Example
```toml
[mcp_servers.chrome-devtools-continuous]
command = "cmd"
args = [
"/c",
"npx",
"-y",
"node@22",
"C:\\path\\to\\chrome\\build\\src\\bin\\chrome-devtools-mcp.js",
"--browser-url=http://127.0.0.1:9222",
"--no-usage-statistics"
]
env = { SystemRoot = "C:\\Windows", PROGRAMFILES = "C:\\Program Files" }
startup_timeout_ms = 30000
```
Please replace `C:\\path\\to\\chrome\\...` with the actual local path.
## Maintainer: Publishing to npm
### Local Packaging Verification
```bash
npm pack
```
### Official Release
```bash
npm publish --access public
```
## Key Files
- [package.json](./package.json)
- [server.json](./server.json)
- [.mcp.json](./.mcp.json)
- [gemini-extension.json](./gemini-extension.json)
## Upstream Documentation
This project is still based on the upstream Chrome DevTools MCP, and the following documents remain valuable:
- [Tool Documentation](./docs/tool-reference.md)
- [Changelog](./CHANGELOG.md)
- [Troubleshooting](./docs/troubleshooting.md)
- [Design Principles](./docs/design-principles.md)
## License Agreement
The license agreement is inherited from the upstream:
- `Apache-2.0`
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
everything-claude-code
Complete Claude Code configuration collection - agents, skills, hooks,...
markitdown
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
cc-switch
All-in-One Assistant for Claude Code, Codex & Gemini CLI across platforms.
servers
Model Context Protocol Servers
servers
Model Context Protocol Servers
Time
A Model Context Protocol server for time and timezone conversions.