关于 playwright-server MCP server
playwright-server 是一个基于 Python 的 MCP 服务,提供 Playwright 浏览器自动化工具,并附带简单的笔记资源和摘要提示词。适合希望让 AI 客户端完成网页导航、点击、填写和截图的开发者。README 中部分配置内容仍为待补充状态。
主要功能
- 01页面导航与自动新建会话
- 02整页或元素截图
- 03基于 CSS 选择器的点击与填写
- 04按文本内容点击元素
- 05执行 JavaScript 并读取页面内容
适用场景
- 01让 AI 客户端打开网页并截取页面或特定元素
- 02通过选择器自动填写表单并点击按钮
- 03读取页面文本或 HTML 以辅助分析
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端暴露 playwright_navigate、playwright_click、playwright_screenshot 等浏览器工具,并提供 note:// 笔记资源和 summarize-notes 提示词。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
playwright-server MCP 服务
\一个包含 playwright 工具的 MCP 服务\
组件
资源
该服务实现了一个简单的笔记存储系统:
- 使用自定义的 note:// URI 方案访问单条笔记
- 每个笔记资源都包含名称、描述和 text/plain MIME 类型
提示词
该服务提供一个提示词:
- summarize-notes:为所有已存储的笔记生成摘要
- 可选的 "style" 参数,用于控制详细程度(简略/详细)
- 结合所有当前笔记和风格偏好生成提示词
工具
该服务实现了以下工具:
playwright_navigate:跳转到指定 URL。如果没有活动会话,此操作会自动创建新会话。- 需要一个
url参数(字符串)。
- 需要一个
playwright_screenshot:截取当前页面或指定元素的屏幕截图。- 需要一个
name参数(字符串),用于指定屏幕截图文件名。 - 可选的
selector参数(字符串),用于指定要截图元素的 CSS 选择器。如果未提供选择器,则截取整个页面。
- 需要一个
playwright_click:使用 CSS 选择器点击页面上的元素。- 需要一个
selector参数(字符串),用于指定要点击元素的 CSS 选择器。
- 需要一个
playwright_fill:填写输入字段。- 需要一个
selector参数(字符串),用于指定输入字段的 CSS 选择器。 - 需要一个
value参数(字符串),用于指定要填入的值。
- 需要一个
playwright_evaluate:在浏览器控制台中执行 JavaScript 代码。- 需要一个
script参数(字符串),用于指定要执行的 JavaScript 代码。
- 需要一个
playwright_click_text:根据元素的文本内容点击页面上的元素。- 需要一个
text参数(字符串),用于指定要点击元素的文本内容。
- 需要一个
playwright_get_text_content:获取所有可见元素的文本内容。playwright_get_html_content:获取页面的 HTML 内容。- 需要一个
selector参数(字符串),用于指定元素的 CSS 选择器。
- 需要一个
配置
[TODO: 添加特定于此实现的配置详情]
快速入门
安装
Claude Desktop
MacOS:~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows:%APPDATA%/Claude/claude_desktop_config.json
开发中/未发布服务配置
``` "mcpServers": { "playwright-server": { "command": "uv", "args": [ "--directory", "C:\Users\xxxxx\Documents\project\python\mcp\playwright-server", "run", "playwright-server" ] } } ```已发布服务配置
``` "mcpServers": { "playwright-server": { "command": "uvx", "args": [ "playwright-server" ] } } ```开发
构建和发布
准备分发软件包:
- 同步依赖项并更新锁文件:
uv sync
- 构建软件包分发文件:
uv build
这将在 dist/ 目录中创建源码分发包和 wheel 分发包。
- 发布到 PyPI:
uv publish
注意:你需要通过环境变量或命令行标志设置 PyPI 凭据:
- 令牌:
--token或UV_PUBLISH_TOKEN - 或用户名/密码:
--username/UV_PUBLISH_USERNAME和--password/UV_PUBLISH_PASSWORD
调试
由于 MCP 服务通过标准输入输出(stdio)运行,调试可能颇具挑战。为了获得最佳调试 体验,我们强烈建议使用 MCP Inspector。
你可以通过 npm 使用以下命令启动 MCP Inspector:
npx @modelcontextprotocol/inspector uv --directory C:\Users\YUNYING\Documents\project\python\mcp\playwright-server run playwright-server
启动后,Inspector 会显示一个 URL,你可以在浏览器中访问该 URL 开始调试。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。