playwright-mcp-skill
Run browser automation through @playwright/mcp over UXC stdio MCP, with daemon-friendly session reuse and safe action guardrails. Use when tasks need deterministic page navigation, DOM snapshots, and scripted browser interaction from CLI.
安装与使用
请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。
查看来源 ↗使用指南技能说明
Playwright MCP Skill
Use this skill to run Playwright MCP operations through uxc using fixed stdio endpoints.
Reuse the uxc skill for generic protocol discovery, auth/error handling, and envelope parsing rules.
Prerequisites
-
uxcis installed and available inPATH. -
npxis available inPATH(Node.js installed). - Network access for first-time
@playwright/mcppackage fetch. - Browser runtime can start locally (headless mode is default in this skill).
Core Workflow (Playwright-Specific)
Endpoint candidate inputs before finalizing:
- Raw package form from docs:
npx @playwright/mcp@latest - Reliable non-interactive form:
npx -y @playwright/mcp@latest - Isolated/headless stable form (default for this skill):
-
npx -y @playwright/mcp@latest --headless --isolated - Shared-profile headless form (for persistent login state):
-
npx -y @playwright/mcp@latest --headless --user-data-dir ~/.uxc/playwright-profile - Shared-profile headed form (for interactive debug with same login state):
-
npx -y @playwright/mcp@latest --user-data-dir ~/.uxc/playwright-profile
-
- Verify protocol/path from official source and probe:
- Official source:
https://github.com/microsoft/playwright-mcp - probe candidate endpoints with:
-
uxc "npx -y @playwright/mcp@latest --headless --isolated" -h
-
- Confirm protocol is MCP stdio (
protocol == "mcp"in envelope).
- Official source:
- Detect auth requirement explicitly:
- Run host help or a minimal read call and inspect envelope.
-
@playwright/mcpdefault flow is no OAuth/API key for local stdio use.
- Use fixed link command by default:
-
command -v playwright-mcp-cli - If missing, create it:
-
uxc link playwright-mcp-cli "npx -y @playwright/mcp@latest --headless --isolated"
-
- Optional shared-profile dual command setup for persistent sessions:
-
command -v playwright-mcp-headless -
command -v playwright-mcp-ui -
uxc link --daemon-exclusive ~/.uxc/playwright-profile playwright-mcp-headless "npx -y @playwright/mcp@latest --headless --user-data-dir ~/.uxc/playwright-profile" -
uxc link --daemon-exclusive ~/.uxc/playwright-profile playwright-mcp-ui "npx -y @playwright/mcp@latest --user-data-dir ~/.uxc/playwright-profile"
-
-
playwright-mcp-cli -h - If command conflict is detected and cannot be safely reused, stop and ask skill maintainers to pick another fixed command name.
-
- Inspect operation schema before execution:
-
playwright-mcp-cli browser_navigate -h -
playwright-mcp-cli browser_snapshot -h -
playwright-mcp-cli browser_click -h
-
- Prefer read-first interaction:
- Start with navigation/snapshot before mutating page state.
- Execute actions with explicit confirmation when impact is high:
- Confirm before form submission, checkout, delete/destructive actions, or irreversible multi-step flows.
Guardrails
- Keep automation on JSON output envelope; do not rely on
--text. - Parse stable fields first:
ok,kind,protocol,data,error. - Use
playwright-mcp-clias default command path. -
playwright-mcp-cli <operation> ...is equivalent touxc "npx -y @playwright/mcp@latest --headless --isolated" <operation> .... - Use direct
uxc "<endpoint>" ...only as temporary fallback when link setup is unavailable. - If browser profile conflict appears, keep
--isolatedin endpoint and retry via the same fixed link command. - When using shared
--user-data-dir, run headless/headed links serially (not concurrently). - To enable seamless switching between headed UI login and headless CLI automation using the same profile directory, set a daemon exclusive key:
- Prefer link-level setup (recommended above), or set
UXC_DAEMON_EXCLUSIVE=~/.uxc/playwright-profilefor ad-hoc runs. - If the profile is still busy (another session is actively running), fallback:
uxc daemon stop
- Prefer link-level setup (recommended above), or set
- Prefer
browser_snapshotover screenshots for model-action loops.
References
- Invocation patterns:
-
references/usage-patterns.md
-
使用示例
查看来源仓库中的使用示例与配置说明。
查看来源 ↗来源历史
- 收录时间
- 2026-03-11
- 索引更新时间
- 2026-03-11
- Branch
- main
收录与同步日期属于本站记录。源码修改历史请查看来源仓库。
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!