Token导航 LogoToken导航

MCP Server · 浏览器工具

Playwright MCP Python

一个基于Playwright的浏览器自动化服务器,提供结构化可访问性快照和基于角色的定位器,使LLM能够与网页交互。

stdio官方级别未说明来源级核验工具 20
浏览器自动化Python网页交互模型集成

快速开始

作者 / 组织
lequan310
提供方
lequan310
运行时
Python

工具数量

20

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Playwright MCP Python 属于浏览器工具类 MCP Server,公开资料标注 20 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前先确认权限范围。

分类

浏览器工具

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

python src/server.py

客户端配置示例

{
  "mcpServers": {
    "playwright-mcp-python": {
      "command": "python",
      "args": [
        "src/server.py"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 20 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

Playwright MCP 服务器

一个模型上下文协议(MCP)服务器,通过使用(相关技术/方法)提供浏览器自动化功能 剧作家这个服务器使大型语言模型(LLMs)能够通过(某种方式)与网页进行交互 结构化无障碍快照 和 基于角色的定位器,从而绕过了需要截图或视觉调优模型的需求。

✨ 主要特点

  • 🎯(瞄准靶心) 基于角色的定位器使用可访问性树中的语义角色和名称,而非易变的CSS选择器
  • 📸(相机图标,通常表示拍照或照片) 自动快照每个操作都会自动返回更新后的页面状态
  • ♿ 代表无障碍设施的标志。 无障碍优先与屏幕阅读器以相同的方式与页面进行交互
  • 🚀 表情符号“🚀”在中文中通常被翻译为“火箭”或直接用其形象描述为“飞速上升”、“急速前进”等,具体翻译可能根据上下文有所不同。在这里,为了简洁明了,可以翻译为“火箭”或保持原样使用该表情符号。 由Playwright驱动利用Playwright强大的浏览器自动化功能

🚀 设置

先决条件

  • Python 3.13或更高版本
  • 紫外线 包管理器

安装

  1. 使用 Python 3.13 创建一个虚拟环境:
uv venv --python 3.13
  1. 安装依赖项:
uv sync
  1. 安装 Playwright 浏览器二进制文件:
playwright install chromium

🏃 运行服务器

开发模式(带检查器)

对于使用FastMCP检查器进行的本地开发和测试:

fastmcp dev src/server.py

这将启动一个交互式检查器,您可以在其中测试工具并实时查看浏览器交互情况。

对于单客户端模式:

python src/server.py

工具

Core automation

  • 浏览器点击

- 标题:点击 - 描述:在网页上执行点击操作 - 参数: - element (字符串):人类可读的元素描述 - locator (元素定位器):元素定位器 - 使用ARIA的AriaNode或(其他方式,此处根据上下文可能指非ARIA的定位方法,但原文未明确,故保留泛指) role 和 name 字段,或带有选择器的(功能/组件) selector 田野 - nth (数字,可选):当多个元素匹配时,使用基于零的索引来指定(例如,nth=0 表示第一个,nth=1 表示第二个) - double_click (布尔值,可选):是否执行双击而不是单击 - button (字符串,可选):要点击的按钮(左、右、中),默认为左键 - modifiers (数组,可选):要按下的修饰键(Alt、Control、Meta、Shift) - 只读: 错误的

  • 浏览器关闭

- 标题:关闭浏览器 - 描述:关闭浏览器并清理所有资源 - 参数:无 - 只读: 错误的

  • 浏览器拖拽

- 标题:拖动鼠标 - 描述:在两个元素之间执行拖放操作 - 参数: - start_element (字符串):人类可读的源元素描述 - start_locator (ElementLocator): 源元素定位器 - 可以是带有ARIA的AriaNode role 和 name 字段,或者带有选择器的(部分) selector 田野 - start_nth (数字,可选):当有多个匹配项时,源元素的零基索引 - end_element (字符串):人类可读的目标元素描述 - end_locator (ElementLocator): 目标元素定位器 - 可以是带有ARIA的AriaNode role 和 name 字段,或带有选择器的(部分) selector 田野;领域;场地 - end_nth (数字,可选):当有多个匹配项时,目标元素的基于零的索引 - 只读: 错误的

  • 浏览器文件上传

- 标题:上传文件 - 描述:上传一个或多个文件 - 参数: - paths (数组,可选):要上传的文件的绝对路径。如果省略,则取消文件选择器。 - 只读: 错误的

  • 浏览器填写表单

- 标题:填写表格 - 描述:填写多个表单字段 - 参数: - fields (array): 一个FormField对象的列表,每个对象都包含 element (字符串), value (字符串), locator (ElementLocator),以及可选参数 nth (数字) - 只读: 错误的

  • 获取浏览器HTML内容

- 标题:获取HTML内容 - 描述:当定位器失败时,获取HTML内容以进行调试 - 参数: - selector (字符串,可选):用于从HTML中获取内容的CSS选择器(默认为body) - max_length (数字,可选):要返回的最大字符数(默认50000) - filter_tags (数组,可选):要移除的标签名称列表(例如,\['script', 'style'\])。默认值为 \['script'\] - 只读: 真

  • 获取浏览器文本内容

- 标题:获取页面的文本内容 - 描述:以Markdown格式获取页面的文本内容。在提取干净的文章文本时非常有用。 - 参数:无 - 只读: 真

  • 浏览器悬停

- 标题:鼠标悬停 - 描述:将鼠标悬停在页面上的元素上 - 参数: - element (字符串):可读的人类元素描述 - locator (ElementLocator): 元素定位器 - 可以是带有ARIA的AriaNode role 和 name 字段,或者带有选择器的(部分) selector 田野 - nth (数字,可选):当有多个元素匹配时,使用基于零的索引来指定(例如,nth=0 表示第一个,nth=1 表示第二个) - 只读: 错误的

  • 浏览器导航

- 标题:导航至URL - 描述:导航到一个URL - 参数: - url (字符串):要导航到的URL - 只读: 错误的

  • 浏览器返回上一页

- 标题:回去 - 描述:返回上一页 - 参数:无 - 只读: 错误的

  • 打开浏览器

- 标题:打开浏览器 - 描述:打开一个新的浏览器实例 - 参数:无 - 只读: 错误的

  • 按下浏览器按键

- 标题:按下一个键 - 描述:按下键盘上的一个键 - 参数: - key (字符串):要按下的键名或要生成的字符,例如 ArrowLeft 或者 a - 只读: 错误的

  • 浏览器调整大小

- 标题:调整浏览器窗口大小 - 描述:调整浏览器窗口大小 - 参数: - width (数字):浏览器窗口的宽度 - height (数字):浏览器窗口的高度 - 只读: 错误的

  • 浏览器搜索

- 标题:在谷歌上搜索 - 描述:使用谷歌搜索查找某个主题 - 参数: - query (字符串):要搜索的查询或主题 - 只读: 错误的

  • 选择浏览器选项

- 标题:选择选项 - 描述:在下拉菜单中选择一个选项 - 参数: - element (字符串):人类可读的元素描述 - values (array): 下拉列表中要选择的值的数组 - locator (元素定位器):元素定位器 - 可以是带有ARIA属性的ARIA节点 role 并且 name 字段,或者带有选择器的(部分) selector 田野(或领域,根据上下文可灵活翻译) - nth (数字,可选):当多个元素匹配时,使用从零开始的索引(例如,nth=0 表示第一个,nth=1 表示第二个) - 只读: 错误的

  • 浏览器快照

- 标题:页面快照 - 描述:捕获当前页面的无障碍性快照 - 参数: - locator (ElementLocator,可选):元素定位器 - 可以是带有ARIA的AriaNode role 和 name 字段,或者带有选择器的(部分) selector 田野 - nth (数字,可选):当有多个元素匹配时,使用从零开始的索引(例如,nth=0 表示第一个,nth=1 表示第二个) - 只读: 真

  • 浏览器截图

- 标题:截图 - 描述:对当前页面进行截图 - 参数: - type (字符串,可选):图像格式(png 或 jpeg)。默认为 png。 - element (字符串,可选):人类可读的元素描述 - locator (ElementLocator,可选):元素定位器 - 可以是带有ARIA的AriaNode role 并且 name 字段,或带有选择器的(部分) selector 田野;领域;现场;场地 - nth (数字,可选):当有多个元素匹配时,使用从零开始的索引(例如,nth=0 表示第一个,nth=1 表示第二个) - full_page (布尔值,可选):对整个可滚动页面进行截图 - 只读: 真

  • 浏览器类型

- 标题:输入文本 - 描述:在可编辑元素中输入文本 - 参数: - element (字符串):人类可读的元素描述 - text (字符串):要输入到元素中的文本 - locator (元素定位器):元素定位器 - 可以是带有ARIA的AriaNode role 并且 name 字段,或带有选择器的(部分) selector 田野 - nth (数字,可选):当有多个元素匹配时,使用基于零的索引(例如,nth=0 表示第一个,nth=1 表示第二个) - submit (布尔值,可选):是否提交(按回车键后) - slowly (布尔值,可选):是否每次输入一个字符 - 只读: 错误的

  • 等待浏览器(完成操作)

- 标题:等待浏览器 - 描述:等待指定的秒数时间。 - 参数: - time (int): 等待时间(秒) - 只读: 真

Tab management

  • 浏览器标签页

- 标题:管理标签页 - 描述:列出、创建、关闭或选择浏览器标签页 - 参数: - action (字符串):要执行的操作(列出、创建、关闭、选择) - index (数字,可选):用于关闭/选择操作的标签页索引。如果省略关闭操作,则关闭当前标签页。 - 只读: 错误的

工具与能力

工具数量

20

资源数量

0

提示词数量

0

能力标签

浏览器自动化Python本地部署可访问性PlaywrightLLM集成网页交互

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

自动操作网页

打开页面、点击、填表,把浏览器动作交给模型执行。

抓结构化数据

把页面内容整理成表格或 JSON,省掉手工复制粘贴。

走一遍关键流程

按步骤检查页面是否正常,回归时少漏环节。

选择建议

值得选的地方

  • 工具数量 20 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在浏览器工具场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Playwright MCP Python

MCP World · 本页

20stdio有1 个2026-05-17
Fetch 9a2682de

MCP.so

1SSE有3 个2026-05-17
Browser 738d52bc

MCP World

0stdio有1 个2026-05-17
Playwright MCP Server

MCP.so

21stdio有4 个2026-05-17
Skyvern MCP

MCP World

0stdio有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Playwright MCP Python 怎么安装?

公开资料给出的安装命令是 python src/server.py,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Playwright MCP Python 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Playwright MCP Python 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Playwright MCP Python 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Playwright MCP Python 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP