这是一个通过调试协议实现Chrome浏览器自动化的Model Context Protocol (MCP)服务器,特别设计用于连接到Chrome调试端口,并启用具有持久登录会话的浏览器自动化。
🔧 零依赖部署
📦 容器友好
⚡ 两步启动
# 只需两个命令即可启动
# 1. 启动Chrome调试模式
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-debug
# 2. 运行MCP服务器
npx chrome-debug-mcp
🛡️ 企业级安全
无需安装,直接启动:
# 1. 启动Chrome调试模式
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-debug
# 2. 直接运行MCP服务器
npx chrome-debug-mcp
git clone https://github.com/rainmenxia/chrome-debug-mcp.git
cd chrome-debug-mcp
npm install
npm run build
npm start
npx chrome-debug-mcp,无需复杂安装服务器需要连接到已启用调试端口的Chrome实例:
# macOS
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-debug
# Windows
chrome.exe --remote-debugging-port=9222 --user-data-dir=c:\temp\chrome-debug
# Linux
google-chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-debug
重要说明:
--user-data-dir参数指向一个临时目录,确保Chrome以调试模式启动在您的MCP客户端中添加以下配置:
{
"mcpServers": {
"browser-automation": {
"command": "npx",
"args": ["chrome-debug-mcp"]
}
}
}
**就这样!**无需安装、下载或复杂的路径配置。
💡 替代安装方法:
全局安装:
npm install -g chrome-debug-mcp{ "mcpServers": { "browser-automation": { "command": "chrome-debug-mcp" } } }本地项目安装:
npm install chrome-debug-mcp{ "mcpServers": { "browser-automation": { "command": "npx", "args": ["chrome-debug-mcp"] } } }
连接到Chrome调试端口并初始化浏览器会话。
{
"name": "launch_browser",
"arguments": {
"remote_host": "http://localhost:9222" // 可选
}
}
导航到指定URL,带有智能标签管理。
{
"name": "navigate_to",
"arguments": {
"url": "https://example.com"
}
}
点击指定坐标。
{
"name": "click",
"arguments": {
"coordinate": "100,200"
}
}
输入文本内容。
{
"name": "type_text",
"arguments": {
"text": "Hello World"
}
}
滚动页面。
{
"name": "scroll_down",
"arguments": {}
}
鼠标悬停在指定位置。
{
"name": "hover",
"arguments": {
"coordinate": "100,200"
}
}
调整浏览器窗口大小。
{
"name": "resize_browser",
"arguments": {
"size": "1200,800"
}
}
获取当前页面HTML内容。
{
"name": "get_page_content",
"arguments": {}
}
关闭浏览器连接。
{
"name": "close_browser",
"arguments": {}
}
# 首先手动在Chrome中登录Twitter/微博
# 然后使用MCP工具进行自动化
launch_browser -> navigate_to -> click -> type_text
# 保持登录状态的淘宝/京东
# 自动化产品搜索、价格监控等
launch_browser -> navigate_to -> type_text -> click
# 抓取需要登录的网站数据
# 绕过登录验证,直接操作
launch_browser -> navigate_to -> get_page_content
example.com)复用现有标签如果Chrome在Docker容器中运行:
# 在Docker中启动Chrome
docker run -d --name chrome-debug \
-p 9222:9222 \
--shm-size=2gb \
zenika/alpine-chrome \
--no-sandbox \
--disable-dev-shm-usage \
--remote-debugging-address=0.0.0.0 \
--remote-debugging-port=9222
服务器将自动发现Docker环境中的Chrome实例。
--remote-debugging-port=9222启动lsof -i :9222MCP客户端 ←→ stdio ←→ MCP服务器 ←→ Chrome调试端口 ←→ Chrome浏览器
# 监视模式编译
npm run dev
# 查看MCP通信日志
DEBUG=mcp* npm start
# 构建项目
npm run build
# 发布到npm
npm publish
本项目的设计理念和核心概念受到了RooCode项目的启发。RooCode是一个优秀的浏览器自动化MCP服务器实现,提供了宝贵的技术参考和设计思路。
特别感谢RooCode团队在以下领域的贡献:
在此基础上,本项目进一步专注于具有持久登录会话的浏览器自动化,通过连接到现有的Chrome调试端口来维持用户会话,实现了更实用的自动化能力。
MIT许可证
核心优势:这个MCP服务器最大的特点是能够连接到现有的Chrome实例并维持登录会话,使其非常适合需要用户认证的自动化场景。通过Chrome调试端口,它可以接管用户已登录的浏览器会话,实现真正的“会话持久”浏览器自动化。