deep audit / sample
Below is a complete report for Alpine Supply Co., a fictional outdoor-gear store, exactly as delivered (as a PDF) to buyers. Your report follows this structure with findings and tools specific to your site.
webmcp-ai.dev · Agent Readiness Audit · sample
Alpine Supply Co. sells technical outdoor gear — climbing, ski touring, and alpine equipment — through a WooCommerce storefront with roughly 1,400 SKUs and store pickup in two locations.
47/100
Partially ready
18 pages crawled · 21 findings · 5 recommended WebMCP tools
Alpine Supply is discoverable but not operable. Search engines and AI crawlers can find and read most pages (robots.txt and sitemap are healthy), but the three actions that produce revenue — product search, stock checks, and add-to-cart — are invisible to agents: no WebMCP tools are registered, product pages lack Product structured data with price and availability, and the store's React-powered filtering renders client-side, so agents see an unfiltered catalog dump. An agent asked to "find crampons in stock under $200 and add them to my cart" cannot complete any step of that task today. The fixes are well-bounded: three days of work registers the five tools below, completes product schema, and publishes llms.txt — moving the store from 47 to an estimated 85+ and, more importantly, from readable to transactable.
| Category | Weight | Score | Checks |
|---|---|---|---|
| Agent capabilities | 30% | 15/100 | 1/5 passed |
| Discoverability | 20% | 85/100 | 3/4 passed |
| Content accessibility | 20% | 55/100 | 2/4 passed |
| Machine comprehension | 20% | 40/100 | 2/4 passed |
| Trust & security | 10% | 75/100 | 2/3 passed |
The tools alpinesupply.example should register, in priority order. Each is ready to hand to your developer or coding agent.
1. search_products critical
Search the catalog with filters agents actually use: query, category, max price, in-stock only. Wraps the WooCommerce Store API — your React filter UI stays untouched.
document.modelContext.registerTool({
name: "search_products",
description: "Search Alpine Supply's catalog of climbing, ski and alpine gear. Supports text query, category, price ceiling and in-stock filtering. Returns name, price, availability and URL.",
inputSchema: {
type: "object",
properties: {
query: { type: "string" },
category: { type: "string", enum: ["climbing","ski-touring","apparel","footwear"] },
maxPrice: { type: "number" },
inStock: { type: "boolean", default: true }
},
required: ["query"]
},
annotations: { readOnlyHint: true },
async execute({ query, category, maxPrice, inStock = true }) {
const params = new URLSearchParams({ search: query, per_page: "8" });
if (category) params.set("category", category);
if (inStock) params.set("stock_status", "instock");
const r = await fetch(`/wp-json/wc/store/v1/products?${params}`);
let items = await r.json();
if (maxPrice) items = items.filter(p => p.prices.price / 100 <= maxPrice);
return items.map(p => ({ name: p.name, price: p.prices.price / 100,
inStock: p.is_in_stock, url: p.permalink }));
}
});
2. add_to_cart critical
Adds a variant to the visitor's real session cart via POST /wp-json/wc/store/v1/cart/add-item; returns cart totals and the checkout URL. The visitor completes payment — the agent never touches checkout.
3. check_store_stock high
Per-location availability for your two pickup stores — the data already lives in your stock-location plugin; this exposes it as the answer to your most common pre-purchase question.
4. get_shipping_estimate high
Rates and delivery windows by postcode, read-only, wrapping your existing shipping calculator endpoint.
5. check_return_policy medium
Returns your policy terms by product category (climbing hardware differs from apparel) so agents can verify before recommending a purchase.
| Impact | Finding | Fix |
|---|---|---|
| critical | No WebMCP tools registered on any page | Register the 5-tool blueprint above; start with search_products. |
| critical | Product pages missing Product JSON-LD (price/availability) | Enable full Product schema in your SEO plugin; verify offers.price and availability render on all 1,400 SKUs. |
| high | Catalog filtering is client-side only | Expose filtered results as crawlable URLs (?category=…&instock=1) or rely on the search_products tool for agent traffic. |
| high | No llms.txt | Publish /llms.txt mapping your category pages, policies, and store locations (draft included in appendix). |
| medium | GPTBot blocked by inherited robots.txt template | Remove the blanket block or replace with deliberate per-bot policy. |
| medium | No Chrome origin-trial token | Register at developer.chrome.com/origintrials and serve the token via wp_head. |
Phase 1 — Quick wins (0.5 day)
Phase 2 — Machine comprehension (1 day)
Phase 3 — Agent capabilities (1.5 days)
Produced by webmcp-ai.dev — automated crawl with expert-calibrated analysis, aligned with the W3C WebMCP draft and Chrome's WebMCP developer guidance.
Your site. This depth. About an hour.
Get your audit — $79