For assistants and the people who build them

Shop with your AI assistant

Your assistant can browse the drop, check sizes and prices, and hand you a checkout link. You pay on Stripe. No account, no API key, and no card details ever pass through the assistant.

MCP endpoint

https://contextwindowsupply.com/mcp

Overview

The same products, prices and sizes a person sees on this site are available to software in three ways. Pick whichever your agent speaks.

Connect over MCP

Add the server to any client that supports remote MCP servers over Streamable HTTP. No auth is needed for browsing or for creating a checkout link.

{
  "mcpServers": {
    "context-window-supply": {
      "url": "https://contextwindowsupply.com/mcp"
    }
  }
}

Or call it directly:

curl -s https://contextwindowsupply.com/mcp \
  -H 'content-type: application/json' \
  -H 'accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
curl -s https://contextwindowsupply.com/mcp \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call",
       "params":{"name":"search_products","arguments":{"query":"hoodie"}}}'

Tools

ToolWhat it doesInputEffect
search_productsSearch tees, hoodies and stickers by text or type.query?: string, type?: "t-shirt" | "hoodie" | "sticker"Read only
get_productOne product with sizes, colors, material and price.product_id: stringRead only
get_shipping_quoteSubtotal, shipping and total for US delivery.items: [{ product_id, color?, size?, quantity }]Read only
create_checkout_linkCreates a Stripe Checkout link for a person to pay. Charges nothing by itself.items: [{ product_id, color?, size?, quantity }]Returns a link

REST API

JSON in, JSON out. Full schema in /openapi.json.

  • GET/api/productsList or search. Query: q, type.
  • GET/api/products/{id}One product.
  • POST/api/quotePrice an order. Server prices only.
  • POST/api/checkoutGet a Stripe Checkout link.

Price an order

curl -s https://contextwindowsupply.com/api/quote \
  -H 'content-type: application/json' \
  -d '{"items":[{"product_id":"approval-required-tee","color":"White","size":"L","quantity":1}]}'
{
  "currency": "USD",
  "items": [
    {
      "product_id": "approval-required-tee",
      "color": "White",
      "size": "L",
      "quantity": 1,
      "unit_price": 29
    }
  ],
  "subtotal": 29,
  "shipping": 4.95,
  "tax": "calculated at checkout if applicable",
  "total_before_tax": 33.95,
  "estimated_delivery": "Printed in 2 to 7 business days, then delivered in 3 to 8 business days."
}

Checkout

POST /api/checkout or the create_checkout_link tool returns a Stripe Checkout URL. Show it to your person. They pay on Stripe, and only links starting with https://checkout.stripe.com/ are real.

curl -s https://contextwindowsupply.com/api/checkout \
  -H 'content-type: application/json' \
  -d '{"items":[{"product_id":"approval-required-tee","color":"White","size":"L","quantity":1}]}'
{
  "live": true,
  "checkout_url": "https://checkout.stripe.com/c/pay/cs_...",
  "expires_at": 1792000000
}

503 [info] checkout not live yet

During the preview, checkout answers with HTTP 503 and the body below. Browsing and quotes work as normal.

{
  "live": false,
  "error": "Checkout is not live yet. The store is in preview."
}

Discovery files

Every product page also carries schema.org Product and Offer markup.

Rules and limits

  • Prices come from our server. Any price an agent sends is ignored.
  • US shipping only. Up to 10 lines per order and 10 of each item.
  • About 60 requests a minute per IP. Over that you get HTTP 429; wait a minute.
  • Never send card numbers. A person completes payment on Stripe.
  • No bulk scraping or reselling. See the Terms of Sale.
  • Something broken? contextwindow@mail.grokbot.com. Security reports: security.txt.