{"full_name":"microsoft/playwright-mcp","owner":"microsoft","name":"playwright-mcp","url":"https://github.com/microsoft/playwright-mcp","description":"Playwright MCP server","homepage":"https://www.npmjs.com/package/@playwright/mcp","topics":[],"language":"TypeScript","license":"Apache-2.0","avatar":"https://avatars.githubusercontent.com/u/6154722?v=4","created_at":"2025-03-21T17:48:36Z","pushed_at":"2026-11-10T01:37:49Z","metrics":{"stars":39400,"forks":3413,"watchers":150,"issues":943,"prs":865,"releases":74,"issues_open":null,"issues_closed":null,"prs_open":null,"prs_closed":null,"prs_merged":null,"discussions":0},"growth":{"day":{"stars":37,"forks":5,"base_day":"2026-11-09"}},"history":{"dates":["2026-11-09","2026-11-10"],"stars":[39363,39400],"forks":[3408,3413],"watchers":[150,150],"issues_open":[null,null],"prs_open":[null,null]},"boards":{},"same_owner":[{"full_name":"microsoft/vscode","name":"vscode","boards":{"daily_rate":199,"total":36}},{"full_name":"microsoft/markitdown","name":"markitdown","boards":{"weekly":111,"monthly":105,"daily_rate":200,"total":38}},{"full_name":"microsoft/PowerToys","name":"PowerToys","boards":{"total":81}},{"full_name":"microsoft/generative-ai-for-beginners","name":"generative-ai-for-beginners","boards":{"total":97}},{"full_name":"microsoft/TypeScript","name":"TypeScript","boards":{"total":118}},{"full_name":"microsoft/terminal","name":"terminal","boards":{"total":132}},{"full_name":"microsoft/playwright","name":"playwright","boards":{"total":144}},{"full_name":"microsoft/Web-Dev-For-Beginners","name":"Web-Dev-For-Beginners","boards":{"total":155}},{"full_name":"microsoft/ML-For-Beginners","name":"ML-For-Beginners","boards":{"total":172}},{"full_name":"microsoft/AI-For-Beginners","name":"AI-For-Beginners","boards":{}},{"full_name":"microsoft/AirSim","name":"AirSim","boards":{}},{"full_name":"microsoft/BitNet","name":"BitNet","boards":{}},{"full_name":"microsoft/Bringing-Old-Photos-Back-to-Life","name":"Bringing-Old-Photos-Back-to-Life","boards":{}},{"full_name":"microsoft/CNTK","name":"CNTK","boards":{}},{"full_name":"microsoft/Data-Science-For-Beginners","name":"Data-Science-For-Beginners","boards":{}},{"full_name":"microsoft/FluidFramework","name":"FluidFramework","boards":{}},{"full_name":"microsoft/IoT-For-Beginners","name":"IoT-For-Beginners","boards":{}},{"full_name":"microsoft/MMdnn","name":"MMdnn","boards":{}},{"full_name":"microsoft/Ontology-Playground","name":"Ontology-Playground","boards":{}},{"full_name":"microsoft/RD-Agent","name":"RD-Agent","boards":{}}],"issues":[{"number":1822,"title":"No docker image available for 0.0.84","comments":1,"created_at":"2026-11-04T06:09:26Z"},{"number":1808,"title":"Docker image: publish a build with Node's October root certificate update","comments":0,"created_at":"2026-10-30T07:07:55Z"}],"discussions":[],"latest_release":{"name":"v0.0.84","tag":"v0.0.84","published_at":"2026-10-31T15:20:06Z","body":"## ✨ Highlights\r\n\r\n- **👥 Separate sessions in one browser** — work with multiple accounts without sharing their cookies or storage. `browser_tabs` with `action: \"new\"` now accepts `isolatedContext: \"<name>\"`: tabs with the same name share a context, while different names stay isolated. Omit it or use `\"default\"` for the default context. Cookie and storage tools operate on the current tab's context. ([microsoft/playwright#43087](https://github.com/microsoft/playwright/pull/43087))\r\n- **🙈 Redact runtime values in URLs** ([#1791](https://github.com/microsoft/playwright-mcp/issues/1791)) — session and grant values minted at runtime cannot be listed in a secrets file ahead of time. `--redact-url-params=access_token,code` (config `redactUrlParams`, env `PLAYWRIGHT_MCP_REDACT_URL_PARAMS`) replaces the named query and fragment parameter values with `<redacted>` in tool responses. Like `secrets`, this is a convenience, not a security feature. The extension also removes its connection token from the connect page URL after reading it. ([microsoft/playwright#43258](https://github.com/microsoft/playwright/pull/43258))\r\n- **🔎 Bound find results** ([microsoft/playwright#42077](https://github.com/microsoft/playwright/issues/42077)) — common search terms no longer have to fill the response with every match. `browser_find` accepts a positive integer `maxResults`, returns the first matching items with their context, and reports the total match count. Omit it to keep returning all matches; ancestor paths are unchanged. ([microsoft/playwright#42947](https://github.com/microsoft/playwright/pull/42947))\r\n- **🌐 Inspect requests across navigations** ([microsoft/playwright-cli#479](https://github.com/microsoft/playwright-cli/issues/479)) — requests from the previous page are no longer lost as soon as a flow navigates. `browser_network_requests` accepts `all: true` to include retained history, keeping up to 200 requests from earlier navigations. Request indexes stay stable across navigations for `browser_network_request`. `browser_console_messages` also reports counts consistent with its existing `all` option. ([microsoft/playwright#43526](https://github.com/microsoft/playwright/pull/43526))\r\n- **🎯 Use locators in your language** ([#1797](https://github.com/microsoft/playwright-mcp/issues/1797)) — element tools such as `browser_click` now accept JavaScript, Python, Java and C# locators in `target`, alongside snapshot refs and CSS selectors. Invalid targets get an actionable error, including a reminder to pass the bare ref rather than `button [ref=e5]`. ([microsoft/playwright#43539](https://github.com/microsoft/playwright/pull/43539))\r\n- **📂 Skip unsupported workspace-root requests** ([#1798](https://github.com/microsoft/playwright-mcp/issues/1798)) — clients that advertise roots but cannot answer `roots/list` can stall the first tool call. Pass `--ignore-roots` (config `ignoreRoots: true`, env `PLAYWRIGHT_MCP_IGNORE_ROOTS=true`) to skip that request and use the server's current working directory as the workspace root. ([microsoft/playwright#43532](https://github.com/microsoft/playwright/pull/43532))\r\n- **🍪 Delete cookies by domain and path** — deleting a cookie by name no longer has to remove every cookie with that name. `browser_cookie_delete` (opt-in via `--caps=storage`) accepts optional `domain` and `path` filters to leave other domains and paths untouched. ([microsoft/playwright#43319](https://github.com/microsoft/playwright/pull/43319))\r\n\r\n## 🐛 Fixes\r\n\r\n- `fix(mcp): allow combining time, text and textGone in browser_wait_for` — when combined with a text condition, `time` is its timeout (capped at 30 seconds), not a delay before checking it. Supplying both `text` and `textGone` now waits for the first condition to happen, rather than both in sequence. ([microsoft/playwright#43011](https://github.com/microsoft/playwright/pull/43011))\r\n- `fix(mcp): allow loopback hosts by default for all bind addresses` — HTTP clients can connect through `localhost`,"},"readme":true,"readme_zh":false,"news":[],"stale":false,"snapshot_at":"2026-11-10T09:35:25Z","history_start":"2026-09-06"}