{
  "$schema": "https://static.modelcontextprotocol.io/schemas/mcp-server-card/v1.json",
  "name": "space.superb/shop",
  "title": "Superb Shop",
  "version": "1.0.0",
  "description": "Search and price furniture at the Superb Shop (superb.space/shop): in-stock-in-New-Jersey catalogue, product detail, delivery-area check, cart pricing and a cart link for the shopper. Public, read-only; the shopper pays on Stripe themselves.",
  "websiteUrl": "https://superb.space/shop",
  "remotes": [
    {
      "type": "streamable-http",
      "url": "https://superb.space/mcp"
    }
  ],
  "protocolVersions": [
    "2025-11-25",
    "2025-06-18",
    "2025-03-26",
    "2024-11-05"
  ],
  "authentication": {
    "required": false,
    "schemes": []
  },
  "capabilities": {
    "tools": {
      "listChanged": false
    }
  },
  "instructions": "Superb Shop sells brand-new furniture in stock in New Jersey (superb.space/shop). Use search_products and get_product to find items, check_delivery_area for an address, and quote_cart to price SKUs exactly as checkout will. To buy, give the shopper cart_link: they review the promised delivery date and terms and pay on Stripe themselves. Delivery only within 100 miles of the NJ warehouse; free delivery on $1,500+; orders under $500 are pickup only.",
  "tools": [
    {
      "name": "search_products",
      "title": "Search the Superb Shop",
      "description": "Search furniture for sale at superb.space/shop (sofas, sectionals, beds, dining, outdoor, lighting). Returns names, URLs, list prices and New Jersey stock. In-stock items only unless include_out_of_stock is true.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "What to look for, e.g. \"boucle accent chair\""
          },
          "category": {
            "type": "string",
            "description": "Optional category slug, e.g. \"living\", \"bedroom\", \"outdoor\""
          },
          "min_price": {
            "type": "number",
            "description": "USD"
          },
          "max_price": {
            "type": "number",
            "description": "USD"
          },
          "include_out_of_stock": {
            "type": "boolean"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 24
          }
        },
        "required": [
          "query"
        ],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "openWorldHint": false,
        "idempotentHint": true
      }
    },
    {
      "name": "get_product",
      "title": "Get a product",
      "description": "One product: every option (SKU, price, NJ stock, size), description, features, and the delivery, pickup, returns and tax rules that apply.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "description": "Product slug, or pass url"
          },
          "url": {
            "type": "string",
            "description": "A superb.space/shop/p/… URL"
          }
        },
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "openWorldHint": false,
        "idempotentHint": true
      }
    },
    {
      "name": "check_delivery_area",
      "title": "Check the delivery area",
      "description": "Is an address (or ZIP code) inside Superb’s 100-mile delivery area? Returns the distance in miles. Informational: checkout re-checks the full address.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "description": "US street address with city, state and ZIP"
          },
          "zip": {
            "type": "string",
            "description": "5-digit ZIP (approximate: the ZIP centre)"
          }
        },
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "openWorldHint": true,
        "idempotentHint": true
      }
    },
    {
      "name": "quote_cart",
      "title": "Price a cart",
      "description": "Price SKUs and quantities exactly as checkout would: list prices, NJ stock (quantities are capped), delivery or pickup, NJ sales tax, the delivery-area check when an address is given, and the promised delivery date. Creates nothing.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "minItems": 1,
            "maxItems": 30,
            "items": {
              "type": "object",
              "properties": {
                "sku": {
                  "type": "string",
                  "description": "Variant SKU from get_product.options[].sku"
                },
                "quantity": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 20
                }
              },
              "required": [
                "sku",
                "quantity"
              ],
              "additionalProperties": false
            }
          },
          "fulfilment": {
            "type": "string",
            "enum": [
              "delivery",
              "pickup"
            ]
          },
          "address": {
            "type": "object",
            "properties": {
              "line1": {
                "type": "string"
              },
              "line2": {
                "type": "string"
              },
              "city": {
                "type": "string"
              },
              "state": {
                "type": "string",
                "description": "2 letters"
              },
              "postal_code": {
                "type": "string"
              }
            },
            "required": [
              "line1",
              "city",
              "state",
              "postal_code"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "openWorldHint": true,
        "idempotentHint": true
      }
    },
    {
      "name": "cart_link",
      "title": "Make a cart link for the shopper",
      "description": "A superb.space link that opens the shopper’s cart with these items. The shopper checks out and pays on Stripe themselves — this tool cannot place an order or pay.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "minItems": 1,
            "maxItems": 30,
            "items": {
              "type": "object",
              "properties": {
                "sku": {
                  "type": "string",
                  "description": "Variant SKU from get_product.options[].sku"
                },
                "quantity": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 20
                }
              },
              "required": [
                "sku",
                "quantity"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "openWorldHint": false,
        "idempotentHint": true
      }
    },
    {
      "name": "get_policies",
      "title": "Delivery, pickup, returns and tax",
      "description": "The shop’s published buying rules: delivery area and cost, free-delivery threshold, pickup, returns, sales tax and payment.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "openWorldHint": false,
        "idempotentHint": true
      }
    },
    {
      "name": "ask",
      "title": "Ask the shop (NLWeb)",
      "description": "NLWeb-style ask: a natural-language shopping question in, schema.org Product results out. Same as GET superb.space/ask?query=…",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 24
          }
        },
        "required": [
          "query"
        ],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "openWorldHint": false,
        "idempotentHint": true
      }
    }
  ]
}