浏览器自动化服务器

一个基于Playwright MCP的云端浏览器自动化服务器,支持通过HTTP访问并与n8n工作流集成。

  • by jamwalsudip
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 jamwalsudip/playwright-mcp-server

使用说明

用于渲染的Playwright MCP服务器

此存储库包含一个已配置为适用于Render云托管的、可随时部署的Playwright MCP(模型上下文协议)服务器。它通过n8n工作流或任何MCP客户端提供浏览器自动化功能。

这的作用是什么

  • 在云端全天候运行Playwright MCP服务器(24/7)
  • 提供21+种浏览器自动化工具
  • 可通过HTTP访问以实现n8n集成
  • 完全独立于任何本地机器

快速部署到渲染环境

先决条件

  1. 一个GitHub账户
  2. 一个Render账户(免费套餐可申请) render.com(可译为“渲染网”或直接保留原域名,根据上下文决定是否需要具体翻译))

部署步骤

步骤1:将此仓库推送到GitHub

  1. 在GitHub上创建一个新仓库:

  2. 将此代码推送到GitHub:

    # Navigate to this directory
    cd playwright-mcp-render
    
    # Initialize git
    git init
    
    # Add all files
    git add .
    
    # Commit
    git commit -m "Initial commit: Playwright MCP server for Render"
    
    # Add your GitHub repository as remote
    git remote add origin https://github.com/YOUR-USERNAME/playwright-mcp-server.git
    
    # Push to GitHub
    git push -u origin main
    

步骤2:部署到Render

  1. 首选 dashboard.render.com 翻译为中文是:“仪表盘渲染服务.com” 或者更简洁地表述为“仪表盘渲染平台.com”,具体翻译可能根据上下文或品牌命名习惯有所调整

  2. 点击“新建+”→“Web服务”

  3. 连接您的GitHub仓库:

    • 如果尚未连接,请点击“连接账户”
    • 查找并选择 playwright-mcp-server
    • 点击“连接”
  4. 配置服务:

    • 名字: playwright-mcp-server (或您喜欢的名称)
    • 地区选择离你最近的
    • 分支: main
    • 运行时: Node
    • 构建命令: npm install && npx playwright install --with-deps chromium
    • 启动命令: npm start
    • 计划: Free
  5. 点击“创建Web服务”

  6. 等待部署 (5-10分钟)

    • Render 将安装依赖项
    • 安装 Playwright 浏览器
    • 启动服务器
    • 你将实时看到日志
  7. 获取您的终端节点URL:

    • 一旦部署完成,您将看到一个类似这样的URL: https://playwright-mcp-server.onrender.com
    • 您的MCP终端是: https://playwright-mcp-server.onrender.com/mcp

步骤3:配置n8n

  1. 在你的n8n工作流中:

    • 添加一个 人工智能代理 节点
    • 添加 MCP 客户端工具 给代理
  2. 配置MCP客户端工具:

    • 终端(或端点): https://playwright-mcp-server.onrender.com/mcp
    • 服务器传输: HTTP Streamable
    • 认证: None
    • 要包含的工具: All
  3. 测试连接 通过运行您的工作流程

关于免费渲染层级的重要说明

局限性

  • 在15分钟无操作后停止旋转

    • 停转后首次请求需约30秒唤醒
    • 后续请求速度很快
  • 512 MB 内存

    • 足以满足大多数浏览器自动化任务的需求
    • 在处理非常复杂的页面或多线程同时请求时可能会遇到困难
  • 每月750小时免费

    • 足够进行测试和开发

升级

如果您需要全天候服务:

  • 升级到 入门计划 (7美元/月)
  • 给你1GB内存,且无休眠(即持续运行)

故障排除

部署失败

问题构建失败,提示“内存不足” 解决方案在Render上这很少见,但如果发生这种情况,请尝试:

  • 将浏览器安装简化为仅使用Chromium(已配置)
  • 升级到付费版以获得更多内存

问题“端口已被占用” 解决方案这个(或:那个) server.js 自动使用Render的 PORT 环境变量。无需采取任何操作。

n8n 连接问题

问题“无法连接到MCP服务器” 解决方案:

  1. 检查渲染服务是否正在运行(仪表盘上显示绿色状态)
  2. 验证终端URL是否正确
  3. 如果服务刚刚停止运行,请等待30秒
  4. 检查渲染日志中的错误

问题“第一次请求非常慢” 解决方案在免费层级上,这是正常现象。服务在15分钟无活动后会停止运行。首次请求会将其唤醒(约30秒)。

浏览器自动化失败

问题“浏览器崩溃”或“内存不足” 解决方案:

  • 免费层级配备512MB内存,容量有限
  • 尝试更简单的自动化任务
  • 升级到入门版计划(7美元/月),享受1GB内存

建筑学

User → n8n Workflow → MCP Client Tool → Render (Playwright MCP Server) → Browser → Results

此存储库中的文件

  • **package.json**Node.js 依赖项
  • **server.js**启动MCP服务器并应用正确配置的包装脚本
  • **render.yaml**渲染部署配置(可选,用于蓝图部署)
  • **.gitignore**要从 Git 中排除的文件
  • **README.md**这个文件

环境变量

服务器会自动使用由 Render 设置的这些环境变量:

  • PORT由渲染器自动设置(通常为10000)
  • NODE_ENV设置为 production
  • PLAYWRIGHT_BROWSERS_PATH浏览器的缓存位置

无需手动配置!

监测

检查服务器状态

访问您的渲染仪表板以查看:

  • 服务状态(运行中/休眠)
  • 最近的日志
  • 部署历史
  • 资源使用情况

查看日志

在渲染仪表盘中:

  1. 点击您的服务
  2. 点击“日志”选项卡
  3. 查看实时服务器日志

更新服务器

更新MCP服务器版本或配置:

  1. 在本地进行更改
  2. 提交并推送到GitHub:
    git add .
    git commit -m "Update configuration"
    git push
    
  3. 渲染自动部署 (如果已启用)或在仪表板中点击“手动部署”

成本

  • 免费套餐0美元/月

    • 750小时/月
    • 512兆字节随机存取存储器
    • 15分钟无操作后停止运转
  • 入门级7美元/月

    • 始终开启
    • 1 GB 内存
    • 更适合生产

安全考虑事项

用于生产

目前,服务器未设置认证。对于生产环境:

  1. 添加API密钥认证
  2. 使用HTTPS (渲染会自动提供这一点)
  3. 限制访问 到已知的IP地址
  4. 监控使用情况 检测滥用行为

支持

许可证

麻省理工学院(MIT)

贡献;做出贡献

请随时提交问题或拉取请求,以改进此部署配置。