---
title: "Apparel Monster for agents"
description: "Online apparel store for men, women, and sportswear."
canonical: https://apparel.monster/?mode=agent
last-updated: 2026-09-20
---

# Apparel Monster — agent view

> Online apparel store for men, women, and sportswear. 116 products across 30 categories, priced in USD. Demo store: orders are placed but never fulfilled and no money moves.

- Agent commerce API: https://apparel.monster/api/v1 — anonymous, flat snake_case, streams. Prefer this one
- Spree Storefront API: https://apparel.monster/api/v2/storefront/ — JSON:API, none for reads; order_token or OAuth Bearer for cart/checkout
- MCP, actions: https://apparel.monster/mcp (streamable-http)
- MCP, documentation: https://apparel.monster/mcp/docs (read-only, no credentials)
- Natural language: https://apparel.monster/ask (NLWeb, JSON or SSE)
- Auth: none for reads; order_token or OAuth Bearer for cart/checkout
- OpenAPI: https://apparel.monster/api/openapi/storefront.yaml and https://apparel.monster/openapi.json
- Sandbox: https://apparel.monster/sandbox — the whole store is the test environment
- Rate limit: 60 requests per 60-second rolling window; `RateLimit-*` and `X-RateLimit-*` on every response
- Versioning: v2 (stable; OpenAPI 3.0). Deprecation policy: https://apparel.monster/docs/deprecation-policy.md
- Pricing: free to call. Merchandise and access tiers at https://apparel.monster/pricing

## Navigation

- [Home](https://apparel.monster/) ([markdown](https://apparel.monster/index.md))
- [Men](https://apparel.monster/t/categories/men)
- [Women](https://apparel.monster/t/categories/women)
- [Sportswear](https://apparel.monster/t/categories/sportswear)
- [New in](https://apparel.monster/t/categories/new)
- [On sale](https://apparel.monster/t/collections/on-sale)
- [Search](https://apparel.monster/search?q={query}) — templated, substitute `{query}`
- [Cart](https://apparel.monster/cart)
- [Checkout](https://apparel.monster/checkout)
- [Account orders](https://apparel.monster/account/orders)
- [About](https://apparel.monster/about) ([markdown](https://apparel.monster/about.md))
- [Developer portal](https://apparel.monster/developers) ([markdown](https://apparel.monster/developers/llms.txt))
- [Pricing](https://apparel.monster/pricing)
- [Status](https://apparel.monster/status)
- [Terms of service](https://apparel.monster/policies/terms-of-service)
- [Privacy policy](https://apparel.monster/policies/privacy-policy)

## Client libraries

Official, zero-dependency, anonymous. Each carries the session for you and identifies itself, so an order it places is attributed to it. Source: [https://github.com/mluggy/apparel-monster-dev](https://github.com/mluggy/apparel-monster-dev)

- **Node**: `npm install apparel-monster` — CLI: `npx apparel-monster search "denim shirt" --text`
- **Python**: `pip install apparel-monster` — CLI: `apparel-monster search "denim shirt" --text`
- **Ruby**: `gem install apparel-monster` — CLI: `apparel-monster search "denim shirt" --text`
- **Go**: `go get github.com/mluggy/apparel-monster-dev/go` — CLI: `go install github.com/mluggy/apparel-monster-dev/go/cmd/apparel-monster@latest`
- **Agent skills**: `npx skills add mluggy/apparel-monster-dev` (5 skills)

## Capabilities

- `markdown_negotiation`: Send Accept: text/markdown to receive GitHub-flavored markdown.
- `webmcp`: navigator.modelContext.registerTool — 8 tools on every storefront page (search_products, get_product, list_categories, view_cart, add_to_cart, apply_coupon, go_to_checkout, get_store_info).
- `a2a_ap2`: A2A agent card declares AP2 merchant role.
- `ucp_mcp_host`: Agentic-commerce host at https://apparel.monster (MCP streamable-http, UCP discovery).

## Discovery documents

- [api catalog](https://apparel.monster/.well-known/api-catalog)
- [agent skills](https://apparel.monster/.well-known/agent-skills/index.json)
- [agent card](https://apparel.monster/.well-known/agent-card.json)
- [callback signing key](https://apparel.monster/.well-known/jwks.json)
- [oauth authorization server](https://apparel.monster/.well-known/oauth-authorization-server)
- [oauth protected resource](https://apparel.monster/.well-known/oauth-protected-resource)
- [mcp discovery](https://apparel.monster/.well-known/mcp)
- [mcp server card](https://apparel.monster/.well-known/mcp/server-card.json)
- [acp](https://apparel.monster/.well-known/acp.json)
- [ucp](https://apparel.monster/.well-known/ucp)
- [llms txt](https://apparel.monster/llms.txt)
- [llms full txt](https://apparel.monster/llms-full.txt)
- [schemamap](https://apparel.monster/schemamap.xml)
- [product feed jsonl](https://apparel.monster/feeds/products.jsonl)
- [pricing](https://apparel.monster/pricing)

## How to shop here

1. `POST /api/v1/search` — free text or a category. Keep the `session.id` it returns.
2. `POST /api/v1/cart` `action=add` with a **variant** id from the results. Prices live on variants, never on the product.
3. `POST /api/v1/cart` `action=billing`, then `action=shipping` with a `shipping_id`, then `action=payment` with a `token`.
4. `POST /api/v1/checkout` places the order. Idempotent per session.
5. When a human is available to tap, skip 2–4: `POST /api/v1/wallet` mints an Apple Pay / Google Pay link that collects their email, address and card.
6. Up to ten of those calls travel in one `POST /api/v1/batch`.

## Machine-readable data

- [Product feed (JSON-LD)](https://apparel.monster/feeds/products.jsonl) — one schema.org `Product` per line
- [Sitemap](https://apparel.monster/sitemap.xml) — every storefront URL
- [llms.txt](https://apparel.monster/llms.txt) · [llms-full.txt](https://apparel.monster/llms-full.txt)
- Any page: append `.md`, or send `Accept: text/markdown`, for a markdown twin
- This document as JSON: [`/?mode=agent&format=json`](https://apparel.monster/?mode=agent&format=json)
