Tea Journal
What an agent can do here
API: search()API: subscribe()API: login()API: purchase()API: unclassified_action()API: purchase()API: unclassified_action()
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.
Search
Not yet agent-callable
Blocked by
- no type=email or type=tel field — nothing an agent can fill as the reply channel
- a CAPTCHA on this page blocks legitimate agents
Form
Not yet agent-callable
Blocked by
- 1 of 1 field(s) have no label — an agent cannot tell what goes where
- no type=email or type=tel field — nothing an agent can fill as the reply channel
- a CAPTCHA on this page blocks legitimate agents
Subscribe form
Not yet agent-callable
Blocked by
- a CAPTCHA on this page blocks legitimate agents
Login form
Not yet agent-callable
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
15
Whether an agent is allowed in at all, and whether the site tells it where things are.
Pass: robots.txt present and does not lock agents out
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
13
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 (Organization, Product)
Pass: Business entity type declared
Warning: No machine-readable opening hours
Agents booking 'today' need openingHoursSpecification.
Pass: Services/offers described
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: unclassified
Warning: form (wording did not match booking/quote/callback/contact) is not agent-callable yet — 1 of 1 field(s) have no label — an agent cannot tell what goes where; no type=email or type=tel field — nothing an agent can fill as the reply channel; a CAPTCHA on this page blocks legitimate agents
Fix the items above and this form becomes an action an agent can complete.
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.
Fail: Only 0/1 fields have labels — agents can't tell what goes where
Bind a <label for> or aria-label to every field.
Pass: Fields have name attributes
Pass: Semantic input types in use (email/tel/date)
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.
Warning: CAPTCHA detected on this page
A CAPTCHA stops a customer's agent exactly as well as it stops a bot: the agent will hand back to the person or give up. Any action behind it is closed to agents.
Agent interface (WebMCP/MCP)
6
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.
Warning: WebMCP is mentioned on this page but no tool declaration was found in its scripts
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
Pass: Images carry alt text
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