Tabbit博客

Claude Code 配置 Playwright MCP 并验证网页

区分 Claude Code 的配置范围,注册 Playwright MCP,再检查连接和网页工具。

本文目录
  1. 先记住这几件事
  2. 先选配置范围
  3. 先注册一套个人测试配置
  4. 团队共用时写进项目配置
  5. 用公开网页验证连接
  6. 根据失败现象排查
  7. 哪些任务需要现有标签页?

用 claude mcp add 注册 Playwright MCP 前,先确定它应该在哪些项目生效。只想在当前项目自己用,选 local。希望队友审核后共用,选 project。只为自己配置但要跨项目使用,选 user。注册后分别核对连接状态和浏览器返回的结果。

有位 Claude Code 用户把 --isolated 放在 Claude 的参数区,收到未知选项错误。这个参数要放在分隔符后面,交给 Playwright。后文用 Tabbit Browser 说明任务需要已登录标签页时怎么选择连接方式。原始讨论

先记住这几件事

  • 从项目根目录开始。local 和 project 都和项目绑定,但保存位置和分享对象不同。

  • --scope、--transport 写在 -- 之前。--headless、--isolated 写在服务启动命令后。

  • 有配置条目不代表启动成功。看 claude mcp list 的连接状态,再核对新会话的工具。

  • 用公开测试页做一次可核对的读取。看到工具的 URL 和标题比只看聊天答案更可靠。

  • 按任务选范围和会话。首次验证用临时隔离浏览器就够了。

先选配置范围

范围对谁生效配置在哪里何时选
local当前用户、当前项目~/.claude.json 的项目记录个人配置或第一次试用
project当前项目和批准服务的队友项目根目录 .mcp.json团队审核后复用
user当前用户的多个项目~/.claude.json 的用户级配置多个工作区都用到的私有工具

默认范围是 local。它不会在你切换到另一个项目后继续生效。Anthropic 说明,同名服务器按 local、project、user 的顺序匹配。改了配置却发现当前条目仍用另一条命令时,先检查是否存在更高优先级的同名条目。Claude Code MCP 范围说明

同一个 Playwright 浏览器自动化服务 可以接到不同编码助手。客户端的外层配置要分别写。Codex 使用 TOML,可以参照 Codex 的 Playwright MCP 配置。Claude Code 的项目配置是 JSON。

先注册一套个人测试配置

确认 Claude Code 和 npx 可以在同一终端运行。Playwright 入门文档要求 Node.js 20 或更新版本。以下命令固定本文验证过的包版本,打开一个无窗口、临时状态的浏览器会话。Playwright MCP 安装说明

claude --version
node --version
claude mcp add --scope local --transport stdio playwright -- npx -y @playwright/mcp@0.0.84 --headless --isolated
claude mcp list

分隔符左边由 Claude 处理。右边是实际服务命令及参数。如果报 unknown option '--headless',先核对参数放在了哪一边。--headless 管窗口是否显示,--isolated 管本次会话用什么状态。Anthropic stdio 语法

团队共用时写进项目配置

团队要共用同一个启动命令,可以在项目根目录放 .mcp.json,或注册时选择 --scope project。队友能看到会启动哪个程序、传哪些参数,并按 Claude Code 的项目批准流程决定是否启用。令牌和私有路径不要写进共用文件。Claude Code MCP 快速上手

{
  "mcpServers": {
    "playwright": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@playwright/mcp@0.0.84", "--headless", "--isolated"]
    }
  }
}

这份配置只规定怎么启动工具,账号和访问权限仍由浏览器会话和组织策略决定。如果测试环境需要登录,另外准备获准的测试账号和浏览器配置。浏览器配置和工作区指南 说明了浏览器配置与标签页各自保存哪些状态。

用公开网页验证连接

在当前项目新开 Claude Code 会话,用 /mcp 找到 Playwright。接着发一个能核对结果的任务,点名 Playwright MCP,避免助手用 shell 或 联网搜索 代替本次要验证的连接。

使用 Playwright MCP 打开
https://www.selenium.dev/selenium/web/web-form.html。
从浏览器工具结果报告最终 URL 和第一个可见标题。
不填写或提交内容,读完就停止。

练习页面应显示 Web form。如果导航工具只给出快照文件路径,可以再调用 browser_snapshot,查看结构化结果中的标题。确认工具轨迹、最终 URL 和标题一致,再让 Agent 点控件。浏览器智能体原理 解释了为什么执行前后都需要观察页面状态。

本次使用 Claude Code 2.1.318、Node.js 22 和 Playwright MCP 0.0.84。在临时项目中,用 Claude Code 注册并检查配置范围和连接。然后用协议测试程序启动项目条目里的同一条命令,发现 browser_navigate 和 browser_snapshot,在 Selenium 练习页读取 Web form 一级标题。没有提交表单,也没有调用 Claude 模型回合。

在项目目录,local 条目显示已连接,project 条目等待批准。切换到另一个目录后,只看到 user 条目。

Claude Code 配置范围、Playwright MCP 工具和失败启动命令的实测结果
配置和连接状态由 Claude Code 验证。网页标题由项目配置中的同一启动命令返回。

根据失败现象排查

看到什么说明什么下一步查哪里
列表中没有服务当前环境没加载这条配置目录、范围、同名条目、JSON 语法
项目等待批准找到了配置,还需要授权看过 .mcp.json 的启动命令后,走项目批准流程
显示连接失败有条目,MCP 服务没有完成连接可执行文件、参数、终端 PATH、服务 stderr
服务连接了但没有看到目标工具还要查工具发现、搜索或权限/mcp、当前会话、工具名称和权限策略
调用工具后网页打不开需要查浏览器启动或导航浏览器通道、可执行文件、网址和网络

本地复现还注册了一个指向不存在可执行文件的服务。配置里可以看到它,连接检查却失败。把 --headless 移到 -- 左边,CLI 则会在任何浏览器启动前报未知选项。一个是启动失败,一个是命令解析失败,处理办法不同。

另一位用户遇到过 claude mcp list 有时显示已连接,当前会话的 /mcp 却没有服务。重新编辑配置前,先核对这两处的状态。原始讨论

服务器公布的工具不一定都立即出现在模型上下文。Anthropic 说明,工具搜索可以在需要时再加载工具定义。新开会话后,点名要求一次只读操作,并从轨迹中确认工具名称。权限策略拒绝时,先核对原因。确定任务确实需要不同能力后,再比较 其他浏览器自动化工具。Anthropic 工具搜索文档

哪些任务需要现有标签页?

这套隔离启动适合复现公开页的操作。如果任务从已登录的后台开始,先决定需要共享哪个标签页、账号和工作区。打开预期页面,让工具先只读标题和账号标识。连接现有浏览器的指南 列出了写入前的核对项。

Tabbit Browser 有另一种接入方式,支持包括 Claude Code 在内的编码助手。想让助手操作现有 Tabbit 标签页时,可以按产品文档配置。有赞卖家表单录屏 展示了在真实账号环境填写后,回列表读回结果的过程。原录屏用的是另一个编码助手,用来说明浏览器端的核对步骤。Tabbit 快速上手

新项目先用 local 范围跑一张公开测试页。团队确实要共用时再审核 project 配置,多项目都需要时再考虑 user。遇到已登录任务,选择明确授权的 浏览器连接方式。无论哪种方式,都让 浏览器自动化 交付一个可以独立核验的结果。

常见问题

Claude Code 怎么添加 Playwright MCP?

在项目根目录运行 claude mcp add --scope local --transport stdio playwright -- npx -y @playwright/mcp@0.0.84 --headless --isolated。用 claude mcp list 检查连接,再开一个新会话验证浏览器工具。

project 和 user 范围有什么区别?

project 把配置写进项目根目录的 .mcp.json,队友可以审核和批准。user 把条目保存在当前用户的私有配置里,可以跨项目使用。

默认的 local 配置保存在哪里?

Claude Code 把 local 条目放在用户配置的当前项目记录下。这个范围只在当前项目生效,不随仓库共享。

Playwright 已连接,为什么看不到工具?

先在新会话确认目录、项目授权、同名条目和权限。工具搜索也可能延迟加载定义,可以点名要求一次只读操作,再检查实际调用。

这个配置需要 Claude in Chrome 扩展吗?

本文的 stdio 配置会启动 Microsoft Playwright MCP 的隔离浏览器会话。需要使用现有标签页时,再单独选择 Chrome 扩展或其他明确的连接方式。

下一步

让 Tabbit 与你并肩工作。

跨标签页调研、自动化重复的浏览器工作,让每一处上下文都触手可及。