Token导航 LogoToken导航TokenDH.com
Wsl Chrome MCP logo
浏览器工具stdio官方级别未说明来源级核验

Wsl Chrome MCP

MCP Server

WSL Chrome MCP 是一个基于 Chrome DevTools Protocol (CDP) 的服务,提供33种浏览器自动化工具,支持会话隔离和共享模式,适用于浏览器测试和自动化任务。

工具数

33

提示词数

0

GitHub Stars

1

资源数

0
浏览器自动化PythonClaude网络监控Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

477174

提供方

477174

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run pytest

详细介绍

WSL Chrome MCP

Chrome DevTools协议(CDP)服务器 模型上下文协议,专为WSL设计。每个MCP会话在Windows上都有自己的隔离Chrome实例——没有标签冲突,会话之间没有数据泄漏。

主要特点

  • 每会话Chrome隔离 --每个MCP客户端会话都会使用临时配置文件启动自己的Chrome进程。会话不能相互干扰或干扰您的个人浏览器。
  • 配置文件模式 --您可以选择使用窗口范围的选项卡隔离在会话之间共享单个Chrome实例,从而保留您的登录状态和书签。
  • 33个浏览器自动化工具 --导航、输入、屏幕截图、可访问性快照、JavaScript执行、网络监控、性能跟踪、设备仿真。
  • 持久CDP连接 --使用自动重试(3次尝试)、PowerShell中继回退和HTTP代理作为最后手段的直接WebSocket连接。
  • TUI配置仪表板 --交互式终端用户界面(wsl-chrome-mcp config)用于管理所有设置。
  • WSL2镜像网络 --本地支持WSL2的镜像网络模式(本地主机访问Windows)。
  • 始终在CDP上 --可选模式,通过注入永久启用Chrome的调试端口 --remote-debugging-port 进入Windows快捷方式和注册表协议处理程序。

安装

# Clone the repository
git clone https://github.com/477174/wsl-chrome-mcp.git
cd wsl-chrome-mcp

# Install with uv (recommended)
uv pip install -e .

添加到您的MCP客户端

克劳德代码:

claude mcp add wsl-chrome-mcp -- uv run wsl-chrome-mcp

手动配置 (~/.config/claude-code/mcp.json 或同等):

{
  "mcpServers": {
    "wsl-chrome-mcp": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/wsl-chrome-mcp", "wsl-chrome-mcp"]
    }
  }
}

可用工具(33)

会话管理(3)

工具说明
chrome_session_start使用可选URL启动Chrome会话
chrome_session_list列出所有活动会话
chrome_session_end结束会话并清理其Chrome实例

导航(7)

工具说明
navigate_page导航到URL并等待加载
list_pages列出所有打开的页面/选项卡
select_page切换到其他页面/选项卡
new_page打开新页面/选项卡
close_page关闭页面/选项卡
resize_page调整浏览器视口大小
handle_dialog接受或关闭JavaScript对话框(警报、确认、提示)

输入(8)

工具说明
click按可访问性UID单击元素
click_at单击特定的x、y坐标
fill按UID在输入字段中键入文本
fill_form一次填写多个表单字段
hover按UID将鼠标悬停在元素上
drag从一个元素拖动到另一个元素
press_key按键盘键(Enter、Tab、快捷键)
upload_file将文件上传到文件输入元素

快照和等待(2)

工具说明
take_snapshot使用UID将可访问性树捕获为结构化文本,用于元素定位
wait_for等待与文本/角色匹配的元素出现

屏幕截图和PDF(2)

工具说明
take_screenshot截图(视口、整页或特定元素)
generate_pdf生成当前页面的PDF

脚本(3)

工具说明
evaluate在页面上下文中执行JavaScript表达式或函数
get_html获取页面或特定元素的HTML内容
scroll滚动页面或特定元素

监控(4)

工具说明
get_console通过筛选获取控制台消息(日志、警告、错误)
get_console_message按索引获取特定的控制台消息
get_network通过URL、方法、状态过滤获取网络请求
get_network_request获取特定网络请求的详细信息

仿真(1)

工具说明
emulate模拟设备、视口、暗模式、地理位置、网络限制(慢速3G、快速3G、离线)、CPU限制和自定义用户代理

性能(3)

工具说明
performance_start_trace启动Chrome性能跟踪
performance_stop_trace停止跟踪并返回记录的数据
performance_analyze_insight分析跟踪数据以获得性能见解

建筑

┌──────────────────────────────────────────────────────────────────────┐
│                            WSL Linux                                 │
│                                                                      │
│  ┌────────────────────────────────────────────────────────────────┐  │
│  │                      wsl-chrome-mcp                            │  │
│  │                                                                │  │
│  │  ┌──────────────┐    ┌──────────────────┐    ┌─────────────┐  │  │
│  │  │  MCP Server   │───>│  Pool Manager    │───>│ Persistent  │  │  │
│  │  │  (FastMCP)    │    │  (chrome_pool)   │    │ CDP Client  │  │  │
│  │  └──────────────┘    └──────────────────┘    └──────┬──────┘  │  │
│  │                                                      │         │  │
│  │  ┌──────────────┐    ┌──────────────────┐           │         │  │
│  │  │  33 Tools     │    │  Config Manager  │           │         │  │
│  │  │  (modular)    │    │  (TOML)          │           │         │  │
│  │  └──────────────┘    └──────────────────┘           │         │  │
│  └──────────────────────────────────────────────────────┼─────────┘  │
│                                                         │            │
│                          CDP over WebSocket              │            │
│                          (port 9222)                     │            │
└─────────────────────────────────────────────────────────┼────────────┘
                                                          │
┌─────────────────────────────────────────────────────────┼────────────┐
│                         Windows Host                     │            │
│                                                          │            │
│  Isolated Mode (default):          Profile Mode:         │            │
│  ┌──────────┐ ┌──────────┐        ┌──────────────────┐  │            │
│  │ Chrome 1  │ │ Chrome 2  │        │ Shared Chrome    │<─┘            │
│  │ (temp     │ │ (temp     │        │ (your profile)   │               │
│  │  profile) │ │  profile) │        │ window-scoped    │               │
│  └──────────┘ └──────────┘        └──────────────────┘               │
└──────────────────────────────────────────────────────────────────────┘

会话模式

隔离模式(默认)

每个MCP会话都会启动一个 单独的Chrome进程 具有临时用户数据目录。会话是完全独立的——不同的Cookie、存储和历史记录。会话结束后,临时配置文件将被删除。

  • 不会干扰您的个人Chrome浏览器
  • 并发MCP会话之间没有干扰
  • 每次清洁状态
[chrome]
profile_mode = "isolated"

配置文件模式

所有会话共享一个 单个Chrome实例 使用您现有的Chrome个人资料。每个会话都有自己的窗口,只跟踪它创建的选项卡。您的登录会话、书签和扩展都可用。

  • 跨会话保留登录状态
  • 访问您的书签和扩展
  • 按窗口隔离的会话(不是按进程隔离的会话)
[chrome]
profile_mode = "profile"
profile_name = "Profile 1"

连接策略

服务器使用具有自动回退的多层连接策略:

  1. 直接WebSocket --直接连接到Chrome的CDP WebSocket端点(重试3次,两次尝试之间延迟1秒)
  2. PowerShell中继 --如果直接连接失败,则在Windows上使用PowerShell作为WebSocket中继
  3. HTTP 代理 --最后,通过HTTP代理CDP命令

连接状态在工具响应中报告(Connected: True/False).即使有 Connected: False (代理模式),所有工具仍能正常工作。

配置

设置存储在 ~/.config/wsl-chrome-mcp/config.toml:

[chrome]
debug_port = 9222         # CDP debugging port
headless = false          # Run Chrome headless
profile_mode = "isolated" # "isolated" or "profile"
profile_name = ""         # Chrome profile name (profile mode only)

[network]
mirrored_networking = true  # WSL2 mirrored networking mode

[cdp]
always_on = false         # Keep CDP enabled permanently via registry

[plugin]
installed = true          # Whether OpenCode plugin is installed

交互式配置

运行TUI仪表板以交互方式配置所有设置:

wsl-chrome-mcp config

TUI提供切换开关、下拉选择器和配置文件检测,并实时预览您的配置。

发展

# Install dev dependencies
uv pip install -e ".[dev]"

# Run tests (98 unit tests)
uv run pytest

# Run E2E concurrency test (requires Windows Chrome)
uv run pytest tests/test_isolated_concurrency.py -v

# Lint and format
uv run ruff check .
uv run ruff format .

# Type check
uv run mypy src

故障排除

未找到Chrome

确保Chrome已安装在Windows的以下位置之一:

  • C:\Program Files\Google\Chrome\Application\chrome.exe
  • C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
  • %LOCALAPPDATA%\Google\Chrome\Application\chrome.exe

连接被拒绝

  1. 检查Chrome是否正在进行远程调试:
   curl http://localhost:9222/json/version
  1. Windows防火墙可能正在阻止端口9222。添加入站规则。
  1. 如果使用WSL2而不使用镜像网络,请尝试Windows主机IP:
   curl http://$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):9222/json/version

已连接:False(代理回退)

这意味着直接WebSocket连接失败,但HTTP代理正在工作。所有工具仍正常工作。要恢复直接连接,请执行以下操作:

  1. 确保Chrome正在运行 --remote-debugging-port=9222
  2. 检查是否没有其他进程正在使用端口9222
  3. 重新启动MCP服务器以重试连接

WSL1与WSL2

此MCP针对WSL2进行了优化。对于WSL1,您可能需要使用 localhost 而不是Windows主机IP:

export WSL_HOST_IP=127.0.0.1

许可证

麻省理工学院

学分

受...启发 chrome开发工具mcp 来自Chrome DevTools团队。

来源

目录标签

目录标签

浏览器自动化PythonClaude网络监控本地部署ChromeDevToolsWSL会话隔离

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

33

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP