返回 MCP 目录
public公开dns本地运行

Playwright Web Browser

这是一个基于Model Context Protocol (MCP)的Playwright网页内容获取服务器,提供网页导航、内容抓取、交互元素检测和鼠标操作模拟等功能。

article

README

🚀 Playwright MCP 服务器

该项目是一个使用 Model Context Protocol (MCP) 提供 Playwright 网页内容检索功能的服务器,能实现页面导航、内容检索、交互元素检测等多种功能,为网页操作和测试提供便利。

🚀 快速开始

该项目是一个使用 Model Context Protocol (MCP) 提供 Playwright 网页内容检索功能的服务器。你可以按照以下步骤启动并使用该服务器。

✨ 主要特性

  • 页面导航
  • 全页内容检索
  • 可见内容检索
  • 交互元素检测
  • 鼠标操作模拟
  • 测试用例回响功能

📦 安装指南

使用 Smithery 安装

通过 Smithery 自动安装 Playwright MCP Server for Claude Desktop:

npx -y @smithery/cli install @showfive/playwright-mcp-server --client claude

手动安装

npm install

💻 使用示例

启动服务器

npm run build
npm start

MCP 工具

以下工具可供使用:

  1. navigate

    • 导航至指定 URL
    • 参数:{ url: string }
    • 返回值:导航结果
  2. get_all_content

    • 检索整个页面的内容
    • 参数:无
    • 返回值:页面中的所有文本内容
  3. get_visible_content

    • 检索当前可见的内容
    • 参数:{ minVisiblePercentage?: number }
    • 返回值:当前可见的文本内容
  4. get_interactive_elements

    • 获取交互元素的位置信息(按钮、链接等)
    • 参数:无
    • 返回值:页面上交互元素的坐标和边界信息
  5. move_mouse

    • 将鼠标指针移动到指定坐标
    • 参数:{ x: number, y: number }
    • 返回值:操作结果
  6. mouse_click

    • 在指定坐标执行鼠标点击
    • 参数:{ x: number, y: number, button?: "left" | "right" | "middle", clickCount?: number }
    • 返回值:点击操作的结果
  7. mouse_wheel

    • 执行鼠标滚轮滚动
    • 参数:{ deltaY: number, deltaX?: number }
    • 返回值:滚动操作的结果
  8. drag_and_drop

    • 执行拖放操作
    • 参数:{ sourceX: number, sourceY: number, targetX: number, targetY: number }
    • 返回值:拖放操作的结果
  9. echo

    • 测试用例回响工具
    • 参数:{ message: string }
    • 返回值:发送的消息

🔧 技术细节

运行测试

# 执行所有测试
npm test

# 以监控模式运行测试
npm run test:watch

# 生成覆盖率报告
npm run test:coverage

测试结构

  • tools/*.test.ts:每个工具的功能测试
  • mcp-server.test.ts:MCP 服务器功能测试

实现特点

  1. 内容检索

    • 全页内容检索
    • 可见内容-only 检索
    • 正确的 HTML 解析
  2. 交互操作

    • 交互元素检测和位置信息获取
    • 鼠标操作模拟(移动、点击、滚动)
    • 拖放支持
  3. 错误处理

    • 正确的导航错误处理
    • 超时处理
    • 无效 URL 检测
  4. 灵活性配置

    • 无头模式与有头模式选择
    • 自定义用户代理
    • 视口大小设置

📄 许可证

ISC

⚠️ 重要提示

  • 使用 MCP 服务器前请确保环境变量已正确设置。
  • 使用目标网站的服务条款进行内容检索时,请遵守相关规定。
  • 发送多个请求时保持适当的间隔。
  • 执行鼠标操作时,保持适当的时间间隔以模拟实际用户交互。
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端