# Magic Spoon: agent door 67, human door not measured
- Site: magicspoon.com
- Scanned: 2026-09-08
- Scan type: Basic scan
- Business type: ecommerce
- Report: https://www.seconddoor.io/r/magicspoon-c4qwm5
- Scanner version: 15
A Shopify storefront with agent checkout capability but no API documentation and a browser wall that blocks automated shopping.
## Scores
| Measure | Score |
| --- | --- |
| Humans | not measured |
| Agents | 67/100 (6/6 dimensions) |
| Composite | 67/100 |
Agent door only. The human door could not be measured on this scan. A Door Gap needs both doors, so this scan does not report one.
## What the machine actually did
The agent got through 10 of 17 requests, but could not find a contact route for machines. It came up empty on 6 other checks too.
- ok      reach the site at all
- ok      find out whether machines are welcome
- ok      ask whether the door opens for requests carrying the AI crawlers' names
- ok      read the site's own guide for language models
- ok      find out what pages exist
- missing find a contact route for machines
- missing find a published agent interface
- missing find an agent plugin manifest
- missing find out whether verified agents are recognised
- ok      read the homepage as data rather than as a page
- missing find a machine readable API spec
- missing read the developer documentation
- ok      read the prices without running JavaScript
- ok      read the product catalogue as data
- ok      read a product page as data
- ok      read the returns and shipping terms
- missing walk the way a visitor would, to a signup form or a product
## Top issues
1. **Reviews load from Okendo by script, so a client that reads raw HTML sees the products without a single review.** (pricing_legibility)
2. **Product pages do not publish return or shipping policy in structured data, forcing agents to scrape or follow links to read terms.** (machine_fetchable_trust)
3. **No developer documentation is linked from the homepage, in raw HTML or the rendered page, so integration starts with a search engine.** (programmatic_onboarding)
The evidence and the recommended fix for each are on the report page: https://www.seconddoor.io/r/magicspoon-c4qwm5
## Files generated from this scan
- **Product markup for Variety 4 - 16 Cereal Treats (4 Boxes)** at `/products/new-variety-4-16-cereal-treats-4-boxes`, 30 minutes, developer. Verify: The next scan reads price, currency and availability in the Product markup of at least one product page, with the structured price matching the catalogue feed.
- **Product markup for Variety 6 - 24 Cereal Treats (6 Boxes)** at `/products/new-variety-6-24-cereal-treats-6-boxes`, 30 minutes, developer. Verify: The next scan reads price, currency and availability in the Product markup of at least one product page, with the structured price matching the catalogue feed.
- **Product markup for Classics Bundle - Chocolate Peanut Butter, Marshmallow, Salted Caramel - TTS** at `/products/vb-treat-3p-choco-peanut-butter-1-marshmallow-1-saltedcaramel-1-tts`, 30 minutes, developer. Verify: The next scan reads price, currency and availability in the Product markup of at least one product page, with the structured price matching the catalogue feed.
- **Product markup snippet for every product page** at `snippets/seconddoor-product-jsonld.liquid`, 30 minutes, developer. Verify: The next scan reads price, currency and availability in the Product markup of every product page it samples, with the structured price matching the catalogue feed.
- **Put Okendo reviews in the page** at `notes`, 10 minutes, no developer needed. Verify: The next scan finds review text in the server HTML of a product page.
- **robots.txt rules for AI crawlers** at `/robots.txt`, 10 minutes, no developer needed. Verify: The next scan reads robots.txt and finds every search and agent crawler allowed, none of them kept off product or pricing paths.
- **Return policy and shipping structured data** at `product page`, 30 minutes, developer. Verify: The next scan reads a MerchantReturnPolicy on the product pages, and OfferShippingDetails when the shipping node was published.
- **Link the policy pages from the product page** at `notes`, 30 minutes, no developer needed. Verify: The next scan finds the returns and shipping policy pages linked from a product page.
- **Variants missing a GTIN or a brand** at `catalog-identifiers.csv`, 5 minutes, no developer needed. Verify: The next scan reads the catalogue feed and finds a valid GTIN on at least nine in ten variants and a brand on at least nine in ten products.
- **Organization structured data** at `homepage`, 15 minutes, developer. Verify: The next scan reads Organization and WebSite nodes in the homepage JSON-LD and the structured data check passes.
- **security.txt** at `/.well-known/security.txt`, 10 minutes, no developer needed. Verify: The next scan fetches /.well-known/security.txt as text and the security.txt check passes.
- **Machine interfaces: where you stand** at `notes`, 10 minutes, no developer needed. Verify: The next scan finds the interface you published answering at its well-known path, and that check passes.
Each file is written from what this scan found on the site. The content is in the JSON once the evidence is opened: https://www.seconddoor.io/api/reports/magicspoon-c4qwm5
## The agent door
- **machine_discoverability** 100/100. No AI crawler is blocked by robots.txt or user agent rules. The site publishes llms.txt, a sitemap with 88 URLs including products, and a /products.json feed with 12 items.
- **programmatic_onboarding** 10/100. No API documentation is linked from the homepage or published at standard paths. The site offers no developer guide, API keys, or integration instructions for programmatic access.
- **pricing_legibility** 83/100. Prices appear in raw HTML on the homepage and all 3 product pages checked, with 72 prices across product variants. Product structured data publishes price and currency on every item. An agent can read cost without JavaScript or scraping.
- **agent_aware_instrumentation** 57/100. A Universal Commerce Protocol manifest at version 2026-08-25 declares 8 capabilities and 3 payment handlers, with a storefront MCP endpoint. No MCP manifest at standard paths.
- **machine_fetchable_trust** 65/100. No security.txt is published. The returns policy and shipping policy both read as text at /policies/refund-policy and /policies/shipping-policy. The homepage and product pages are served to automated clients without blocking.
- **commercial_rails** 84/100. Product markup carries price, currency, availability and identifier. The /products.json feed includes brand on each item. Returns and shipping policies read as text. A UCP manifest publishes payment handlers and checkout capability.
## The human door
- **steps_to_first_value** not measured. Could not verify: this scan did not reach the pages that would show it.
- **required_fields** not measured. Could not verify: this scan did not reach the pages that would show it.
- **verification_walls** not measured. Could not verify: this scan did not reach the pages that would show it.
- **error_recovery** not measured. Could not verify: this scan did not reach the pages that would show it.
---
Scored by SecondDoor. Method: https://www.seconddoor.io/methodology
Scan another site: https://www.seconddoor.io
Rate an issue or this report: POST https://www.seconddoor.io/api/feedback, or the rate_fix tool on https://www.seconddoor.io/api/mcp
