Skip to main content
Run these commands from the repository root. Choose the smallest lane that covers your change, then run the broader suite before merging.

Choose a repository test lane

The runtime contracts cover discovery, invocation, dynamic registration and removal, and handler errors through each real transport.

Run browser conformance

Run the polyfill and composed global contracts together when you change registration, discovery, lifecycle, or execution behavior:
Run MCP-B browser conformance
Run the pinned upstream Web Platform Tests when you change behavior covered by WebMCP WPT:
Run Web Platform Tests
The WPT lane builds the standalone polyfill, disables the native implementation, injects the bundle, and runs the repository’s supported test selection. Read the repository’s testing guide for browser and checkout prerequisites. Compare failures with the public WebMCP WPT results and the Community Group draft.

Run the native repository contract

Use the repository command instead of copying browser flags into another script:
Run the native contract
The checked-in Playwright configuration owns browser selection and feature arguments. If browser discovery fails, set CHROME_BIN to the installed executable and rerun the command.

Run integration coverage

Use the additional integration lanes when a change crosses package boundaries:
Run integration suites
Use a headed or interactive run to inspect a failing browser test:
Debug browser tests

Test agent behavior separately

Repository contracts are deterministic. Use Chrome’s WebMCP evals guide and the experimental WebMCP Evals tool to measure tool selection and argument quality. Run the Lighthouse WebMCP schema validity audit before debugging model behavior.