{
  "$schema": "https://modelcontextprotocol.io/schemas/2025-06/server-card.json",
  "schemaVersion": "2025-06-18",
  "serverInfo": {
    "name": "Zeruvmed Storefront",
    "version": "0.1.0",
    "description": "Agent-callable storefront for Zeruvmed — premium healthcare apparel (scrubs, lab coats, athleisure, surgical). Browse the catalog and place orders.",
    "vendor": "Zeruvmed",
    "homepage": "https://zeruvmed.com"
  },
  "capabilities": {
    "tools": {
      "listChanged": false
    },
    "resources": {},
    "prompts": {}
  },
  "transports": [
    {
      "type": "webmcp",
      "description": "In-page tools provided via navigator.modelContext.provideContext() on zeruvmed.com.",
      "url": "https://zeruvmed.com"
    },
    {
      "type": "rest",
      "description": "Public REST API; call the endpoints in the OpenAPI document directly.",
      "baseUrl": "/api/v1",
      "openapi": "https://zeruvmed.com/openapi.json"
    }
  ],
  "authentication": {
    "type": "oauth2",
    "metadata": "https://zeruvmed.com/.well-known/oauth-protected-resource",
    "note": "Read-only catalog tools are public; order-status requires a bearer token."
  },
  "tools": [
    {
      "name": "search_products",
      "description": "Search the Zeruvmed catalog of healthcare apparel (scrubs, lab coats, athleisure, surgical). Supports a free-text query, category filter, and pagination.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "description": "Free-text search query."
          },
          "categorySlug": {
            "type": "string",
            "description": "Restrict to a category slug (see list_categories)."
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "Page number (1-based)."
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Results per page (max 100)."
          }
        },
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "authRequired": false,
        "scopes": []
      }
    },
    {
      "name": "get_product",
      "description": "Fetch a single product by its slug, including variants, pricing, images, and fabric details.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "description": "The product slug, e.g. \"aero-scrub-set\"."
          }
        },
        "required": [
          "slug"
        ],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "authRequired": false,
        "scopes": []
      }
    },
    {
      "name": "list_categories",
      "description": "List all product categories (collections) available in the Zeruvmed store.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "authRequired": false,
        "scopes": []
      }
    },
    {
      "name": "create_order",
      "description": "Place a guest order (no account required). Provide line items, a shipping address, and contact details. Returns the created order with payment instructions.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "object",
              "properties": {
                "productId": {
                  "type": "string"
                },
                "variantId": {
                  "type": "string"
                },
                "quantity": {
                  "type": "integer",
                  "minimum": 1
                }
              },
              "required": [
                "productId",
                "quantity"
              ],
              "additionalProperties": false
            }
          },
          "shippingAddress": {
            "type": "object",
            "description": "Postal shipping address (line1, city, country, postalCode, etc.)."
          },
          "email": {
            "type": "string",
            "format": "email"
          },
          "phone": {
            "type": "string",
            "description": "Contact phone, min 7 chars."
          },
          "name": {
            "type": "string",
            "description": "Recipient full name."
          }
        },
        "required": [
          "items",
          "shippingAddress",
          "email",
          "phone",
          "name"
        ],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": false,
        "authRequired": false,
        "scopes": []
      }
    },
    {
      "name": "check_order_status",
      "description": "Retrieve the authenticated customer's orders and their fulfilment status. Requires an OAuth access token with the orders.read scope.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "authRequired": true,
        "scopes": [
          "orders.read"
        ]
      }
    }
  ]
}