Mirrored from GitHub github.com/roostorg/osprey
0

Configure Feed

Select the types of activity you want to include in your feed.

playwright-mcp: install + register Playwright MCP devDep (#243)

Co-authored-by: Leon Shi <101139283+cmttt@users.noreply.github.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Juan Mrad <juansmrad@gmail.com>

author
hailey
co-author
Leon Shi
co-author
Claude Opus 4.7 (1M context)
co-author
Juan Mrad
committer
GitHub
date (May 5, 2026, 10:03 PM -0700) commit deebc55e parent 4d50e64a
+40
+8
.mcp.json
··· 1 + { 2 + "mcpServers": { 3 + "playwright": { 4 + "command": "npx", 5 + "args": ["-y", "@playwright/mcp@0.0.73", "--headless", "--browser", "chromium"] 6 + } 7 + } 8 + }
+31
AGENTS.md
··· 89 89 cargo test --verbose # advisory 90 90 ``` 91 91 92 + ## Browser MCP (UI verification) 93 + 94 + A project-scoped MCP server (`.mcp.json` at repo root) registers `@playwright/mcp@0.0.73` via `npx`. When Claude Code launches in this repo it gets `browser_navigate`, `browser_snapshot`, `browser_evaluate`, `browser_take_screenshot`, and the rest of the `browser_*` tool surface — useful for verifying visual UI changes against the running dev server without a full automated test suite. There is intentionally no `playwright.config.ts` / `@playwright/test` integration and no devDep in `osprey_ui/package.json`; the MCP is for ad-hoc verification, not CI. 95 + 96 + All commands in this section — including any `--dry-run` previews — are **operator-run only**. Agents must never execute them. If a prereq is missing, the agent surfaces *what the operator should run* and waits. 97 + 98 + The MCP needs Playwright's bundled Chromium binary plus its system shared libs. Setup is platform-specific — Playwright's docs cover it across macOS / Windows / WSL / Linux: <https://playwright.dev/docs/browsers#install-browsers>. 99 + 100 + **Operator runs the binary install** (no sudo, user-cache only). Pinned via `@playwright/mcp@0.0.73`'s bundled `playwright-core`, so the downloaded Chromium build matches what the MCP server will launch: 101 + 102 + ```bash 103 + npx -y @playwright/mcp@0.0.73 install-browser chromium 104 + ``` 105 + 106 + System libs: 107 + 108 + - **macOS, recent Windows / WSL**: nothing extra to install. 109 + - **Linux**: distro-specific. **The operator** runs the dry-run to preview the package list `install-deps` would apt-install: 110 + 111 + ```bash 112 + npx -y playwright install-deps chromium --dry-run 113 + ``` 114 + 115 + …and then **the operator** runs the printed `apt-get install` line themselves. The agent does neither step. 116 + 117 + `install-deps` only auto-supports recent Ubuntu / Debian. Fedora, Arch, Alpine, and NixOS need manual lib installation — Playwright's troubleshooting docs cover their package names. 118 + 119 + Before calling `browser_navigate("http://localhost:5002")`, **the operator** starts the dev server (`cd osprey_ui && npm start`, listens on `:5002`). 120 + 121 + If the MCP approval prompt doesn't fire on a fresh `claude` launch, **the operator** runs `claude mcp reset-project-choices` and re-launches. 122 + 92 123 ## CI 93 124 94 125 CI runs entirely via GitHub Actions on `pull_request` and `push` to `main`. Each line below is one literal CI `run:` step, in workflow order. Run them in your shell (paste-as-is — no `&&` chaining, no error suppression — so each step's exit code matches the corresponding CI step's exit code):
+1
CHANGELOG.md
··· 12 12 - Upgrade `requests-mock` from 1.9.3 to 1.12.1 ([#176](https://github.com/roostorg/osprey/pull/176) by [@dependabot](https://github.com/dependabot)) 13 13 - Upgrade `antd` and `@ant-design/icons` to v5 (Ant Design 5 migration) ([#238](https://github.com/roostorg/osprey/pull/238) by [@haileyok](https://github.com/haileyok)) 14 14 - Replace `moment` with `dayjs` ([#238](https://github.com/roostorg/osprey/pull/238) by [@haileyok](https://github.com/haileyok)) 15 + - Add project-scoped Playwright MCP registration (`@playwright/mcp@0.0.73` via `npx`) so Claude Code can drive a browser against `osprey_ui` for ad-hoc UI verification ([#243](https://github.com/roostorg/osprey/pull/243) by [@haileyok](https://github.com/haileyok)) 15 16 16 17 ### 🛠 Breaking changes 17 18