mcp-playwright
让 AI 助手真正操控浏览器的 MCP 协议工具,为 Claude/Cursor/Cline 装上浏
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
让 AI 助手真正操控浏览器的 MCP 协议工具,为 Claude/Cursor/Cline 装上浏
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
在 AI 编程助手日益普及的今天,一个核心痛点始终困扰着开发者:AI 模型能写代码,却无法"看见"网页实际效果。传统的 AI 编程工具只能基于静态代码给出建议,无法真正打开浏览器验证功能、自动填写表单、截取实时截图,更谈不上做端到端测试。2024 年底,随着 Model Context Protocol(MCP)协议的兴起,开发者们开始探索将浏览器自动化能力接入 AI 助手的标准方式。ExecuteAutomation 团队凭借多年在测试自动化领域的积累,推出了 Playwright MCP Server,将 Playwright 浏览器自动化能力封装为标准 MCP 工具,让 AI 助手(Claude Desktop、Cline、Cursor 等)真正"长出"了操控浏览器的双手。
这个项目的作者 ExecuteAutomation 是一家专注于测试自动化的公司,其团队长期活跃于 Playwright 社区。项目从 2024 年 12 月发布至今已迭代至 v1.0.12,收获 5539 颗星,519 个 Fork,33 个订阅者,数据增长势头相当强劲。
类比理解:想象你雇佣了一位超级助手,他配备了望远镜(AI 模型的大脑)、双向对讲机(MCP 协议)和一双灵巧的机械手(Playwright 浏览器控制)。对讲机告诉助手你的具体需求,机械手负责实际操作,望远镜让助手看到操作结果并反馈给你。Playwright MCP Server 正是扮演了这套"对讲机 + 机械手"的角色——它将 AI 的"意图"翻译成浏览器操作指令,再将操作结果回传给 AI。
技术实现细节:项目基于 @modelcontextprotocol/sdk 框架构建(版本 1.24.3),这是 Anthropic 官方维护的 MCP 协议实现库。服务端采用 TypeScript 开发,编译后以 Node.js 可执行文件运行。核心架构分为以下几个模块:
--port 参数启动 Web 服务器,提供 REST API 风格的 MCP 端点(/mcp),方便在非 stdio 环境中集成tools.ts):将 Playwright 的浏览器 API 封装为 MCP 工具定义,暴露给 AI 调用toolHandler.ts):接收 AI 的工具调用请求,调度 Playwright 执行真实浏览器操作核心依赖的 Playwright 版本为 1.57.0,支持 Chromium、Firefox 和 WebKit 三种浏览器引擎。项目还集成了 @playwright/browser-* 三种系统浏览器包,确保容器环境下也能运行(无需额外安装浏览器)。
1. 浏览器页面交互
MCP Server 提供了完整的浏览器操作工具集:页面导航(goto)、元素定位与点击、表单填写、JavaScript 执行、页面截图、PDF 生成等。与纯代码的 Playwright 测试脚本不同,这些操作可以通过 AI 自然语言指令触发。例如,对 AI 说"截取 Google 首页的截图",AI 便会调用 playwright_navigate 工具打开页面,再调用截图工具获取结果。
2. API 测试能力
除了浏览器自动化,项目还提供了专门的 API 测试工具集(src/tools/api),支持 HTTP 请求的发送、响应验证和自动化测试。对于需要同时验证前端和后端 API 的复杂场景,一个 MCP 会话即可覆盖。
3. 代码自动生成(Codegen)
这是项目最具亮点的功能之一。codegen 工具集可以根据页面交互操作自动生成 Playwright 测试代码。当 AI 完成一系列页面操作后,可以调用 codegen 工具将操作历史翻译成可执行的测试脚本,极大降低了测试用例的编写门槛。
4. 设备模拟(Device Emulation)
v1.0.10 新增了 143 种真实设备预设配置,涵盖 iPhone、iPad、各类 Android 手机、桌面浏览器。开发者可以用自然语言指定目标设备,Server 会自动配置 User-Agent、视口尺寸、触控事件和设备像素比。例如 "测试 iPhone 13 上的页面布局" 或 "旋转为横屏模式"。
5. 监控与日志系统
项目内置了 MonitoringSystem(监控)、Logger(日志)和 RateLimiting(限流)三个子模块,支持内存监控、健康检查、请求限流和 JSON 格式日志输出。这些能力在长期运行的 MCP 会话中非常重要,可以帮助运维人员了解 Server 的运行状态。
快速体验(推荐新手):使用 npm 全局安装后,直接通过 Claude Desktop、Cursor 或 Cline 的 MCP 配置即可使用,无需理解底层协议。一条命令 npm install -g @executeautomation/playwright-mcp-server 即可完成安装,全程不到 2 分钟。
深度集成(适合开发者):通过 Docker Compose 可以一键启动预构建容器,适合在服务器环境或 CI/CD 流水线中集成。Dockerfile 采用了多阶段构建,基础镜像为 node:20-slim,最终产物仅为生产依赖,确保镜像体积最小化。HTTP 服务模式(--port 参数)允许将 MCP Server 作为独立服务运行,供多个客户端共享。
代码本身需要 Node.js >= 18 环境,TypeScript 编译后通过 tsc 输出到 dist/ 目录。package.json 中的 prepare 脚本实现了安装即编译,测试套件基于 Jest + jest-playwright-preset,代码质量保障较为完善。
项目提供了双轨部署路径:npm 全局安装(适合桌面端 AI 助手集成)或 Docker 容器(适合服务器/CI 场景)。Docker Compose 文件提供了开箱即用的容器编排,理论上可以 5 分钟内完成部署。唯一需要注意的是,Dockerfile 依赖预先构建的 node_modules 和 dist 目录,不支持直接从源码构建(需要开发者先本地构建再 COPY)。
硬件需求极低:无 GPU 要求,内存仅需 1GB,磁盘占用约 500MB,非常适合在轻量级环境甚至树莓派上运行。

图1:Playwright MCP Server 在 Claude Desktop 中的集成效果截图
1. 安全风险不可忽视:将浏览器控制权交给 AI 存在固有的安全风险。恶意的 AI 指令可能通过 MCP Server 执行非预期的浏览器操作(如自动填写敏感表单、访问恶意网站、下载文件)。目前项目没有内置沙箱隔离或权限控制机制,使用时需要格外注意网络环境和 AI 指令来源的可信度。
2. Docker 构建流程不够"原生":Dockerfile 依赖"本地预先构建 + COPY"的方式,意味着容器镜像无法从源码直接构建。这对想要 Pull-and-Run 的用户不够友好,是当前部署体验的主要槽点。
3. stdio 模式的日志困境:在 stdio 模式下,日志输出被强制关闭(避免污染 stdout),监控功能也被禁用。如果 Server 运行异常,用户缺少可追溯的日志信息来诊断问题,只能通过切换到 HTTP 模式来启用日志。
Playwright MCP Server 的出现标志着 "AI + 浏览器自动化" 这一赛道的标准化进程。与之前开发者自行编写 Playwright 脚本调用 AI API 的零散方案相比,MCP 协议提供了一套通用的工具调用规范,使得任何兼容 MCP 的 AI 客户端都能无缝使用这套浏览器自动化能力。
从增长数据看(5539 stars,2024年12月至今持续活跃维护),该项目在 MCP Server 生态中处于头部位置。其代表的"AI 作为浏览器操作者"的范式,与 Anthropic 的 Computer Use、OpenAI 的 Browser Use 方向一致,但以更轻量、更专注的方式实现。随着 MCP 协议被更多 IDE 和 AI 工具采用,这类浏览器自动化 MCP Server 的需求将会持续增长。

图2:Glama AI MCP 目录中的质量评分徽章