{"slug":"magicspoon-eg7van","companyName":"Magic Spoon","domain":"magicspoon.com","url":"https://magicspoon.com","headline":"A browser-blocking homepage prevents assistant shopping, though product pages and feeds are readable.","compositeScore":65,"humanScore":71,"agentScore":58,"doorGap":13,"humanMeasured":4,"agentMeasured":6,"percentile":null,"humanPercentile":null,"agentPercentile":null,"isPartial":false,"depth":"free","siteClass":"ecommerce","scannerVersion":16,"scannedAt":"2026-09-08T20:08:56.983Z","unlocked":false,"mission":{"steps":[{"url":"https://magicspoon.com","outcome":"ok","purpose":"reach the site at all"},{"url":"https://magicspoon.com/robots.txt","outcome":"ok","purpose":"find out whether machines are welcome"},{"url":"https://magicspoon.com","outcome":"ok","purpose":"ask whether the door opens for requests carrying the AI crawlers' names"},{"url":"https://magicspoon.com/llms.txt","outcome":"ok","purpose":"read the site's own guide for language models"},{"url":"https://magicspoon.com/sitemap.xml","outcome":"ok","purpose":"find out what pages exist"},{"url":"https://magicspoon.com/.well-known/security.txt","outcome":"missing","purpose":"find a contact route for machines"},{"url":"https://magicspoon.com","outcome":"missing","purpose":"find a published agent interface"},{"url":"https://magicspoon.com/.well-known/ai-plugin.json","outcome":"missing","purpose":"find an agent plugin manifest"},{"url":"https://magicspoon.com","outcome":"missing","purpose":"find out whether verified agents are recognised"},{"url":"https://magicspoon.com","outcome":"ok","purpose":"read the homepage as data rather than as a page"},{"url":"https://magicspoon.com","outcome":"missing","purpose":"find a machine readable API spec"},{"url":"https://magicspoon.com","outcome":"missing","purpose":"read the developer documentation"},{"url":"https://magicspoon.com","outcome":"ok","purpose":"read the prices without running JavaScript"},{"url":"https://magicspoon.com","outcome":"ok","purpose":"read the product catalogue as data"},{"url":"https://magicspoon.com","outcome":"ok","purpose":"read a product page as data"},{"url":"https://magicspoon.com","outcome":"ok","purpose":"read the returns and shipping terms"},{"url":"https://magicspoon.com","outcome":"ok","purpose":"walk the way a visitor would, to a signup form or a product"}],"verdict":"The agent got through 11 of 17 requests, but could not find a contact route for machines. It came up empty on 5 other checks too."},"observations":null,"dimensions":[{"key":"machine_discoverability","audience":"agent","score":83,"summary":"Robots.txt allows all declared AI crawlers by name, llms.txt is published, sitemap lists 88 URLs including products, and product pages carry Product markup with price and currency.","evidence":{"locked":true,"count":4}},{"key":"programmatic_onboarding","audience":"agent","score":10,"summary":"No API documentation is linked from the homepage or available at standard paths. The /products.json feed exists and returns 12 products with brand and handle, but no OpenAPI spec, MCP manifest, or developer guide explains how to use it or.","evidence":{"locked":true,"count":3}},{"key":"pricing_legibility","audience":"agent","score":88,"summary":"72 prices appear in the raw HTML of 3 product pages checked, and Product structured data on each carries price in USD and availability. The visible price ($45) matches the structured price, so an agent can read cost without JavaScript or.","evidence":{"locked":true,"count":2}},{"key":"agent_aware_instrumentation","audience":"agent","score":22,"summary":"No MCP manifest exists at any of the 3 standard paths checked. The /products.json catalogue feed is open and returns products with brand, but no manifest, plugin definition, or checkout protocol tells an agent how to complete a purchase or.","evidence":{"locked":true,"count":4}},{"key":"machine_fetchable_trust","audience":"agent","score":65,"summary":"No security.txt file is published. The returns policy and shipping policy both read as plain text at their policy URLs and are linked from product pages, so trust signals exist but are not centralized or machine-readable.","evidence":{"locked":true,"count":3}},{"key":"commercial_rails","audience":"agent","score":78,"summary":"Product markup carries price, currency, identifier, brand, and a 4.6 aggregate rating over 3533 reviews. The catalogue feed includes brand on each product. Returns and shipping policies read as text.","evidence":{"locked":true,"count":4}},{"key":"steps_to_first_value","audience":"human","score":95,"summary":"A product with price ($45) and an add-to-cart control is reachable in 2 steps from the homepage. No variant selection is required on the product checked, and Shop Pay and PayPal wallets are accepted, so a buyer can reach checkout.","evidence":{"locked":true,"count":1}},{"key":"required_fields","audience":"human","score":80,"summary":"The product page does not require an account before adding to cart. No form fields demand input before purchase, and 2 express wallets (Shop Pay, PayPal) skip the form entirely, so a guest can buy without providing any data.","evidence":{"locked":true,"count":1}},{"key":"verification_walls","audience":"human","score":75,"summary":"No sign-in requirement appears on the product page or cart. Guest checkout is available, so a shopper can proceed to payment without creating an account or verifying an email.","evidence":{"locked":true,"count":1}},{"key":"error_recovery","audience":"human","score":35,"summary":"Of 3 inputs on the product page, 0 carry validation rules or constraints. 14 live regions and 1 inline error container are present in the markup, but no input validation attributes were found, so error messages may not appear until form.","evidence":{"locked":true,"count":1}}],"issues":[{"rank":1,"title":"Product pages do not publish return or shipping terms in structured data, forcing agents to scrape policy pages as text.","dimensionKey":"commercial_rails","evidence":{"locked":true,"count":3},"fix":null},{"rank":2,"title":"A real browser cannot load the homepage, blocking assistant shopping at the entry point.","dimensionKey":"machine_discoverability","evidence":{"locked":true,"count":3},"fix":null},{"rank":3,"title":"No API documentation or developer guide exists to explain how to use the /products.json feed or integrate with the store.","dimensionKey":"programmatic_onboarding","evidence":{"locked":true,"count":3},"fix":null}],"fixArtifacts":{"locked":true,"count":13,"summaries":[{"id":"bot_wall_guidance:notes","kind":"bot_wall_guidance","title":"Let verified assistants through","path":"notes","effort":{"minutes":60,"role":"developer"},"outcome":{"dimension":"machine_discoverability","external":["Assistant shopping and search crawlers reach the product, pricing and policy pages a buyer asks about."]}},{"id":"product_jsonld:products-new-variety-4-16-cereal-treats-4-boxes","kind":"product_jsonld","title":"Product markup for Variety 4 - 16 Cereal Treats (4 Boxes)","path":"/products/new-variety-4-16-cereal-treats-4-boxes","effort":{"minutes":30,"role":"developer"},"outcome":{"dimension":"pricing_legibility","external":["Assistants read price, availability and identifiers from every sampled product page."]}},{"id":"product_jsonld:products-new-variety-6-24-cereal-treats-6-boxes","kind":"product_jsonld","title":"Product markup for Variety 6 - 24 Cereal Treats (6 Boxes)","path":"/products/new-variety-6-24-cereal-treats-6-boxes","effort":{"minutes":30,"role":"developer"},"outcome":{"dimension":"pricing_legibility","external":["Assistants read price, availability and identifiers from every sampled product page."]}},{"id":"product_jsonld:products-vb-treat-3p-choco-peanut-butter-1-marshmallow-1-saltedcaramel-1-tts","kind":"product_jsonld","title":"Product markup for Classics Bundle - Chocolate Peanut Butter, Marshmallow, Salted Caramel - TTS","path":"/products/vb-treat-3p-choco-peanut-butter-1-marshmallow-1-saltedcaramel-1-tts","effort":{"minutes":30,"role":"developer"},"outcome":{"dimension":"pricing_legibility","external":["Assistants read price, availability and identifiers from every sampled product page."]}},{"id":"product_jsonld_liquid:snippets-seconddoor-product-jsonld-liquid","kind":"product_jsonld_liquid","title":"Product markup snippet for every product page","path":"snippets/seconddoor-product-jsonld.liquid","effort":{"minutes":30,"role":"developer"},"outcome":{"dimension":"pricing_legibility","external":["Every Shopify product page carries complete Product markup, not only the sampled ones."]}},{"id":"review_schema_vendor:notes","kind":"review_schema_vendor","title":"Put Okendo reviews in the page","path":"notes","effort":{"minutes":10,"role":"owner"},"outcome":{"dimension":"machine_discoverability","external":["Review text and ratings reach crawlers that do not run the review widget's script."]}},{"id":"robots_search_bots:robots-txt","kind":"robots_search_bots","title":"robots.txt rules for AI crawlers","path":"/robots.txt","effort":{"minutes":10,"role":"owner"},"outcome":{"dimension":"machine_discoverability","external":["The assistants' search crawlers read and cite the site to buyers; training stays the owner's decision."]}},{"id":"merchant_policy_jsonld:product-page","kind":"merchant_policy_jsonld","title":"Return policy and shipping structured data","path":"product page","effort":{"minutes":30,"role":"developer"},"outcome":{"dimension":"machine_fetchable_trust","external":["Assistants read the return window and shipping terms from structured data."]}},{"id":"policy_pages_text:notes","kind":"policy_pages_text","title":"Link the policy pages from the product page","path":"notes","effort":{"minutes":30,"role":"owner"},"outcome":{"dimension":"machine_fetchable_trust","external":["Returns and shipping pages read as text and are linked from every product page."]}},{"id":"catalog_identifiers:catalog-identifiers-csv","kind":"catalog_identifiers","title":"Variants missing a GTIN or a brand","path":"catalog-identifiers.csv","effort":{"minutes":5,"role":"owner"},"outcome":{"dimension":"machine_discoverability","external":["Feed listings stop being rejected for a missing brand or GTIN."]}},{"id":"organization_jsonld:homepage","kind":"organization_jsonld","title":"Organization structured data","path":"homepage","effort":{"minutes":15,"role":"developer"},"outcome":{"dimension":"machine_discoverability","external":["Search and assistant crawlers read the company entity from the homepage rather than inferring it."]}},{"id":"security_txt:well-known-security-txt","kind":"security_txt","title":"security.txt","path":"/.well-known/security.txt","effort":{"minutes":10,"role":"owner"},"outcome":{"dimension":"machine_fetchable_trust","external":["Researchers and automated scanners find a disclosure address instead of guessing one."]}},{"id":"interfaces_note:notes","kind":"interfaces_note","title":"Machine interfaces: where you stand","path":"notes","effort":{"minutes":10,"role":"owner"},"outcome":{"dimension":"agent_aware_instrumentation","external":["The developer surface is built in an order where every published pointer answers."]}}]},"feedback":{"endpoint":"/api/feedback","mcpTool":"rate_fix","targets":[{"type":"report","key":"report"},{"type":"dimension","dimensionKey":"machine_discoverability","key":"dimension:machine_discoverability"},{"type":"dimension","dimensionKey":"programmatic_onboarding","key":"dimension:programmatic_onboarding"},{"type":"dimension","dimensionKey":"pricing_legibility","key":"dimension:pricing_legibility"},{"type":"dimension","dimensionKey":"agent_aware_instrumentation","key":"dimension:agent_aware_instrumentation"},{"type":"dimension","dimensionKey":"machine_fetchable_trust","key":"dimension:machine_fetchable_trust"},{"type":"dimension","dimensionKey":"commercial_rails","key":"dimension:commercial_rails"},{"type":"dimension","dimensionKey":"steps_to_first_value","key":"dimension:steps_to_first_value"},{"type":"dimension","dimensionKey":"required_fields","key":"dimension:required_fields"},{"type":"dimension","dimensionKey":"verification_walls","key":"dimension:verification_walls"},{"type":"dimension","dimensionKey":"error_recovery","key":"dimension:error_recovery"},{"type":"issue","dimensionKey":"commercial_rails","checkId":"product_pages","key":"issue:commercial_rails:product_pages"},{"type":"issue","dimensionKey":"machine_discoverability","checkId":"structured_data","key":"issue:machine_discoverability:structured_data"},{"type":"issue","dimensionKey":"programmatic_onboarding","checkId":null,"key":"issue:programmatic_onboarding:-"}]}}