MCP servers / @playwright/mcp

MCP tool changes

@playwright/mcp

4 of its last 5 updates changed what the agent reads: 0 tool descriptions rewritten, up to 0.0.83.

npm package · npm page · recorded on 24 October 2026 on a clean machine with placeholder settings; only tools/list was sent. A changed description is not a vulnerability. Method and limits.

Release by release

0.0.82 → 0.0.83

patch release, 28 September 2026

browser_find: input schema changed; new arguments: filename

browser_wait_for: input schema changed

0.0.81 → 0.0.82

patch release, 18 September 2026

Added: browser_emulate_media

Removed: browser_webmcp_call, browser_webmcp_list

0.0.80 → 0.0.81

patch release, 14 September 2026

Added: browser_webmcp_call, browser_webmcp_list

browser_console_messages: input schema changed

browser_evaluate: input schema changed

browser_network_request: input schema changed

browser_network_requests: input schema changed

browser_run_code_unsafe: input schema changed

browser_snapshot: input schema changed

browser_take_screenshot: input schema changed

0.0.79 → 0.0.80

patch release, 1 September 2026

No tool definition changed.

0.0.78 → 0.0.79

patch release, 6 August 2026

browser_take_screenshot: input schema changed

Releases tried: 0.0.78 (2026-07-09); 0.0.79 (2026-08-06); 0.0.80 (2026-09-01); 0.0.81 (2026-09-14); 0.0.82 (2026-09-18); 0.0.83 (2026-09-28).

Tools in 0.0.83

The pin is the SHA-256 of the tool's name, description and input schema, as verfy.lock records it. The same pin in your lock means your agent reads this exact definition.

Tools in 0.0.83
ToolDescriptionPin
browser_closeClose the page6baef26ea2a4
browser_resizeResize the browser window5ea47d50cd2d
browser_console_messagesReturns all console messages82f3422ede71
browser_handle_dialogHandle a dialog807a759bbb7e
browser_emulate_mediaEmulate CSS media features for the page, for example switch between the light and dark color scheme. Omitted parameters are left unchanged; null clears an override.4632b2cd556a
browser_evaluateEvaluate JavaScript expression on page or elementc83574f66833
browser_file_uploadUpload one or multiple files742d88bcde29
browser_dropDrop files or MIME-typed data onto an element, as if dragged from outside the page. At least one of "paths" or "data" must be provided.281b6b35addb
browser_findSearch the accessibility snapshot of the current page for text or a regular expression. Returns matching snapshot nodes with a few lines of surrounding context (like search snippets), each shown under its path from the root of the tree, which is cheaper than capturing the whole snapshot when you only need to locate an element and its ref.d9c7b5a53c38
browser_fill_formFill multiple form fieldsc4c9f0fecdee
browser_press_keyPress a key on the keyboard3e964327512a
browser_typeType text into editable element274103d447cf
browser_navigateNavigate to a URL6f470f3fcb19
browser_navigate_backGo back to the previous page in the history8644dd166ff7
browser_network_requestsReturns a numbered list of network requests since loading the page. Use browser_network_request with the number to get full details.5ae89910aa2c
browser_network_requestReturns full details (headers and body) of a single network request, or a single part if `part` is set. Use the number from browser_network_requests.88e3a57a1f96
browser_run_code_unsafeRun a Playwright code snippet. Unsafe: executes arbitrary JavaScript in the Playwright server process and is RCE-equivalent.65056ab07773
browser_take_screenshotTake a screenshot of the current page. You can't perform actions based on the screenshot, use browser_snapshot for actions.05253419c7ce
browser_snapshotCapture accessibility snapshot of the current page, this is better than screenshota0fc1b7b55d8
browser_clickPerform click on a web page8e8dbe8cae07
browser_dragPerform drag and drop between two elements1bbd146c7a84
browser_hoverHover over element on page30ad4fb088ae
browser_select_optionSelect an option in a dropdown8199a59c0c62
browser_tabsList, create, close, or select a browser tab.43d376a15339
browser_wait_forWait for text to appear or disappear or a specified time to passdc62b0cf6b00

Lock these tools

Pin what @playwright/mcp serves you today, commit the lock, and a pull request fails when a tool changes, with the text before and after. Pin the package version in your MCP config as well.

$ pip install verfy
$ verfy lock check --update   # shows each tool, then writes verfy.lock
$ git add verfy.lock
# .github/workflows/verfy.yml, after actions/checkout
- uses: anvarbekovjavohir277-dot/verfy-action@v1

Maintain this server? Run the same check on your releases and add the Locked by Verfy badge to your README.