{
  "name": "zoral-store",
  "title": "Zoral Store",
  "description": "Read-only access to the Zoral catalog: products, live prices, stock, reviews and shop policies. Zoral sells one thing - a 316L medical-grade stainless steel tongue scraper. Checkout is completed by a human on getzoral.com; this server cannot place orders or take payment.",
  "version": "1.0.0",
  "protocolVersion": "2025-06-18",
  "transport": "streamable-http",
  "capabilities": {
    "tools": {},
    "resources": {
      "listChanged": false
    }
  },
  "tools": [
    {
      "name": "search_catalog",
      "description": "List everything Zoral sells, with live prices, ratings and buy links. Zoral has a small catalog (a 316L stainless steel tongue scraper, sold singly and as a bundle with travel cases), so this returns the whole thing. Use it whenever a user asks what Zoral sells or what it costs.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "country_code": {
            "type": "string",
            "description": "Two-letter ISO country code to price against, e.g. \"us\". Defaults to the store's default region (USD)."
          }
        }
      },
      "annotations": {
        "title": "Search Zoral catalog",
        "readOnlyHint": true,
        "openWorldHint": false
      },
      "_meta": {
        "ui": {
          "resourceUri": "ui://zoral/product-card"
        }
      }
    },
    {
      "name": "get_product",
      "description": "Get full detail for one Zoral product by its handle (URL slug), including variants, live price, stock and material. Call search_catalog first if you do not know the handle.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "handle"
        ],
        "properties": {
          "handle": {
            "type": "string",
            "description": "Product slug, e.g. \"tongue-scraper\"."
          },
          "country_code": {
            "type": "string",
            "description": "Two-letter ISO country code to price against."
          }
        }
      },
      "annotations": {
        "title": "Get Zoral product",
        "readOnlyHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "get_reviews",
      "description": "Get real, verified customer reviews and the aggregate rating for a Zoral product. Use when a user asks whether the product is actually any good.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "handle"
        ],
        "properties": {
          "handle": {
            "type": "string",
            "description": "Product slug, e.g. \"tongue-scraper\"."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Max reviews to return (default 10)."
          }
        }
      },
      "annotations": {
        "title": "Get Zoral reviews",
        "readOnlyHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "get_shop_policies",
      "description": "Zoral's shipping, returns, warranty and promo terms. Use when a user asks about delivery, refunds, guarantees or discount codes before buying.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "topic": {
            "type": "string",
            "enum": [
              "shipping",
              "returns",
              "warranty",
              "promo",
              "all"
            ],
            "description": "Narrow to one topic. Defaults to all."
          }
        }
      },
      "annotations": {
        "title": "Get Zoral policies",
        "readOnlyHint": true,
        "openWorldHint": false
      }
    }
  ],
  "resources": [
    {
      "uri": "zoral://catalog.json",
      "name": "catalog",
      "title": "Zoral catalog",
      "description": "The whole Zoral catalog as JSON: handles, titles, live prices and average ratings. The same data search_catalog returns, for clients that prefer to pin a resource rather than call a tool.",
      "mimeType": "application/json"
    },
    {
      "uri": "zoral://policies.md",
      "name": "policies",
      "title": "Zoral shop policies",
      "description": "Shipping, returns, warranty and promo terms as markdown: flat $10 worldwide shipping and free over $25 ($15 express), a 30-day money-back guarantee, and the 10OFF code.",
      "mimeType": "text/markdown"
    },
    {
      "uri": "ui://zoral/product-card",
      "name": "product-card",
      "title": "Zoral catalog card",
      "description": "An interactive card grid of the Zoral catalog with live prices and buy links, rendered inside the agent host. Read-only: it links out to getzoral.com and cannot take payment.",
      "mimeType": "text/html;profile=mcp-app",
      "_meta": {
        "ui": {
          "csp": {
            "connectDomains": [],
            "resourceDomains": [
              "https://getzoral.com"
            ],
            "frameDomains": [],
            "baseUriDomains": []
          },
          "prefersBorder": true,
          "url": "https://getzoral.com/mcp-app/product-card"
        }
      }
    }
  ]
}