{"ok":true,"site":{"host":"sightline-5vu.pages.dev","url":"https://sightline-5vu.pages.dev/","type":"live","desc":"Sightline is the human-approval layer between an agent and a live page. Through WebMCP, an agent finds accessibility, SEO and performance problems, drafts the fix, and stops until you say yes.","tools":[{"name":"list_packs","kind":"answer","impl":"imperative","description":"List the rule packs this page exposes (accessibility, seo, performance): id, label, what each checks, and which fixes require agent-authored content. Call this first to decide which packs to scan.","title":"List rule packs","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"scan_page","kind":"act","impl":"imperative","description":"Run Sightline’s audit over the live page with one or more rule packs (default: all). Returns stable issue IDs with packId, rule, impact, selector, and per-pack plus overall 0–100 score. Start every workflow here.","title":"Scan page","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"wcagLevel":{"type":"string","enum":["A","AA","AAA"],"default":"AA","description":"Requested WCAG conformance target (accessibility pack)."},"packs":{"type":"array","items":{"type":"string","enum":["accessibility","seo","performance"]},"description":"Rule packs to run. Omit to run all."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"navigate_node","kind":"act","impl":"imperative","description":"Navigate the shared preview to a CSS selector and return a short HTML/text snapshot. Use it to understand surrounding page context without changing anything.","title":"Inspect page node","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"selector":{"type":"string","description":"CSS selector inside the audited preview."}},"required":["selector"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"highlight_issue","kind":"act","impl":"imperative","description":"Move the human-visible focus overlay to one current audit issue. This creates shared visual context before discussing a repair.","title":"Highlight issue","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"issueId":{"type":"string","description":"A current ID returned by scan_page."}},"required":["issueId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"propose_fix","kind":"act","impl":"imperative","description":"Create a selector-scoped patch for one current issue. Does not mutate the page. Where a fix needs human-facing words the AGENT must author them from the page context — image-alt → altText, label → labelText, aria-roles → role, document-title → title, meta-description → description, link-text → linkText. Call without that field first to receive a needs_input response with requiredField, guidance, html and nearbyText, then call again with it. Contrast, heading level, tabindex, lang, image dimensions and rel=noopener are measured by the engine from the live DOM. The returned patch carries evidence[] and authoredBy; pass its id to apply_fix.","title":"Propose safe fix","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"issueId":{"type":"string","description":"A current ID returned by scan_page."},"altText":{"type":"string","description":"image-alt only. Agent-authored description of what the image shows, ≤160 chars, plain text. Empty string marks the image decorative."},"labelText":{"type":"string","description":"label only. Agent-authored visible label for the form field, ≤80 chars, in the page language."},"role":{"type":"string","description":"aria-roles only. The valid ARIA role the control should have, chosen from its behaviour (e.g. button, link)."},"headingLevel":{"type":"integer","minimum":1,"maximum":6,"description":"heading-order only. Optional override; omit to accept the level the engine derives from the document outline."},"title":{"type":"string","description":"seo document-title only. Agent-authored page title, 10–60 chars, plain text, in the page language."},"description":{"type":"string","description":"seo meta-description only. Agent-authored summary, 50–155 chars, plain text."},"linkText":{"type":"string","description":"seo link-text only. Agent-authored descriptive link text (2–6 words) replacing generic text like \"click here\"."}},"required":["issueId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"re_scan","kind":"act","impl":"imperative","description":"Re-run the focused audit after page changes. Returns the updated score, remaining issue IDs and next recommended barrier.","title":"Verify changes","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"scope":{"type":"string","enum":["page","changed"],"default":"changed","description":"Label this as a full audit or post-change verification."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Developer Tools","favicon":"/favicons/sightline-5vu.pages.dev.svg","apiSurface":"spec","toolCount":6}}