/ The Bottom Line Up Front
Chrome's Lighthouse agentic-browsing category scores six signals that determine whether an AI agent can understand and operate your site. Our free checker tells you exactly where you stand — and what to fix first.
Most websites are readable by humans and crawlable by search engines. Very few are operable by AI agents. The OPERABLE Framework — built on our own research into agentic browsing adoption and named after W3C WCAG's Operable principle — maps 17 checks across 8 pillars: observable structure, parsable I/O, explicit guidance, readiness on load, annotated semantics, bounded autonomy, live feedback, and an executable interface. Checks run via Google Lighthouse, the WebMCP W3C draft spec, and the llmstxt.org standard.
The agentic browsing checker runs Google's Lighthouse agentic-browsing audit category against your domain and emails you the full results. It's the same battery of checks that Chrome DevTools and the WebMCP origin trial use to evaluate site readiness for AI agent interaction.
WebMCP is a W3C draft API that lets web apps expose tools to AI agents via navigator.modelContext. As Gemini in Chrome and other agents adopt this protocol, sites that register tools correctly will be preferred. The Lighthouse audits measure whether your tools are discoverable, your schemas are valid, your forms have agent-readable annotations, and your layout is stable enough for agents to operate reliably.
The checker runs 17 checks across 8 OPERABLE pillars. The browser layer (Puppeteer + Lighthouse) covers WebMCP tool registration, form annotation coverage, schema validity, accessibility tree quality, layout stability (CLS), llms.txt presence, tool registration timing, tool description quality, and return value structure. The HTTP layer covers ARIA live region coverage, button keyboard operability, llms.txt content validity, toolparamtitle coverage, toolautosubmit safety, AI crawler access via robots.txt, ai-plugin.json manifest, and MCP discovery manifest. Results are delivered as a structured report with per-check scores, failing elements, and prioritised fixes.
Each check maps to a pillar of the OPERABLE Framework. Browser-side checks run via Puppeteer for accurate JavaScript evaluation. WebMCP checks evaluate the W3C draft API for agent tool registration.
Observable structure
Counts native semantic landmarks (nav, main, article, aside, header, footer) and ARIA role equivalents. Penalises duplicate unique elements and unlabelled duplicate landmarks. Agents that navigate by DOM structure rely entirely on these signals.
Calls navigator.modelContext.getTools() and evaluates each tool for completeness across five fields: name, description, parameters, return type, and namespacing. High-value tool types (search, checkout, auth) add to the score.
Inspects every form for toolname, toolschema, and per-input toolparamtitle coverage. Score is coverage ratio multiplied by per-form completeness — partial annotation counts as partial credit.
Parsable I/O
Parses toolschema JSON and validates structure: type must be "object", a properties object must be present, and property keys must match actual input[name] values in the form. Raw JSON validity alone is not sufficient.
Checks whether each registered tool defines a return schema (returnType, outputSchema, returns, or returnSchema). Validates that type values are standard JSON Schema types and that object types include a properties field.
Explicit guidance
Fetches /llms.txt and checks for a 200 response. On success, reports line count and whether the Optional block is present. On failure, includes a starter template in the details. Follows the llmstxt.org specification.
Validates structure: minimum 5 non-empty lines, at least one ## heading, working links (HEAD-checked), and title consistency between the file's first line and the homepage <title>/<h1>. Shows the specific broken link URL and title mismatch side-by-side.
Ready on load
Analyses WebMCP scripts for async, defer, and type="module" attributes. Optimal: inline or src script in <head> without defer. Penalised: deferred-in-head (0.5), body-only (0.5), or module script (0.5 — modules are always deferred by the browser).
Measures CLS after a 3-second wait using the Layout Instability API. Captures shifting element selectors from attributedTo for diagnosis. Also counts images without explicit width/height attributes — the most common CLS root cause.
Annotated semantics
Scores each tool description on four criteria: length (20-300 chars), absence of boilerplate phrases ("this tool...", "a function that..."), not starting with the tool name, and presence of at least one action verb. A failing check shows the specific issue for each tool.
Checks all interactive inputs (input, select, textarea — excluding hidden and submit) inside WebMCP-annotated forms for a toolparamtitle attribute. Also verifies the value is descriptive — not empty and not identical to the name attribute.
Bounded autonomy
Inspects toolautosubmit forms for three risk signals: POST method, destructive path segments in the action URL (/delete, /cancel, /remove), and destructive body keywords. Forms with any signal but no data-confirm guard are flagged with the action URL and issues listed.
Live feedback
Counts aria-live attributes and ARIA role equivalents (role=status, role=alert). Scores on presence (0.5) plus configuration quality (0.5 scaled by aria-atomic and aria-relevant coverage). Fully configured live regions score 1.0.
Executable interface
Checks role="button" elements for tabindex, and detects clickable div/span elements (onclick handlers) missing role="button" entirely. Penalty scales by number of issues. Reports the count of unroled clickable elements as the primary fix target.
Parses robots.txt for 13 known AI user-agents categorised as crawlers (GPTBot, CCBot), agents (Claude-Web, Perplexitybot), or AI search (Google-Extended). Checks full blocks (Disallow: /), Crawl-delay throttling (>10s), and partial path blocks on significant paths (/api, /search, /docs).
See what your audit report looks like. This example shows a typical B2B SaaS site with good fundamentals but no WebMCP implementation yet.
acme-saas.com · Agentic Operability Score
OPERABLE Framework — 8 pillars, 17 checks
OPERABLE Framework · 8 pillars
We accept any public domain. The audit runs against your live site — no deployment changes needed.
Six audits evaluate WebMCP tool coverage, schema validity, accessibility tree quality, llms.txt, and CLS.
Results are presented as a fraction (e.g. 4/6 passing) with per-audit details, failing elements, and severity.
Full Lighthouse JSON and a human-readable breakdown emailed to you — ready to share with your dev team.
More free tools to help optimize your content for AI search.
Find threads cited in ChatGPT and Gemini for AI visibility and AEO
Try itGrade your content for AI search optimization and citation readiness
Try itGenerate and rank headline variants for AI search and SEO
Try itCalculate optimal sample sizes for AI evaluation experiments
Try itAdd AI buttons to any website to boost AEO and brand citations
Try it