Wix · Agent-Ready report
Reading wix.demo.busymate.ai to build the preview…
Preview: selected public pages. Background scan: up to 1,000 useful pages, robots.txt respected.
Step 1 of 7
Opens when the scan finishes
Reading wix.demo.busymate.ai to build the preview…
Preview: selected public pages. Background scan: up to 1,000 useful pages, robots.txt respected.
Step 1 of 7
Opens when the scan finishes
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.
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)
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
robots_ai_crawlers — pass · 2 of 2 points
robots.txt lets AI search and user-requested retrieval reach your pages.
Request: GET https://wix.demo.busymate.ai/robots.txt. Expected: robots.txt does not block search/citation or user-requested AI agents from /. Received: search and citation: names OAI-SearchBot, PerplexityBot, Claude-SearchBot, Bingbot, blocks none; user-requested retrieval: names ChatGPT-User, Perplexity-User, blocks none.
discovery_link_headers — fail · 0 of 1 points
HTTP Link headers tell an agent the site MEANT to expose these documents.
Request: GET https://mrserebano.wixsite.com/wren-and-oat. Expected: Link: </llms.txt>; rel="describedby" and </agents.json>; rel="alternate". Received: No discovery Link header or <link> on the home page (Link: present, no matching rel)
robots_training_policy — optional-found · optional
The site states, either way, whether its pages may be used for model training.
Request: GET https://wix.demo.busymate.ai/robots.txt. Expected: Optional: robots.txt names model-training crawler tokens. Opting out is a valid answer and costs nothing. Received: Model training allowed, and named explicitly (GPTBot, ClaudeBot, CCBot, Google-Extended). This is a corpus decision, not a discovery one: it costs nothing in this score.
llms_full_txt — optional-missing · optional
llms-full.txt carries the whole corpus in one file.
Request: GET https://wix.demo.busymate.ai/llms-full.txt. Expected: Optional: GET /llms-full.txt returns text. Received: HTTP 404, application/json — 21 bytes
sitemap_md — optional-found · optional
sitemap.md is a human- and agent-readable index.
Request: GET https://wix.demo.busymate.ai/sitemap.md. Expected: Optional: GET /sitemap.md returns markdown. Received: HTTP 200, text/markdown; charset=utf-8
agents_md — optional-found · optional
AGENTS.md is a prose companion to the manifest.
Request: GET https://wix.demo.busymate.ai/AGENTS.md. Expected: Optional: GET /AGENTS.md returns markdown. Received: HTTP 200, text/plain; charset=utf-8
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
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
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)
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
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
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
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
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
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.
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
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)
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)
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)
access_requirements — partial · 1.5 of 3 points
The service documents which capabilities need a token and which do not.
Request: GET https://wix.demo.busymate.ai/mcp. Expected: A manifest, a WWW-Authenticate challenge or protected-resource metadata that states the access requirements. Received: Documented in the capability manifest, but no interface in the capability manifest states its own access requirements
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)
oauth_metadata — fail · 0 of 3 points
OAuth metadata discovery resolves, and advertises PKCE where a client must verify it.
Request: GET https://wix.demo.busymate.ai/mcp. Expected: RFC 8414 / RFC 9728 metadata that resolves, with code_challenge_methods_supported. Dynamic client registration is optional. Received: auth mode open; no RFC 8414 / RFC 9728 metadata resolved at the conventional addresses
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)
authenticated_execution — unverified · 0 of 2 points
An authenticated call actually succeeds — proof that a listed tool is a usable tool.
Request: GET https://wix.demo.busymate.ai/mcp. Expected: An authenticated tools/call that returns a result. This scanner holds no token for your server and never calls a stranger's tool, so this stays UNVERIFIED — reported, never counted as a pass or as your failure. Received: Could not check: this scanner holds no credential for https://wix.demo.busymate.ai/mcp and never calls a stranger's tool. 7 tool(s) are LISTED without a token; whether any of them executes — with or without one — is untested.
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)
tool_annotation_coverage — optional-missing · optional
Listed tools declare readOnlyHint, so a client can tell a read from a write before it calls.
Request: GET https://wix.demo.busymate.ai/mcp. Expected: Optional: annotations on the listed tool definitions. Only meaningful from protocol revision 2025-03-26, which introduced them. Received: Not applicable at the negotiated protocol revision: the session ran on 2024-11-05, and tool annotations were introduced in 2025-03-26. 7 tool(s) listed.
openapi_spec — optional-missing · optional
An OpenAPI document describes the HTTP API.
Request: GET https://wix.demo.busymate.ai/openapi.json. Expected: Optional when MCP or another API already describes the interface. Received: HTTP 404, application/json
protocol_discovery_aliases — optional-found · optional
Optional well-known aliases (mcp.json, agent-card.json, api-catalog, …) are served cleanly or not at all.
Expected: Optional: each alias is valid JSON or a clean non-200 — never the site's own HTML shell. Received: 5 of 5 answered cleanly
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).