Windows Claude Code 接入 Playwright‑MCP,调用本机Edge浏览器(避坑完整教程)
摘要 :解决 Windows 下 Claude Code 使用 Playwright‑MCP 时自动下载 200MB+ Chromium 内核、
‑32000: MCP error connection closed连接报错;实现直接复用本机已经安装好的 Edge,无需下载额外浏览器二进制包。环境:Windows 10/11、Node.js LTS、Claude Code CLI、本机 Microsoft Edge。
📑 目录
- 一、环境前置准备
- [1.1 确认基础环境可用](#1.1 确认基础环境可用)
- [1.2 设置国内npm镜像源(解决npx下载卡顿)](#1.2 设置国内npm镜像源(解决npx下载卡顿))
- [二、全局安装 Playwright‑MCP(避开npx动态拉取坑)](#二、全局安装 Playwright‑MCP(避开npx动态拉取坑))
- 三、配置MCP服务,指定本机Edge路径
- [3.1 清除旧的错误MCP配置](#3.1 清除旧的错误MCP配置)
- [3.2 添加MCP配置(命令行方式,推荐,避免JSON语法写错)](#3.2 添加MCP配置(命令行方式,推荐,避免JSON语法写错))
- [3.3 查看MCP连接状态](#3.3 查看MCP连接状态)
- [手动修改 .claude.json 备选方案(不推荐,容易写错JSON层级)](#手动修改 .claude.json 备选方案(不推荐,容易写错JSON层级))
- 四、功能测试
- 五、常见问题&踩坑汇总
- [问题1:
‑32000: MCP error connection closed](#问题1:‑32000: MCP error connection closed) - 问题2:仍然尝试下载Playwright自带Chromium
- [问题3:报错
number of input tokens has exceeded max_prompt_tokens](#问题3:报错 number of input tokens has exceeded max_prompt_tokens) - 问题4:AI自己写JS脚本,没有调用MCP工具
- [问题1:
- 六、残留文件清理说明
- 拓展:想要复用Edge登录账号Cookie(远程CDP调试端口模式)
- 小结
⚡ TL;DR
- 全局安装
@playwright/mcp,避开npx动态拉取的网络卡死与进程闪退坑。 - 指定本机 Edge :MCP 配置必须带上
--executable-path参数,指向msedge.exe,否则仍会下载 Chromium。 - JSON 层级易错 :手动改
.claude.json时mcpServers必须放在根节点,路径反斜杠要写双斜杠\\。 - 连接报错排查 :
‑32000 connection closed多为全局包未装好、命令参数复制错误或 Node 未加入 PATH。 - Token 超限 :直接新开 PowerShell 重新运行
claude,旧会话无法修复;需要登录态时改用 CDP 调试端口方案。
前言
Playwright‑MCP 默认行为会自动下载一套独立 Chromium 浏览器内核,体积大、国内网络下载经常超时失败。很多人本机已经安装 Edge,本文实现:MCP 直接调用本机 Edge,不下载 Playwright 自带浏览器。
同时记录踩坑:‑32000 connection closed、Windows PowerShell 参数解析问题、JSON 配置层级错误、会话 Token 溢出等问题。
注意:此方案为MCP自动拉起全新空白Edge实例,不会复用你日常Edge的登录账号与Cookie;如需携带登录状态看文末拓展方案。
一、环境前置准备
1.1 确认基础环境可用
打开 PowerShell,依次执行以下命令确认版本,无报错才算就绪 :```powershell
node -v
npm -v
claude --version
> 如果提示不是内部命令:安装 Node.js LTS,安装完成重启终端。
### 1.2 设置国内npm镜像源(解决npx下载卡顿)
```powershell
npm config set registry https://registry.npmmirror.com
二、全局安装 Playwright‑MCP(避开npx动态拉取坑)
Windows 下使用 npx @playwright/mcp@latest 极易出现网络卡死、进程闪退,因此优先推荐全局安装 。```powershell
npm install -g @playwright/mcp
验证全局命令是否安装成功:执行下面命令,出现 MCP 服务输出即代表成功,按 `Ctrl + C` 终止。```powershell
playwright-mcp
三、配置MCP服务,指定本机Edge路径
本机Edge路径:
C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe如果你的Edge路径不一样:右键Edge桌面快捷方式 → 属性 → 复制「目标」路径。
3.1 清除旧的错误MCP配置
如果之前配置过playwright,先删除user全局旧配置:
powershell
claude mcp remove playwright --scope user
3.2 添加MCP配置(命令行方式,推荐,避免JSON语法写错)
powershell
claude mcp add playwright --scope user -- playwright-mcp --executable-path "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
3.3 查看MCP连接状态
powershell
claude mcp list
✅成功:输出包含Edge路径,状态为 ✔ Connected
❌失败:‑32000: MCP error connection closed,检查全局包是否安装成功、命令参数是否复制完整。
⚠️小坑:
claude mcp list的探测机制在Windows存在bug,偶尔短暂红叉,最终以claude会话内是否加载浏览器工具为准。
手动修改 .claude.json 备选方案(不推荐,容易写错JSON层级)
⚠️关键点:
mcpServers必须写在JSON根节点 ,和projects同级,不要嵌套进projects对象内部,projects内部mcpServers只对单个项目生效。
json
{
"mcpServers": {
"playwright": {
"command": "playwright‑mcp",
"args": [
"--executable-path",
"C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe"
]
}
}
}
Windows JSON路径反斜杠必须写双斜杠
\\,保存后全部关闭claude终端,重新打开PowerShell。
四、功能测试
新开PowerShell窗口,启动claude会话
powershell
claude
关闭auto自动模式,防止AI自行写Node脚本绕过MCP工具:
auto off
测试1:查看MCP工具是否加载成功
列出所有可用工具
输出中出现大量 mcp__playwright__ 浏览器相关工具(browser_navigate、browser_click、browser_take_screenshot)代表MCP加载完成。
测试2:完整浏览器自动化测试
调用playwright mcp工具,打开浏览器访问百度,搜索"MCP协议",完成后截图保存到桌面
预期现象
- 直接唤起本机Edge浏览器窗口,不会下载Chromium内核
- 自动访问百度,输入关键词,执行搜索
- 截图图片输出到桌面,返回文件路径
测试3:简单访问截图
访问 https://www.bing.com,截图保存到桌面
五、常见问题&踩坑汇总
问题1:‑32000: MCP error connection closed
原因:
@playwright/mcp全局未正确安装;- PowerShell命令参数复制错误;
- Node没有加入系统PATH。
处理:
powershell
npm install -g @playwright/mcp
claude mcp remove playwright --scope user
# 重新执行完整add命令
claude mcp add playwright --scope user -- playwright-mcp --executable-path "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
问题2:仍然尝试下载Playwright自带Chromium
原因:MCP配置没有带上--executable-path参数,配置未生效。
处理:删除旧配置,重新执行完整add命令,claude mcp list确认args参数包含Edge路径。
问题3:报错 number of input tokens has exceeded max_prompt_tokens
原因:会话历史不断累积,token超限。
处理:关闭当前PowerShell,新开窗口重新运行claude,旧会话无法修复。
问题4:AI自己写JS脚本,没有调用MCP工具
处理:会话内执行 auto off,关闭自动模式,强制优先调用MCP工具。
六、残留文件清理说明
@playwright/mcp全局npm包:需要保留,是MCP服务本体,不要卸载;- npx运行产生文件:执行完毕自动销毁,无残留;
ms‑playwright文件夹:只有空占位文件,没有下载浏览器,可以直接删除;只要配置带--executable-path,程序不会使用这个目录;claude mcp remove:只删除json配置,不会卸载npm包。
拓展:想要复用Edge登录账号Cookie(远程CDP调试端口模式)
上面方案B每次都是全新空白浏览器实例,没有登录状态。如果需要复用登录态,使用CDP调试端口模式。
- PowerShell手动启动带调试端口的Edge(该PowerShell窗口不要关闭)
powershell
& "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --remote-debugging-port=9222 --user-data-dir="$env:TEMP\edge_mcp_profile"
运行后弹出独立Edge窗口,可以手动登录账号。
- 修改MCP配置,连接调试端口
powershell
claude mcp remove playwright --scope user
claude mcp add playwright --scope user -- playwright-mcp --cdp-endpoint http://127.0.0.1:9222
使用限制:每次使用前必须先执行上面启动Edge的powershell命令;关闭Edge窗口MCP立刻断开。
小结
- Windows环境优先全局安装
@playwright/mcp,规避npx网络和参数坑; - 通过
--executable-path指定本机Edge路径,彻底绕开Playwright自带浏览器下载; - JSON配置注意层级,
mcpServers放在根节点; - token超限最简单方案:新开claude会话;
- 需要登录态使用CDP调试端口方案。