SuperAPI AI 工具集

playwright-plus-python-mcp

playwright-plus-python-mcp 是一个基于 Playwright 的 MCP 服务器,专为 LLM 提供浏览器自动化能力。它通过 MCP 协议向大语言模型暴露一组浏览器操作工具,包括导航、截图、点击、填写表单、执行 JavaScript、按文本点击、获取可见文本内容以及获取页面 HTML 内容等。该服务器还实现了一个简单的笔记存储系统,提供 note:// URI 方案访问单条笔记,并附带一个 summarize-notes 提示词用于汇总所有笔记。项目以 Python 编写,可通过 PyPI 发布分发,适合需要让 AI 代理直接操控浏览器完成网页交互任务的场景。

访问官网

工具介绍

用途

playwright-plus-python-mcp 是一个 MCP(Model Context Protocol)服务器,将 Playwright 的浏览器自动化能力封装为可供 LLM 调用的工具集。其目标是让大语言模型能够直接操控浏览器,完成导航、截图、点击、填表、执行脚本等网页交互任务。

主要能力

该服务器实现以下工具:

  • playwright_navigate:导航到指定 URL。若当前没有活动会话,会自动创建新会话。需要 url 参数(字符串)。
  • playwright_screenshot:对当前页面或特定元素截图。需要 name 参数(字符串)作为截图文件名;可选 selector 参数(字符串)指定要截图的元素的 CSS 选择器,若不提供则截取整页。
  • playwright_click:使用 CSS 选择器点击页面元素。需要 selector 参数(字符串)。
  • playwright_fill:填写输入框。需要 selector 参数(字符串)指定输入框的 CSS 选择器,以及 value 参数(字符串)指定要填入的值。
  • playwright_evaluate:在浏览器控制台执行 JavaScript 代码。需要 script 参数(字符串)。
  • playwright_click_text:按文本内容点击页面元素。需要 text 参数(字符串)。
  • playwright_get_text_content:获取所有可见元素的文本内容。
  • playwright_get_html_content:获取页面的 HTML 内容。需要 selector 参数(字符串)指定元素的 CSS 选择器。

此外,服务器还实现了一个简单的笔记存储系统:

  • 自定义 note:// URI 方案,用于访问单条笔记;每条笔记资源包含名称、描述和 text/plain MIME 类型。
  • 提供一个提示词 summarize-notes:为所有已存储笔记创建摘要,可选 style 参数控制详细程度(brief/detailed),生成结合所有当前笔记与风格偏好的提示词。

使用方式

项目为 Python 实现,可通过 PyPI 发布分发。构建与发布流程包括:同步依赖并更新锁文件、构建包分发(在 dist/ 目录生成源码包和 wheel 包)、发布到 PyPI(需通过环境变量或命令行标志设置 PyPI 凭据,如 token 使用 --token 或 UV_PUBLISH_TOKEN,用户名/密码使用 --username / UV_PUBLISH_USERNAME 和 --password / UV_PUBLISH_PASSWORD)。

配置方面,资料中给出 Claude 桌面配置文件的路径:macOS 为 ~/Library/Application Support/Claude/claude_desktop_config.json,Windows 为 %APPDATA%/Claude/claude_desktop_config.json。资料中标注了 TODO:添加针对具体实现的配置细节,因此完整的配置示例暂未提供。

由于 MCP 服务器通过 stdio 运行,调试可能较为困难。资料建议使用 MCP Inspector 获得最佳调试体验,可通过 npm 命令启动,启动后 Inspector 会显示一个 URL,可在浏览器中访问以开始调试。

适用场景

适用于需要让 LLM 或 AI 代理直接操控浏览器完成网页任务的场景,例如自动导航网页、截取页面或元素截图、点击按钮或链接、填写表单、执行页面内 JavaScript、按文本定位并点击元素、提取页面可见文本或 HTML 内容等。

限制

资料未提供具体的安装命令、依赖版本、运行环境要求、支持的浏览器类型、性能或效果说明,也未提供完整的配置示例(标注为 TODO)。笔记存储系统与 summarize-notes 提示词的具体用途和集成方式在资料中未进一步说明。