feat(mcp): allow saving browser_find results to a file - #42968
Conversation
Pavel Feldman (pavelfeldman)
left a comment
There was a problem hiding this comment.
suggestedFilename: params.filename - wrong?
This comment has been minimized.
This comment has been minimized.
7484f6e
into
microsoft:main
Test results for "MCP"1 failed 8789 passed, 1480 skipped Merge workflow run. |
|
Hi, I'm the Playwright bot and I took a first look at the CI failure here. 🟡 One failure, very likely unrelated, but not proven a flake on WebKitThe only failure is DetailsOverall: this PR adds an option to save Uncertain
Triaged by the Playwright bot - agent run |
## ✨ Highlights - **🔎 Save `browser_find` results to a file** — new `filename` parameter writes matches to a file instead of the response ([microsoft/playwright#42077](microsoft/playwright#42077)). ([microsoft/playwright#42968](microsoft/playwright#42968)) ## 🐛 Fixes - `browser_navigate` and `browser_reload` report a dialog opened during page load instead of timing out ([microsoft/playwright#42817](microsoft/playwright#42817)). ([microsoft/playwright#42908](microsoft/playwright#42908)) - The server no longer crashes when the browser is closed during a download ([microsoft/playwright#42831](microsoft/playwright#42831)). ([microsoft/playwright#42922](microsoft/playwright#42922)) - `browser_wait_for` reports when `time` is capped at 30 seconds ([#1767](#1767)). ([microsoft/playwright#42932](microsoft/playwright#42932)) - WebMCP tools no longer stay bound to a stale tab or frame ([microsoft/playwright#42816](microsoft/playwright#42816)). ([microsoft/playwright#42821](microsoft/playwright#42821)) - WebMCP tool calls work with Chromium 155+. ([microsoft/playwright#42915](microsoft/playwright#42915)) - Snapshots quote accessible names that look like regexes, e.g. `"/home/"` ([microsoft/playwright#42807](microsoft/playwright#42807)). ([microsoft/playwright#42811](microsoft/playwright#42811)) - The Docker image reaps orphaned browser processes ([#1769](#1769)). ([#1771](#1771))
## Fixes - `run-code` scripts can use timers, `fetch`, `URL`, `Buffer`, `crypto`, `AbortController` and `TextEncoder`/`TextDecoder`; `require` and `process` stay unavailable ([#471](#471)). ([microsoft/playwright#42975](microsoft/playwright#42975)) - `find --filename=results.md` saves matches to a file when a query produces too many of them ([microsoft/playwright#42077](microsoft/playwright#42077)). ([microsoft/playwright#42968](microsoft/playwright#42968)) - `goto` and `reload` report a dialog opened during page load instead of timing out ([microsoft/playwright#42817](microsoft/playwright#42817)). ([microsoft/playwright#42908](microsoft/playwright#42908)) - The session no longer crashes when the browser is closed during a download ([microsoft/playwright#42831](microsoft/playwright#42831)). ([microsoft/playwright#42922](microsoft/playwright#42922)) - `install-browser --no-shell` is accepted instead of failing with `Unknown option: --shell` ([microsoft/playwright#42804](microsoft/playwright#42804)). ([microsoft/playwright#42871](microsoft/playwright#42871)) - `webmcp-call` no longer runs a tool in a stale tab or frame ([microsoft/playwright#42816](microsoft/playwright#42816)). ([microsoft/playwright#42821](microsoft/playwright#42821)) - `webmcp-call` works with Chromium 155+. ([microsoft/playwright#42915](microsoft/playwright#42915)) - Snapshots quote accessible names that look like regexes, e.g. `"/home/"` ([microsoft/playwright#42807](microsoft/playwright#42807)). ([microsoft/playwright#42811](microsoft/playwright#42811)) - The bundled skill only preapproves Playwright commands instead of any `npm` and `npx` command ([microsoft/playwright#42745](microsoft/playwright#42745)). ([microsoft/playwright#42789](microsoft/playwright#42789))
This PR contains the following updates: | Package | Type | Update | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---|---|---| | [aqua:astral-sh/uv](https://redirect.github.com/astral-sh/uv) | tools | patch | `0.12.19` → `0.12.20` |  |  | | [npm:@playwright/mcp](https://playwright.dev) ([source](https://redirect.github.com/microsoft/playwright-mcp)) | tools | patch | `0.0.82` → `0.0.83` |  |  | --- ### Release Notes <details> <summary>astral-sh/uv (aqua:astral-sh/uv)</summary> ### [`v0.12.20`](https://redirect.github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#01220) [Compare Source](https://redirect.github.com/astral-sh/uv/compare/0.12.19...0.12.20) Released on 2026-09-28. ##### Enhancements - Reuse lockfiles when dependency declarations are semantically equivalent ([#​21951](https://redirect.github.com/astral-sh/uv/pull/21951)) - Preserve second-line encoding declarations when installing wheel scripts with CRLF shebangs ([#​21990](https://redirect.github.com/astral-sh/uv/pull/21990)) ##### Preview features - Write normalized requirement declarations with the `lockfile-normalization` preview feature ([#​21951](https://redirect.github.com/astral-sh/uv/pull/21951)) - Honor synthetic default groups when installing or syncing from `pylock.toml` ([#​22003](https://redirect.github.com/astral-sh/uv/pull/22003)) - Resolve local paths in exported `pylock.toml` files relative to the output file ([#​22042](https://redirect.github.com/astral-sh/uv/pull/22042)) - Install each package only once when repeated `tool-install-locks` requirements resolve to the same package ([#​22000](https://redirect.github.com/astral-sh/uv/pull/22000)) - Reuse `lock-without-metadata` lockfiles for conflicting groups with distinct base and extra requirement specifiers ([#​22055](https://redirect.github.com/astral-sh/uv/pull/22055)) - Use consistent root-package paths in `uv workspace metadata` and `uv tree --format json` output ([#​22050](https://redirect.github.com/astral-sh/uv/pull/22050)) ##### Configuration - Continue searching `XDG_CONFIG_DIRS` after empty entries ([#​21987](https://redirect.github.com/astral-sh/uv/pull/21987)) ##### Performance - Restore the previous HTTP cache-write scheduling while investigating severe cache-revalidation stalls on ext4 filesystems ([#​22051](https://redirect.github.com/astral-sh/uv/pull/22051)) ##### Bug fixes - Apply hash constraints to every repeated requirement under `--require-hashes` and `--verify-hashes` ([#​21996](https://redirect.github.com/astral-sh/uv/pull/21996)) - Allow metadata builds for first-party workspace projects under `--no-build` ([#​21988](https://redirect.github.com/astral-sh/uv/pull/21988)) - Honor project exclusion flags with `--all-packages`, including `--no-install-project` and `--no-emit-project` ([#​21994](https://redirect.github.com/astral-sh/uv/pull/21994)) - Restore `pyproject.toml` if `uv upgrade` fails or is interrupted ([#​21983](https://redirect.github.com/astral-sh/uv/pull/21983)) - Generate working Nushell activation scripts for relocatable virtual environments ([#​21979](https://redirect.github.com/astral-sh/uv/pull/21979)) - Prevent commands from running and changing state after displaying `--show-settings` ([#​21989](https://redirect.github.com/astral-sh/uv/pull/21989)) - Treat UTF-16 requirements files containing only a byte-order mark as empty ([#​21991](https://redirect.github.com/astral-sh/uv/pull/21991)) - Ignore unrecognized managed-Python implementation directories during `uv python list` and `uv python upgrade` instead of panicking ([#​22033](https://redirect.github.com/astral-sh/uv/pull/22033)) - Avoid panics and incorrect rewriting when managed Python sysconfig paths merely start with `/install` ([#​22036](https://redirect.github.com/astral-sh/uv/pull/22036)) - Report whitespace-only non-ASCII requirements as invalid instead of panicking ([#​22035](https://redirect.github.com/astral-sh/uv/pull/22035)) - Avoid a resolver panic when trace logging an always-false constraint ([#​22034](https://redirect.github.com/astral-sh/uv/pull/22034)) </details> <details> <summary>microsoft/playwright-mcp (npm:@​playwright/mcp)</summary> ### [`v0.0.83`](https://redirect.github.com/microsoft/playwright-mcp/releases/tag/v0.0.83) [Compare Source](https://redirect.github.com/microsoft/playwright-mcp/compare/v0.0.82...v0.0.83) #### Bug Fixes - `browser_find` takes `filename` to save matches to a file instead of the response ([microsoft/playwright#42077](https://redirect.github.com/microsoft/playwright/issues/42077)). ([microsoft/playwright#42968](https://redirect.github.com/microsoft/playwright/pull/42968)) - `browser_navigate` and `browser_reload` report a dialog opened during page load instead of timing out ([microsoft/playwright#42817](https://redirect.github.com/microsoft/playwright/issues/42817)). ([microsoft/playwright#42908](https://redirect.github.com/microsoft/playwright/pull/42908)) - The server no longer crashes when the browser is closed during a download ([microsoft/playwright#42831](https://redirect.github.com/microsoft/playwright/issues/42831)). ([microsoft/playwright#42922](https://redirect.github.com/microsoft/playwright/pull/42922)) - `browser_wait_for` reports when `time` is capped at 30 seconds ([#​1767](https://redirect.github.com/microsoft/playwright-mcp/issues/1767)). ([microsoft/playwright#42932](https://redirect.github.com/microsoft/playwright/pull/42932)) - WebMCP tools no longer stay bound to a stale tab or frame ([microsoft/playwright#42816](https://redirect.github.com/microsoft/playwright/issues/42816)). ([microsoft/playwright#42821](https://redirect.github.com/microsoft/playwright/pull/42821)) - WebMCP tool calls work with Chromium 155+. ([microsoft/playwright#42915](https://redirect.github.com/microsoft/playwright/pull/42915)) - Snapshots quote accessible names that look like regexes, e.g. `"/home/"` ([microsoft/playwright#42807](https://redirect.github.com/microsoft/playwright/issues/42807)). ([microsoft/playwright#42811](https://redirect.github.com/microsoft/playwright/pull/42811)) - The Docker image reaps orphaned browser processes ([#​1769](https://redirect.github.com/microsoft/playwright-mcp/issues/1769)). ([#​1771](https://redirect.github.com/microsoft/playwright-mcp/pull/1771)) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/soodoh/dotfiles). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMTIuMCIsInVwZGF0ZWRJblZlciI6IjQ0LjExMi4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Adoption](https://docs.renovatebot.com/merge-confidence/) | [Passing](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---|---|---| | [@playwright/mcp](https://playwright.dev) ([source](https://redirect.github.com/microsoft/playwright-mcp)) | `0.0.82` → `0.0.83` |  |  |  |  | --- > [!WARNING] > Some dependencies could not be looked up. Check the warning logs for more information. --- ### Release Notes <details> <summary>microsoft/playwright-mcp (@​playwright/mcp)</summary> ### [`v0.0.83`](https://redirect.github.com/microsoft/playwright-mcp/releases/tag/v0.0.83) [Compare Source](https://redirect.github.com/microsoft/playwright-mcp/compare/v0.0.82...v0.0.83) #### Bug Fixes - `browser_find` takes `filename` to save matches to a file instead of the response ([microsoft/playwright#42077](https://redirect.github.com/microsoft/playwright/issues/42077)). ([microsoft/playwright#42968](https://redirect.github.com/microsoft/playwright/pull/42968)) - `browser_navigate` and `browser_reload` report a dialog opened during page load instead of timing out ([microsoft/playwright#42817](https://redirect.github.com/microsoft/playwright/issues/42817)). ([microsoft/playwright#42908](https://redirect.github.com/microsoft/playwright/pull/42908)) - The server no longer crashes when the browser is closed during a download ([microsoft/playwright#42831](https://redirect.github.com/microsoft/playwright/issues/42831)). ([microsoft/playwright#42922](https://redirect.github.com/microsoft/playwright/pull/42922)) - `browser_wait_for` reports when `time` is capped at 30 seconds ([#​1767](https://redirect.github.com/microsoft/playwright-mcp/issues/1767)). ([microsoft/playwright#42932](https://redirect.github.com/microsoft/playwright/pull/42932)) - WebMCP tools no longer stay bound to a stale tab or frame ([microsoft/playwright#42816](https://redirect.github.com/microsoft/playwright/issues/42816)). ([microsoft/playwright#42821](https://redirect.github.com/microsoft/playwright/pull/42821)) - WebMCP tool calls work with Chromium 155+. ([microsoft/playwright#42915](https://redirect.github.com/microsoft/playwright/pull/42915)) - Snapshots quote accessible names that look like regexes, e.g. `"/home/"` ([microsoft/playwright#42807](https://redirect.github.com/microsoft/playwright/issues/42807)). ([microsoft/playwright#42811](https://redirect.github.com/microsoft/playwright/pull/42811)) - The Docker image reaps orphaned browser processes ([#​1769](https://redirect.github.com/microsoft/playwright-mcp/issues/1769)). ([#​1771](https://redirect.github.com/microsoft/playwright-mcp/pull/1771)) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/paulnsorensen/dotfiles). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMTIuMCIsInVwZGF0ZWRJblZlciI6IjQ0LjExMi4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Claude (dep-harvest) <paulnsorensen@gmail.com> Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Summary
filenameoption tobrowser_findand--filenameto the CLIfindcommand, so large result sets can be written to a file instead of the response.References #42077