Agent Ready logo Agent Ready
Scan report

brooklinen.com

Scanned 6/6/2026, 1:08:32 AM

Re-scan
45 out of 100 D · Needs work

6 of 15 checks passed

Category breakdown

Commerce 27 · 1/5
Product Data 40 · 1/3
Checkout 65 · 1/2
Discoverability 48 · 1/3
Content 100 · 2/2

Check results

Commerce

27
  • Pass UCP profile discoverable 90/100

    UCP profile fetched from https://brooklinen.com/.well-known/ucp (well-known, shopify shape). version=2026-04-08, capabilities=10, mcp endpoint=true.

    How to fix: Add a <link rel="agent-profile" href="/.well-known/ucp"> tag in your homepage <head> and ensure the profile carries a version + at least one service/capability with transport="mcp".

    Raw evidence
    
    {
      "source": "well-known",
      "profileUrl": "https://brooklinen.com/.well-known/ucp",
      "shape": "shopify",
      "version": "2026-04-08",
      "capabilityCount": 10,
      "hasMcpEndpoint": true
    }
                          
  • Fix MCP server card discoverable 0/100

    No MCP server card at any well-known path. Last error: /.well-known/mcp-server-card.json: HTTP 404.

    How to fix: Publish a server card at /.well-known/mcp/server-card.json with name, remotes[], and capabilities. See SEP-2127.

    Raw evidence
    
    {
      "lastError": "/.well-known/mcp-server-card.json: HTTP 404",
      "triedPaths": [
        "/.well-known/mcp/server-card.json",
        "/.well-known/mcp-server-card.json"
      ]
    }
                          
  • Fix ACP compliance markers 0/100

    /checkout_sessions returned 404.

    How to fix: Implement the ACP checkout sessions endpoint. Stripe's docs/agentic-commerce has a turnkey integration for merchants.

    Raw evidence
    
    {
      "status": 404,
      "hasLink": false
    }
                          
  • Fix x402 payment headers 0/100

    Probe https://brooklinen.com/.well-known/x402 returned 301; no x402 signal.

    How to fix: Adopt x402 by responding with 402 + PAYMENT-REQUIRED header on a gated route, or publish a manifest at /.well-known/x402.

    Raw evidence
    
    {
      "probeUrl": "https://brooklinen.com/.well-known/x402",
      "status": 301
    }
                          
  • Fix WebMCP opt-in or trusted-agent eligibility 0/100

    WebMCP signals — header:false, meta:false, script-src:false, inline-register:false, inline-mention:false.

    How to fix: Opt into WebMCP: register tools with navigator.modelContext.registerTool(...) in an inline <script>, or set the WebMCP-Available: true response header.

    Raw evidence
    
    {
      "headerSignal": false,
      "metaSignal": false,
      "scriptSrcSignal": false,
      "inlineRegisterSignal": false,
      "inlineMentionSignal": false
    }
                          

Product Data

40
  • Fix schema.org Product JSON-LD on PDP 50/100

    JSON-LD present on https://www.brooklinen.com/products/classic-duvet-cover but no @type:Product node found.

    How to fix: Your JSON-LD doesn't include a Product node. Add one with name, image, description, and offers fields.

    Raw evidence
    
    {
      "sampledPdp": "https://www.brooklinen.com/products/classic-duvet-cover",
      "jsonLdBlocks": 1
    }
                          
  • Fix Variant, pricing and availability clarity in Product JSON-LD 0/100

    No Product JSON-LD block found — pricing and availability are invisible to agents.

    How to fix: Add a Product JSON-LD block first (see the product-jsonld check). Then ensure offers.price and offers.availability are populated.

    Raw evidence
    
    {
      "sampledPdp": "https://www.brooklinen.com/products/classic-duvet-cover"
    }
                          
  • Pass Open Graph + Twitter card on PDP 90/100

    Open Graph: 4/4. Twitter: 3/4.

    How to fix: Add the missing meta tags: twitter:image.

    Raw evidence
    
    {
      "sampledPdp": "https://www.brooklinen.com/products/classic-duvet-cover",
      "openGraph": {
        "og:title": "Classic Percale Duvet Cover",
        "og:description": "Hot sleepers, rejoice. Our award-winning Percale Duvet Cover is woven from crisp &amp;amp; breathable 100% long-staple cotton to keep you cool all night long.",
        "og:image": "https:////www.brooklinen.com/cdn/shop/files/BKL_23-05_Bedding_ClassicLuxe_White_DUV_1x_WOgrey.jpg?v=1766420851&width=1200",
        "og:type": "product"
      },
      "twitter": {
        "twitter:card": "summary_large_image",
        "twitter:title": "Classic Percale Duvet Cover",
        "twitter:description": "Hot sleepers, rejoice. Our award-winning Percale Duvet Cover is woven from crisp &amp;amp; breathable 100% long-staple cotton to keep you cool all night long."
      }
    }
                          

Checkout

65
  • Fix Cart permalink format works 50/100

    GET /cart → 200. GET /cart/000:1 → 410.

    How to fix: Support Shopify-style cart permalinks (/cart/{variantId}:{qty}) so agents can hand off pre-built carts.

    Raw evidence
    
    {
      "cartStatus": 200,
      "permalinkStatus": 410
    }
                          
  • Pass Checkout handoff URL accessible 80/100

    GET /checkout → 301 (redirects to https://www.brooklinen.com/checkout).

    Raw evidence
    
    {
      "status": 301,
      "location": "https://www.brooklinen.com/checkout"
    }
                          

Discoverability

48
  • Fix robots.txt with AI bot rules 20/100

    robots.txt found. AI bots referenced: none. Sitemap directive: yes.

    How to fix: Add explicit User-agent entries for GPTBot, ClaudeBot, PerplexityBot.

    Raw evidence
    
    {
      "aiBotsFound": [],
      "hasSitemap": true,
      "sizeBytes": 3630
    }
                          
  • Pass sitemap.xml present and valid 100/100

    Valid sitemap found.

    Raw evidence
    
    {
      "sizeBytes": 882
    }
                          
  • Fix Hreflang / locale signals on homepage 0/100

    No hreflang link tags on the homepage.

    How to fix: Add <link rel="alternate" hreflang="…"> tags for each supported locale plus x-default. Agents use these to pick the right regional storefront.

    Raw evidence
    
    {
      "langs": []
    }
                          

Content

100
  • Pass llms.txt manifest for agents 100/100

    llms.txt present (4296 bytes).

    Raw evidence
    
    {
      "sizeBytes": 4296
    }
                          
  • Pass Markdown content negotiation on homepage 100/100

    Server honors Accept: text/markdown (Content-Type: text/markdown; charset=utf-8).

    Raw evidence
    
    {
      "contentType": "text/markdown; charset=utf-8",
      "status": 200
    }
                          

Watch this store for changes

Watch brooklinen.com — we'll re-scan daily and email you when the score changes or a critical check flips.

Free. One email per change. Unsubscribe anytime.

Share this

Share on Twitter
Show badge embed code
<a href="https://isyourstoreagentready.com/scan/brooklinen.com">
  <img src="https://isyourstoreagentready.com/badge/brooklinen.com.svg" alt="Agent readiness: D 45" />
</a>