{"ok":true,"site":{"host":"visual-qa-starter.vercel.app","url":"https://visual-qa-starter.vercel.app/review","type":"live","desc":"A WebMCP design-QA review session: the agent triages drift across three screen pairs, the human decides what is a defect.","tools":[{"name":"list_screens","kind":"answer","impl":"imperative","description":"List the design/implementation screen pairs loaded in this review session, each with its current score and how many findings are still unreviewed. Call this first.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/review","pages":["/review"]},{"name":"get_drift_report","kind":"answer","impl":"imperative","description":"Get the scored drift findings for one screen pair and put that pair on the reviewer's screen, design beside build. Returns every finding with an id, a rubric category, a severity and its current adjudication status.","inputSchema":{"type":"object","properties":{"screenId":{"type":"string","description":"A screen id from list_screens, for example \"order-summary\"."}},"required":["screenId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/review","pages":["/review"]},{"name":"get_worst_offenders","kind":"answer","impl":"imperative","description":"Rank every loaded screen pair by drift severity, worst first, so the review starts where it matters. Use this to decide what to show the reviewer next.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/review","pages":["/review"]},{"name":"accept_finding","kind":"act","impl":"imperative","description":"Record that the reviewer agrees a finding is a real defect. It stays in the score and goes into the ticket. Only call this after the human has actually said so.","inputSchema":{"type":"object","properties":{"findingId":{"type":"string","description":"A finding id from get_drift_report, e.g. \"os-1\"."},"reason":{"type":"string","description":"Optional note in the reviewer's words."}},"required":["findingId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/review","pages":["/review"]},{"name":"dismiss_finding","kind":"act","impl":"imperative","description":"Record that the reviewer judged a finding to be intentional or not worth filing. It leaves the ticket and the score is recomputed without it. A reason is required and is shown on the page beside the finding.","inputSchema":{"type":"object","properties":{"findingId":{"type":"string","description":"A finding id from get_drift_report, e.g. \"pr-2\"."},"reason":{"type":"string","description":"Why the reviewer says this difference is intentional. Required."}},"required":["findingId","reason"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/review","pages":["/review"]},{"name":"file_ticket","kind":"act","impl":"imperative","description":"Draft a paste-ready ticket for one screen from the findings still standing after adjudication, and show it on the page. Optionally pass a subset of finding ids to include.","inputSchema":{"type":"object","properties":{"screenId":{"type":"string","description":"A screen id from list_screens, for example \"order-summary\"."},"findings":{"type":"array","items":{"type":"string"},"description":"Optional finding ids to include. Omit to include everything on the screen that was not dismissed."}},"required":["screenId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/review","pages":["/review"]},{"name":"get_summary","kind":"answer","impl":"imperative","description":"Totals for the whole review session: screens checked, findings open, accepted and dismissed, average score and the worst screen.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/review","pages":["/review"]}],"category":"Developer Tools","favicon":"/favicons/visual-qa-starter.vercel.app.svg","apiSurface":"spec","toolCount":7}}