Add playwright-mcp package - #23
Closed
Pentusha wants to merge 35 commits into
Closed
Conversation
Fix all deadnix and statix warnings
…ith file locations table
There was a problem hiding this comment.
Pull request overview
This PR adds support for running the Playwright MCP server from the flake and documents how to configure it for MCP-compatible clients.
Changes:
- Added a
playwright-mcpNix package (Node workspace build) and exposed it viaflake.nix. - Added flake
checksforplaywright-test,playwright-driver, andplaywright-mcp. - Updated driver-related Nix expressions (deps/args cleanups) and documented MCP configuration + config file locations in the README.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Documents how to run/configure the new Playwright MCP server and where MCP config files live for Claude tools. |
| playwright-mcp/package.nix | Introduces a playwright-mcp package build and wraps the executable with Playwright-related environment. |
| flake.nix | Exposes playwright-mcp as a flake package and adds basic build/runtime checks. |
| playwright-driver/webkit.nix | Adds hyphen to WebKit runtime deps and minor overrideAttrs lambda cleanup. |
| playwright-driver/ffmpeg.nix | Removes an unused argument and normalizes the revisionOverrides default. |
| playwright-driver/driver.nix | Removes unused parameters/defaults and minor attribute-set cleanup. |
| playwright-driver/chromium.nix | Removes unused parameters from the function signature. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Fetch latest version from Microsoft/playwright-mcp releases - Update version, src hash, and npmDepsHash in package.nix
- Replace hardcoded 'playwright-mcp-internal' with ${pname}
- Add comment explaining why manual copy/symlink fix is needed
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v4...v6) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Fix empty PR summary caused by backticks being interpreted as command
substitution when expanded via ${{ }} in shell context. Add dedicated
flake inputs section showing nixpkgs and flake-utils revision changes.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
GitHub Actions events created with GITHUB_TOKEN do not trigger other workflows. Switch to a PAT so that PRs created by auto-update properly trigger the CI workflow. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Remove unused github_api_get(), github_api_curl_args, and major_minor() functions. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace separate check-linux and check-darwin jobs with a single job using an os matrix. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Change commit message from single version to 'Auto-update dependencies DATE' - Include full PR body in commit message for better context - Remove unused version.txt reference
## Summary ### Flake inputs | Input | Old | New | |-------|-----|-----| | nixpkgs | `68d8aa3` | `4c1018d` |
## Summary ### Flake inputs | Input | Old | New | |-------|-----|-----| | nixpkgs | `4c1018d` | `4bd9165` |
Collaborator
|
This does a lot more than it says in the title, including many minor stylistic changes, changing how update scripts work, and has an messy commit history. I'd be happy to review individual PRs for each of these changes, but not one big messy one. |
## Summary ### Flake inputs | Input | Old | New | |-------|-----|-----| | nixpkgs | `4bd9165` | `b12141e` |
## Summary ### Flake inputs | Input | Old | New | |-------|-----|-----| | nixpkgs | `b12141e` | `0726a0e` |
## Summary ### Core packages | Package | Old | New | |---------|-----|-----| | Playwright MCP | `0.0.70` | `0.0.71` | ### Release notes - [Playwright MCP v0.0.71](https://github.com/microsoft/playwright-mcp/releases/tag/v0.0.71)
Remove workspace-specific build logic as v0.0.71 is now a flat package structure Agent-Logs-Url: https://github.com/Pentusha/playwright-web-flake/sessions/2068e708-699b-4d15-9ec7-b1f2cb22f29d Co-authored-by: Pentusha <1904496+Pentusha@users.noreply.github.com>
## Summary ### Flake inputs | Input | Old | New | |-------|-----|-----| | nixpkgs | `0726a0e` | `1c3fe55` |
Contributor
Author
|
@bitbloxhub yes, for sure. I'll open few new PRs instead soon. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds support for the Playwright MCP server and introduces automated dependency updates with CI integration.
New features
#playwright-mcpthat packages the official Microsoft Playwright MCP serverflake.lock, and creates/updates a PR with a detailed summary of changesnix buildandnix flake checkon Linux and macOS for every PR; auto-merges PRs labeledauto-updateafter CI passesCleanup
actions/checkoutfrom v4 to v6Setup required by the repository owner
The auto-update workflow needs a Personal Access Token so that PRs it creates trigger the CI workflow (events from the default
GITHUB_TOKENdo not trigger other workflows).1. Create a fine-grained PAT
When creating the token:
Contents: Read and write,Pull requests: Read and write2. Add the token as a repository secret
3. Create the
auto-updatelabelThe CI workflow uses this label to identify PRs eligible for auto-merge.
Usage
Claude Configuration
Add to your MCP config file:
{ "mcpServers": { "playwright": { "command": "nix", "args": ["shell", "github:pietdevries94/playwright-web-flake#playwright-mcp", "--command", "playwright-mcp", "--headless"] } } }~/.config/claude/claude_desktop_config.json.mcp.json(project root)