WEBMCP / CONTRACT REGRESSION WORKBENCH
What did your
tool change break?
Put two input contracts through the same cases. Catch the request you stopped accepting—and the one you accidentally let through.
Compare a contractFree · Runs locally · No AI key or account
CHANGE 01 / REQUIRED FIELD
An existing caller has no replyTo.
One added requirement. One broken case.
01 / INPUT CONTRACTS
A revision deserves a rehearsal.
Paste JSON metadata: name, description, inputSchema and optional annotations. Your code is never executed. Supported schema profile →
Local Draft 7 subset; maximum 60,000 characters per editor. Unsupported keywords stop the run. Names use lowercase letters, digits and underscores.
02 / Named cases & expected candidate outcomes
expect describes what the after contract should do. Keep old expectations to spot regressions; change them only when a behavior change is intentional.
JavaScript is needed to compare contracts. Worked examples and guides remain readable below.
03 / BEHAVIOR DIFF
Same inputs. Two answers.
Results are out of date. Run the edited cases.
| Case | Expected after | Before | After | Change | Review |
|---|
“Matches” means the candidate agreed with that fixture’s expected validity. It does not prove authorization, correct business results or successful agent use.
Why were candidate inputs rejected?
Changed metadata paths (0)
Text changes are listed, but their effect on an agent is not evaluated.
The report omits input values but retains case names and schema paths. The fixture pack contains your full inputs. The starter includes candidate metadata and an echo handler, without validation or business logic.
04 / OPTIONAL NATIVE CHECK
Does the browser
enforce that rule?
Our Chrome 156 test reached the callback with inputs that violated required, minimum and type. Try these same cases in your browser using a temporary receipt-only tool.
This is a real API call when available. It does not call your application, execute pasted JavaScript, send email or run an AI agent.
Setup, observed results & limits →Checking API availability…
05 / OLD SNIPPET TRIAGE
Still using yesterday’s API?
Check a snippet for five known migration patterns. This is a line-based text scan: comments can match, aliases and multiline calls can be missed. It never runs the snippet.
Read the migration notes →AFTER THE WORKBENCH
Keep the test connected to reality.
The reply address that broke an existing caller.
Follow all seven cases, then decide whether the tightened rule belongs.
WORKFLOW / 02From local contract to a real staging form.
Check human fallback, fresh sessions and your own confirmation email.
REFERENCE / 03Know exactly which rules were checked.
A documented profile, explicit limits and no silently ignored keywords.