-
Notifications
You must be signed in to change notification settings - Fork 5.1k
feat(mcp): add browser_set_checked tool #38958
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Adds a new browser_set_checked MCP tool that allows setting the checked state of checkboxes and radio buttons. This tool provides a single interface to both check and uncheck elements, complementing the existing browser_check and browser_uncheck tools. Fixes microsoft/playwright-mcp#1342
|
@microsoft-github-policy-service agree |
Test results for "MCP"107 failed 2306 passed, 80 skipped Merge workflow run. |
|
Could you rebase? |
Description
Adds a new
browser_set_checkedMCP tool that allows setting the checked state of checkboxes and radio buttons.What does this PR do?
browser_set_checkedtool inpackages/playwright/src/mcp/browser/tools/snapshot.tselement: Human-readable element descriptionref: Exact target element reference from the page snapshotchecked: Boolean to set the checked state (true/false)await page.getByRole('checkbox', { name: 'Accept' }).setChecked(true);Why is this needed?
The existing
browser_checkandbrowser_unchecktools are marked asskillOnly: true(not exposed to MCP). This new tool provides a single interface to both check and uncheck elements, which is the expected API for LLM agents interacting with forms.Tests
Added
tests/mcp/set-checked.spec.tswith 3 tests:browser_set_checked (checkbox)- Tests checking and unchecking a checkboxbrowser_set_checked (radio button)- Tests selecting a radio buttonbrowser_set_checked (already checked)- Tests unchecking a pre-checked elementAll tests pass locally with
npm run ctest-mcp.Fixes microsoft/playwright-mcp#1342