mcps配置wsl
使用外部浏览器(Brave/Chrome)通过 WSL 配置 MCP(Playwright)服务器的文档和示例。
目标
演示如何使用Windows上已安装的浏览器在WSL中启动Playwright模型上下文协议(MCP)服务器,避免在Linux环境中安装重复的浏览器,并保持与VS Code的集成。
JSON 配置(示例)
"playwright": {
"command": "wsl",
"args": [
"bash",
"-c",
"source ~/.nvm/nvm.sh && npx @playwright/mcp@latest --executable-path '/mnt/c/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe' --extension"
],
"type": "stdio",
"env": {
"PLAYWRIGHT_MCP_EXTENSION_TOKEN": ""
}
}从不更改令牌的实际值 。
论点解释
- 命令:wsl 确保在Node/NVM配置的Linux环境(WSL)中运行。
- bash-c – 允许链接多个命令 (加载NVM和调用
npx在一个subshell。 - 来源~/.nvm/nvm.sh 加载 NVM 函数和 PATH;没有它
npx可能不可用。 - npx@剧作家/mcp@latest 始终获取并运行最新版本的 MCP Playwright 服务器(考虑生产版本引脚:
@playwright/mcp@0.2.x). - --可执行路径”。..勇敢的.exe – 在Windows上安装的浏览器路径, 通过WSL安装
/mnt/c避免在WSL内安装浏览器,并重新利用Brave(Chromium)。 - --扩展 通过MCP扩展启用额外功能(例如:改进的通信,事件捕获)。需要环境令牌 。
- 类型:stdio 直接 stdin/stdout 通道可简化与 VS Code 中的 MCP 客户端集成。
- 剧作家_MCP_EXTENSION_TOKEN – 用于验证扩展会话的秘密;可变的安全环境储存。
良好做法
- 版本 PIN为了可重复性,替换
@latest具体版本。 - 脚本包装器创建
~/bin/playwright-mcp.sh:
#!/usr/bin/env bash
source ~/.nvm/nvm.sh
npx @playwright/mcp@0.2.x --executable-path "/mnt/c/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe" --extension变成可执行文件 : chmod +x ~/bin/playwright-mcp.sh.
- 安全令牌:开始前导出VS代码:
export PLAYWRIGHT_MCP_EXTENSION_TOKEN=""如果客户端支持, 从配置文件中删除值 。
- Node 版本:加兰蒂尔
nvm use启动 shell 以保持一致性。 - 后备浏览器如果您想使用 Playwright 打包的浏览器,请安装 Linux 依赖项并跳过
--executable-path.
故障排除
| 问题 | 共同原因 | 解决方案 |
|---|---|---|
"chrome" executable not found | 路径不正确或未提供 | 检查 Windows 路径,使用引号和 /mnt/c/ 正确 |
npx: command not found | NVM 未加载 | 确认 source ~/.nvm/nvm.sh 或添加到 .bashrc |
| 浏览器无法打开 | 没有显示器访问权限 (WSL2) | 通常无头Chromium工作;对于 GUI,请使用无头模式或 X 服务器。 |
| 启动时超时 | 浏览器运行缓慢 | 添加 --log-level debug (如果支持)进行分析。 |
安全
- 永远不要在公共提交中暴露令牌。
- 如果怀疑泄漏,请撤销并重新生成令牌。
- 考虑
.env在VS代码之前加载以避免暴露于mcp.json.
极简主义示例( 无包装)
wsl bash -c "source ~/.nvm/nvm.sh && npx @playwright/mcp@0.2.x --executable-path '/mnt/c/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe' --extension"下一步
- 为其他 MCP 服务器添加示例。
- 使用 Chrome Canary 或 Edge 包含变体。
- 创建自动版本引脚脚本 。
欢迎捐款!打开问题或PRs.
