Hung Cheung
What an agent can do here
API: contact_business()
01
What an agent can actually do here
Every way in the scanner found on the page it fetched, and whether software could drive it. This is the part of the report that decides whether a customer sent by an agent becomes a job.
Contact form
Agent-callable
The form itself is complete enough to fill: every field is labelled and named, there is a reply channel, a real submit control, and no CAPTCHA.
02
Where the score came from
Five categories, twenty points each. Each one is a different way an agent tries to understand a site, and each one is scored on what the page actually publishes rather than on how it looks.
Crawlability & discovery
13
Whether an agent is allowed in at all, and whether the site tells it where things are.
Warning: No robots.txt found (open by default, but agents can't confirm intent)
Add a robots.txt that explicitly allows the crawlers you want.
Pass: Sitemap found
Pass: llms.txt present — you're describing the site to language models
Fail: No ARD catalog — the discovery standard agents check first
Publish an ARD catalog at /.well-known/ard.json listing your MCP endpoint and the actions you offer, and serve the same file at /.well-known/ai-catalog.json for registries built before the path was renamed.
Pass: Canonical URL declared
Structured data
6
Whether the business facts (trade, hours, phone, address, services) are published in a form software can read, rather than only drawn on the page.
Pass: JSON-LD present (WebSite, WebPage)
Warning: No business-type entity (LocalBusiness etc.)
Declare your business type so agents can match service queries to you.
Warning: No machine-readable opening hours
Agents booking 'today' need openingHoursSpecification.
Note: No Service/Offer entities
List your services as Service entities with areaServed.
Action affordances
11
Whether there is anything on the page an agent could act on: a booking widget, a form, a number.
Pass: 1 action form(s) found: contact
Pass: contact form is agent-callable (machine-completable-form)
Warning: No tel: link — phone number is not machine-actionable
Wrap your phone number in a tel: link.
Form quality
10
Whether the forms are built so software knows what goes in each box and can press send.
Pass: 4/5 fields properly labelled
Warning: Some fields lack name attributes
Unnamed fields can't be submitted programmatically.
Warning: Fields are generic text inputs
Use type=email/tel/date so agents format values correctly.
Note: No autocomplete attributes
autocomplete='name|email|tel' tells agents exactly which value belongs in each field.
Pass: Real submit control present
Note: No required attributes
Mark mandatory fields so agents don't submit incomplete requests.
Agent interface (WebMCP/MCP)
3
Whether the site publishes any of the 2026 agent standards (WebMCP, an MCP endpoint, an ARD catalog) or leaves an agent to scrape and guess.
Fail: No WebMCP — agents must scrape and guess instead of calling declared actions
Declare your booking and quote actions as WebMCP tools on document.modelContext, keeping navigator.modelContext as a fallback for older builds, via the @mcp-b/global polyfill. WebMCP is a W3C Community Group draft and a Chrome 149 origin trial; no browser has shipped it to stable.
Fail: No persistent MCP endpoint — nothing for agents to call when the page isn't open
Host an MCP endpoint for your actions, so an agent can call them when nobody has the page open.
Pass: Semantic landmarks and headings present
Note: 1/3 images missing alt text
Alt text is how agents read your images.
Is this your business?
Frontlatch listed this business for free from public OpenStreetMap data. Claiming it takes a sign-in by email and one proof that you control the domain — a code we email to an address at the domain, with a DNS record, a file or a meta tag as the alternative — and records the listing as yours. From there, the console at /app lets you switch an indexed action on, limit it and route it. Route it to email confirmation and the gateway turns a matching request into a pending attempt and a one-tap confirm email to you, capped at the limit you set — no other routing is wired.
Claim this business