一个全面的 NixOS Flake 开发环境,用于 Playwright MCP(模型上下文协议)服务器,支持完整的 Chrome 和 Firefox 浏览器,并包括持久浏览器配置文件。
flake.nix 复制到您的项目中direnv allow# 进入开发 shell
nix develop
# 或直接运行 MCP 服务器
nix run
# 基本用法(有头模式,持久配置文件)
playwright-mcp-wrapped
# 无头模式
playwright-mcp-wrapped --headless
# 指定浏览器
playwright-mcp-wrapped --browser firefox
# 使用自定义配置
playwright-m- cp-wrapped --config /path/to/config.json
# 服务器模式(用于远程连接)
playwright-mcp-wrapped --port 8931
要使用现有的桌面浏览器配置文件:
# 运行配置文件设置脚本
nix run .#setup-profiles
这将复制您的现有 Chrome/Chromium 和 Firefox 配置文件到 Playwright MCP 目录:
~/.local/share/playwright-mcp/chrome-profile~/.local/share/playwright-mcp/firefox-profileFlake 包含一个默认配置文件,可以进行定制。主要特点:
将此 flake 作为开发环境 URL 添加:
{
"devEnvironments": {
"playwright-mcp": {
"url": "github:benjaminkitt/playwright-mcp-nix"
}
}
}
或对于 Claude Desktop MCP 配置:
{
"mcpServers": {
"playwright": {
"command": "nix",
"args": ["run", "github:benjaminkitt/playwright-mcp-nix"]
}
}
}
此 flake 提供:
~/.local/share/playwright-mcp/chrome-profile~/.local/share/playwright-mcp/firefox-profile设置脚本会在以下位置查找现有配置文件:
~/.config/google-chrome~/.config/chromium~/.mozilla/firefox(默认配置文件)MCP 服务器支持通过命令行参数进行广泛的配置:
--allowed-origins # 分号分隔的允许源
--blocked-origins # 分号分隔的阻止源
--browser # 使用的浏览器:chrome, firefox, webkit, msedge
--headless # 以无头模式运行
--user-data-dir # 自定义配置文件目录
--viewport-size # 浏览器视口大小(例如:"1920,1080")
--device # 模拟的设备(例如:"iPhone 15")
--proxy-server # 代理服务器配置
--storage-state # 存储状态文件路径
--isolated # 使用隔离(非持久)配置文件
--vision # 使用截图模式而不是可访问性快照
--config # JSON 配置文件路径
如果您遇到浏览器未找到的错误:
nix run .#playwright-mcp -- --browser chromium
# 或
export PLAYWRIGHT_BROWSERS_PATH=$(nix-build '<nixpkgs>' -A playwright-driver.browsers --no-out-link)
如果浏览器配置文件不起作用:
# 重置配置文件
rm -rf ~/.local/share/playwright-mcp/
nix run .#setup-profiles
确保配置文件目录可写:
chmod -R u+w ~/.local/share/playwright-mcp/
此 flake 设计为易于扩展。关键贡献领域:
该项目遵循底层 Playwright MCP 服务器(Apache 2.0)的相同许可证。