Playwright MCP Server

Playwright MCP Server
精选

提供一个利用模型上下文协议的服务器,以实现类人浏览器的自动化,该服务器使用 Playwright,允许控制浏览器行为,例如导航、元素交互和滚动。

浏览器自动化
本地
TypeScript
访问服务器

README

Playwright MCP 服务器

smithery badge

English | 日本語

本项目是一个服务器,它使用模型上下文协议 (MCP) 提供 Playwright 网页内容检索功能。

功能

  • 页面导航
  • 完整页面内容检索
  • 可见内容检索
  • 交互元素检测
  • 鼠标操作模拟
  • 用于测试的回显功能

安装

通过 Smithery 安装

要通过 Smithery 自动为 Claude Desktop 安装 Playwright MCP 服务器,请执行以下操作:

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. 内容检索

    • 完整页面内容检索
    • 仅可见内容检索
    • 正确的 HTML 解析
  2. 交互

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

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

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

重要提示

  • 在使用 MCP 服务器之前,请确保已设置必要的环境变量
  • 检索网页内容时,请遵守目标网站的服务条款
  • 发送多个请求时,请保持适当的间隔
  • 执行鼠标操作时,请保持适当的间隔,因为它们会模拟实际的用户交互

许可证

ISC

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Excel MCP Server

Excel MCP Server

一个模型上下文协议服务器,使 AI 助手能够读取和写入 Microsoft Excel 文件,支持诸如 xlsx、xlsm、xltx 和 xltm 等格式。

精选
本地
Go
@kazuph/mcp-fetch

@kazuph/mcp-fetch

用于获取网页内容和处理图像的模型上下文协议服务器。这使得 Claude Desktop(或任何 MCP 客户端)能够适当地获取网页内容和处理图像。

精选
本地
JavaScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
Apple MCP Server

Apple MCP Server

通过 MCP 协议与 Apple 应用(如“信息”、“备忘录”和“通讯录”)进行交互,从而使用自然语言发送消息、搜索和打开应用内容。

精选
本地
TypeScript
DuckDuckGo MCP Server

DuckDuckGo MCP Server

一个模型上下文协议 (MCP) 服务器,通过 DuckDuckGo 提供网页搜索功能,并具有内容获取和解析的附加功能。

精选
Python
contentful-mcp

contentful-mcp

在你的 Contentful Space 中更新、创建、删除内容、内容模型和资源。

精选
TypeScript
YouTube Transcript MCP Server

YouTube Transcript MCP Server

这个服务器用于获取指定 YouTube 视频 URL 的字幕,从而可以与 Goose CLI 或 Goose Desktop 集成,进行字幕提取和处理。

精选
Python