关于 Playwright MCP Server
Playwright MCP Server 通过 Playwright 提供网页导航、文本读取和鼠标交互,适用于需要检查和操作网页的 MCP 客户端。
主要功能
- 01导航至指定 URL
- 02读取完整或可见页面文本
- 03检测交互元素及其坐标
- 04模拟鼠标移动、点击、滚动和拖放
- 05通过 echo 测试消息
适用场景
- 01通过 MCP 客户端读取网页内容
- 02在浏览器操作前定位交互元素
- 03执行基于鼠标的页面交互
- 04用 echo 测试 MCP 连接
MCP 相关
这是一个 MCP 服务,向 MCP 客户端提供 Playwright 导航、页面内容、元素检测和鼠标操作工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Playwright MCP Server
English | 日本語
本项目是一个使用 Model Context Protocol(MCP)提供 Playwright 网页内容检索功能的服务。
功能
- 页面导航
- 检索整个页面的内容
- 检索可见内容
- 检测交互元素
- 模拟鼠标操作
- 用于测试的回显功能
安装
通过 Smithery 安装
通过 Smithery 自动为 Claude Desktop 安装 Playwright MCP Server:
npx -y @smithery/cli install @showfive/playwright-mcp-server --client claude
手动安装
npm install
使用方法
启动服务
npm run build
npm start
MCP 工具
可用的工具如下:
-
navigate- 导航至指定 URL
- 参数:
{ url: string } - 返回:导航结果
-
get_all_content- 检索整个页面的内容
- 参数:无
- 返回:页面中的所有文本内容
-
get_visible_content- 检索当前可见的内容
- 参数:
{ minVisiblePercentage?: number } - 返回:可见文本内容
-
get_interactive_elements- 获取页面上交互元素(按钮、链接等)的位置信息
- 参数:无
- 返回:交互元素的坐标和边界信息
-
move_mouse- 将鼠标光标移动到指定坐标
- 参数:
{ x: number, y: number } - 返回:操作结果
-
mouse_click- 在指定坐标执行鼠标点击
- 参数:
{ x: number, y: number, button?: "left" | "right" | "middle", clickCount?: number } - 返回:点击操作结果
-
mouse_wheel- 执行鼠标滚轮滚动
- 参数:
{ deltaY: number, deltaX?: number } - 返回:滚动操作结果
-
drag_and_drop- 执行拖放操作
- 参数:
{ sourceX: number, sourceY: number, targetX: number, targetY: number } - 返回:拖放操作结果
-
echo- 用于测试的回显工具
- 参数:
{ message: string } - 返回:发送的消息
开发
运行测试
# Run all tests
npm test
# Run tests in watch mode
npm run test:watch
# Generate coverage report
npm run test:coverage
测试结构
tools/*.test.ts:每个工具的功能测试mcp-server.test.ts:MCP 服务功能测试
实现功能
-
内容检索
- 检索整个页面的内容
- 仅检索可见内容
- 正确解析 HTML
-
交互
- 检测交互元素并获取其位置信息
- 模拟鼠标操作(移动、点击、滚动)
- 支持拖放
-
错误处理
- 正确处理导航错误
- 超时处理
- 检测无效 URL
-
灵活配置
- 选择无头或有头模式
- 自定义 user agent
- 设置视口大小
重要说明
- 使用 MCP 服务前,请确保已设置必要的环境变量
- 检索网页内容时,请遵守目标网站的服务条款
- 发送多个请求时,请保持适当的间隔
- 执行鼠标操作时,请保持适当的间隔,因为这些操作会模拟实际的用户交互
许可证
ISC
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。