返回市场
尼克斯Playwright MCP服务器

尼克斯Playwright MCP服务器

作者:benjaminkitt6 星标更新:2025-06-01

项目介绍

Playwright MCP 服务器 - NixOS Flake

一个全面的 NixOS Flake 开发环境,用于 Playwright MCP(模型上下文协议)服务器,支持完整的 Chrome 和 Firefox 浏览器,并包括持久浏览器配置文件。

功能

  • 完整的 Playwright MCP 服务器设置:基于微软官方实现
  • 多浏览器支持:包括 Chrome/Chromium 和 Firefox 浏览器
  • 配置文件持久化:在会话之间维护浏览器配置文件
  • 桌面配置文件集成:可以从桌面导入现有的 Chrome/Firefox 配置文件
  • NixOS 集成:针对 NixOS 正确配置了所有依赖项
  • 开发环境:准备好使用的开发 shell,带有所有工具
  • 与 AI 代理兼容:可以作为 URL 添加到 AI 代理的开发环境中

快速开始

使用 direnv(推荐)

  1. 克隆此仓库或将 flake.nix 复制到您的项目中
  2. 启用 direnv:direnv allow
  3. 当您进入目录时,环境会自动激活

手动激活

# 进入开发 shell
nix develop

# 或直接运行 MCP 服务器
nix run

使用方法

运行 MCP 服务器

# 基本用法(有头模式,持久配置文件)
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 目录:

  • Chrome:~/.local/share/playwright-mcp/chrome-profile
  • Firefox:~/.local/share/playwright-mcp/firefox-profile

配置

Flake 包含一个默认配置文件,可以进行定制。主要特点:

  • 浏览器支持:Chromium 和 Firefox
  • 配置文件持久化:配置文件在会话之间保存
  • 有头模式:默认情况下浏览器窗口可见
  • 全部功能:启用所有 MCP 功能(标签页、PDF、历史记录、等待、文件、安装、测试)

在 AI 开发环境中使用

将此 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 提供:

  1. 自定义 Playwright MCP 软件包:用 NixOS 特定配置包装了微软的 Playwright MCP 服务器
  2. 浏览器集成:正确配置了带有 Playwright 支持的 Chromium 和 Firefox
  3. 配置文件管理:脚本处理浏览器配置文件的持久化和桌面集成
  4. 开发环境:带有所有依赖项和有用环境变量的完整 shell

浏览器配置文件位置

默认位置

  • Chrome/Chromium 配置文件~/.local/share/playwright-mcp/chrome-profile
  • Firefox 配置文件~/.local/share/playwright-mcp/firefox-profile

桌面配置文件来源

设置脚本会在以下位置查找现有配置文件:

  • Chrome~/.config/google-chrome
  • Chromium~/.config/chromium
  • Firefox~/.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 设计为易于扩展。关键贡献领域:

  1. 浏览器支持:额外的浏览器配置
  2. 配置文件管理:增强的配置文件导入/导出能力
  3. 配置:更复杂的配置管理
  4. 集成:更好地与各种 AI 开发环境集成

许可证

该项目遵循底层 Playwright MCP 服务器(Apache 2.0)的相同许可证。

相关项目