Agent Ready v1.2 report: wix.demo.busymate.ai
Score: 53 of 100. Requirements met: 6 of 10 applicable (10 in the standard). 4 points could not be verified. Graded 2026-10-08T23:25:53.255Z.
Can an AI find, understand, trust and do useful work with wix.demo.busymate.ai? Each section below answers one part of that question; every check carries the request it made, what the standard expects and what came back. The standard: https://busymate.ai/agent-ready. Machine twins of this page: https://busymate.ai/ready/wix.demo.busymate.ai/md (Markdown) and the same URL with Accept: application/json. All three render the SAME result object — same scan, same statuses, same totals.
Method: scanner busymate-agent-ready, standard v1.2. This is a score under the Busymate Agent-Ready standard v1.2 — a diagnostic, not a certification. Page-level findings describe exactly these 1 route(s): https://mrserebano.wixsite.com/wren-and-oat. What this scan does not do: Page-level findings describe only the routes listed in `scannedRoutes`, never every page of the site. No tool is ever called: the MCP legs are initialize, tools/list and the session close. No credential is ever sent, so authenticated execution is reported as unverified rather than as a pass or a failure. Annotations are judged only against the protocol revision the server actually negotiated.
Discover — 93% · 14 of 15 points
Can an AI agent find your content?
sitemap — pass (R3) · 3 of 3 points
A sitemap lists the pages an agent should read.
Request: GET https://wix.demo.busymate.ai/sitemap.xml. Expected: An XML sitemap (or a sitemap index) with at least one <loc>. Received: HTTP 200 — 2 URLs, 2 with lastmod
llms_txt — pass (R4) · 4 of 4 points
llms.txt points an agent at the content that matters.
Request: GET https://wix.demo.busymate.ai/llms.txt. Expected: GET /llms.txt returns text with at least one link. Received: Served — 2448 bytes, 4 link(s)
Deeper check
capability_manifest — pass (R5) · 3 of 3 points
agents.json joins content, interfaces, authentication and contact in one card.
Request: GET https://wix.demo.busymate.ai/.well-known/agents.json. Expected: A JSON manifest at /.well-known/agents.json or /agents.json. Received: HTTP 200, JSON manifest — 3 interface(s), 4 of 4 layers joined (content, interfaces, authentication, contact)
Diagnostics and optional conventions (reported, never a deduction):
manifest_twin_parity — pass · 1 of 1 points
When agents.json is published at both paths, the two copies agree.
Request: GET https://wix.demo.busymate.ai/.well-known/agents.json. Expected: /.well-known/agents.json and /agents.json answer with byte-identical bodies when both exist. Received: well-known (https://wix.demo.busymate.ai/.well-known/agents.json) → HTTP 200; root (https://wix.demo.busymate.ai/agents.json) → HTTP 200; the two bodies are byte-identical
sitemap_xml_valid — pass · 1 of 1 points
The sitemap is a real urlset or sitemapindex document whose loc entries point at the site's own origin.
Request: GET https://wix.demo.busymate.ai/sitemap.xml. Expected: 200, a <urlset> or <sitemapindex> root element, and at least one same-origin <loc>. A redirect to another path is reported with the target. Received: <urlset> with 1 same-origin <loc> entry
— · 2 of 2 points
Understand — 37% · 5.5 of 15 points
Does an agent understand your business correctly?
language_canonical — pass (R6) · 5 of 5 points
The page states what language it is in and which URL is canonical.
Request: GET https://mrserebano.wixsite.com/wren-and-oat. Expected: <html lang> and <link rel=canonical> (or a canonical Link header). Received: lang="en", canonical https://mrserebano.wixsite.com/wren-and-oat
business_metadata — fail (R7) · 0 of 6 points
JSON-LD says who you are and what you sell, in a vocabulary every agent already parses.
Request: GET https://mrserebano.wixsite.com/wren-and-oat. Expected: JSON-LD with an identity type (Organization, LocalBusiness, WebSite, Store) or a Product/Offer. Received: No JSON-LD on the served page
How to fix (closest guide)
Diagnostics and optional conventions (reported, never a deduction):
structured_data_fields — fail · 0 of 3 points
The identity node carries real fields, not just a bare @type.
Request: GET https://mrserebano.wixsite.com/wren-and-oat. Expected: An identity node (Organization, Product, …) with a name, a description and a url. Received: No typed JSON-LD nodes to inspect
How to fix (closest guide)
open_graph — partial · 0.5 of 1 points
Open Graph gives a title, a description and an image to anything that previews a link.
Request: GET https://mrserebano.wixsite.com/wren-and-oat. Expected: og:title, og:description and og:image. Received: 1 of 3 present (title, description, image)
How to fix (closest guide)
content_freshness — optional-missing · optional
Content nodes say when they last changed, so an agent can tell fresh from stale.
Expected: Optional: CreativeWork / DataFeedItem nodes carry dateModified (or datePublished). Received: Not required here: the page carries no CreativeWork or DataFeedItem node — the types schema.org defines dateModified on
Read — 45% · 9 of 20 points
Can an agent consume your content efficiently?
initial_html_content — partial (R1) · 7 of 14 points
The content is in the served HTML, not assembled later by a script.
Request: GET https://mrserebano.wixsite.com/wren-and-oat. Expected: One <h1>, a <main> landmark and real prose in the first response. Received: 1 <h1>, 67 words of prose, a <main> landmark
How to fix (closest guide)
markdown_representation — partial (R2) · 2 of 4 points
The SAME URL serves Markdown to a client that asks for it.
Request: GET https://mrserebano.wixsite.com/wren-and-oat. Expected: GET the page with Accept: text/markdown → text/markdown and Vary: Accept. Received: HTTP 200, text/markdown; charset=utf-8 — but no Vary: Accept, so a cache can serve this to a browser
How to fix (closest guide)
Diagnostics and optional conventions (reported, never a deduction):
markdown_frontmatter — fail · 0 of 1 points
The Markdown carries its own canonical URL, language and last-updated date.
Request: GET https://mrserebano.wixsite.com/wren-and-oat. Expected: YAML frontmatter with canonical, language and updated (or title/description/last_updated). Received: Markdown returned, but with no YAML frontmatter block
How to fix (closest guide)
markdown_alternate_link — fail · 0 of 1 points
The page advertises its Markdown alternate so an agent does not have to guess.
Request: GET https://mrserebano.wixsite.com/wren-and-oat. Expected: <link rel="alternate" type="text/markdown"> or the same as a Link header. Received: No rel="alternate" type="text/markdown" in the head or the Link header
How to fix (closest guide)
Act — 15% · 3 of 20 points
Can an agent take actions on your website?
page_tools — fail (R8) · 0 of 13 points
The page registers its own actions as tools an agent can call in the browser.
Request: GET https://mrserebano.wixsite.com/wren-and-oat. Expected: WebMCP tools on document.modelContext / navigator.modelContext, on the pages scanned. Received: No page tools detected. Service tools ARE available (7 listed without a token), so agents can act through the service but not inside the page. On the pages scanned: 1 (https://mrserebano.wixsite.com/wren-and-oat). Routes an agent reaches only after signing in, and any route outside this list, were not inspected.
How to fix · Deeper check
Diagnostics and optional conventions (reported, never a deduction):
page_tool_catalog — fail · 0 of 4 points
A static catalogue lets an agent read the page's tools without executing it.
Request: GET https://mrserebano.wixsite.com/wren-and-oat. Expected: A WebMCP catalog document linked from the page or at a well-known path. Received: No tool catalog linked from the page and none at a well-known path
How to fix · Deeper check
page_tools_policy — pass · 3 of 3 points
Permissions-Policy leaves the page's tools governed — by the default allowlist or by an explicit one.
Request: GET https://mrserebano.wixsite.com/wren-and-oat. Expected: No tools= directive (the draft default is self), or an explicit tools= allowlist. A wildcard or a denial is the finding. Received: No tools= directive, so the WebMCP draft's default allowlist ("self") is in force — the page's tools are drivable from this origin and not delegated to embedders. An explicit tools= allowlist is optional hardening. Header: (no Permissions-Policy header)
Connect — 68% · 13.5 of 20 points · 2 points could not be verified
Can external agents call your systems?
programmatic_api — pass (R9) · 8 of 8 points
At least one programmatic description of the service exists — MCP, OpenAPI, GraphQL or another declared API.
Request: GET https://wix.demo.busymate.ai/mcp. Expected: One of: a live MCP endpoint, an OpenAPI document, a GraphQL schema, or an API declared in the manifest. Received: MCP at https://wix.demo.busymate.ai/mcp — ok, 7 tool(s) LISTED without a token (listing is not authorization to call them)
MCP endpoint https://wix.demo.busymate.ai/mcp · transport streamable-http · protocol offered 2025-06-18, returned 2024-11-05, session ran on 2024-11-05 · initialize true · tools/list true · auth open · OAuth metadata false · access requirements documented the capability manifest · PKCE not measured · dynamic registration not measured (optional either way) · tools LISTED without a token 7 — listed, not usable · authenticated not measured · authenticated execution tested false · readOnlyHint on 7 (the negotiated protocol revision predates tool annotations)
Deeper check
Diagnostics and optional conventions (reported, never a deduction):
mcp_transport — pass · 4 of 4 points
The MCP endpoint answers, negotiates a protocol revision and LISTS its tools.
Request: GET https://wix.demo.busymate.ai/mcp. Expected: initialize and tools/list succeed over the transport the handshake actually ran on. Listing is not authorization to call. Received: initialize ok — offered protocol 2025-06-18, server returned 2024-11-05, session ran on 2024-11-05; tools/list ok — 7 tool(s) listed, which says they are listed and not that an agent may call them; transport streamable-http
MCP endpoint https://wix.demo.busymate.ai/mcp · transport streamable-http · protocol offered 2025-06-18, returned 2024-11-05, session ran on 2024-11-05 · initialize true · tools/list true · auth open · OAuth metadata false · access requirements documented the capability manifest · PKCE not measured · dynamic registration not measured (optional either way) · tools LISTED without a token 7 — listed, not usable · authenticated not measured · authenticated execution tested false · readOnlyHint on 7 (the negotiated protocol revision predates tool annotations)
Deeper check
Trust — 80% · 8 of 10 points · 2 points could not be verified
Can an agent authenticate, confirm actions, and reach a human?
human_handoff — pass (R10) · 4 of 4 points
An agent can hand the conversation to a person.
Request: GET https://wix.demo.busymate.ai/.well-known/agents.json. Expected: A contact email, phone or contact page an agent can quote. Received: manifest contact (https://wix.demo.busymate.ai/)
auth_explicit — pass (R10) · 3 of 3 points
The site states how an agent authenticates — or states that nothing needs authenticating.
Request: GET https://wix.demo.busymate.ai/.well-known/agents.json. Expected: Authentication declared in the manifest, or OAuth metadata, or an explicit public posture. Received: The manifest declares its authentication posture
Diagnostics and optional conventions (reported, never a deduction):
contact_signal_sources — pass · 1 of 1 points
A machine-readable contact signal exists independent of any stored crawl.
Request: GET https://wix.demo.busymate.ai/. Expected: A mailto: link, a /contact link, a JSON-LD contactPoint, or a Contact: line in llms.txt — any one is enough. Received: Found: a /contact link on the page
action_confirmation — unverified · 0 of 2 points
A consequential action is actually confirmed with the person before it runs.
Request: GET https://wix.demo.busymate.ai/mcp. Expected: A client/workflow test that drives a write action and observes the confirmation. This scanner does not run one against a stranger's service, so it stays UNVERIFIED — never a pass, and never a deduction blamed on you. Received: Could not check: whether a person is actually asked to confirm before a consequential action runs needs a client/workflow test against the service tools, which this scanner does not run against a stranger's service. Annotation coverage on the listed definitions is reported separately (7 of 7 declare a readOnlyHint, and the negotiated protocol revision 2024-11-05 predates tool annotations).
Deeper check