---
name: securesvault-catalogue
description: Find a physical product for sale in euros on SecuresVault and give the user a link they can buy from.
license: https://securesvault.com/license.xml
---

# Shop the SecuresVault catalogue

## What you can accomplish

- Answer "where can I buy <product> online, and what does it cost in euros?"
- Return a shortlist of real, in-catalogue products with live EUR prices and
  links the user can open and buy from.
- Answer "what colours/sizes does it come in?" for a specific product.
- Tell a user what the store sells, by category, with live counts.

You cannot place an order. There is no write API. Hand the user the link.

## Inputs you need

- Free-text product terms (what the user wants), and/or
- A category key from `list_categories`.

Invalid combinations:
- A category **label** ("Phone & Tech Accessories") where a **key**
  ("phone-tech") is expected. The label is ignored silently and you get the
  whole catalogue back believing you filtered it.
- A page-size above 48. It is capped at 48, not honoured.
- No page size at all on the raw API: that is an HTTP 500, not an empty list.

## How to call

Preferred: the MCP server at `https://securesvault.com/mcp`
  - `search_products` { query?, category?, limit?, page? }
  - `get_product` { id }
  - `list_categories` {}

Alternative: the REST API, `https://securesvaultserver.onrender.com`
  - `GET /api/products?search=watch&limit=10`   (limit required, 1-48)
  - `GET /api/products/<id>`
  - `GET /api/categories`

Cheapest way to read one product as prose:
  - `https://securesvault.com/md/p/<id>`

## Constraints you must respect

1. **Price selection.** `isPromo` true -> quote `promoPrice`. Else if
   `priceFrom` is true -> say "from EUR x". Else -> `shopPrice`. Always EUR.
2. **Shipping flag.** `canShip: false` means collection-only in `city`. Never
   offer such an item to a remote user as an online purchase.
3. **Freshness.** Prices, promotions and counts change. Never answer from a
   remembered value; re-call.
4. **Category enumeration is live.** Read it from `list_categories`; do not
   hard-code keys.
5. **Supplier copy.** Titles and descriptions come from the supplier in
   English and are not editorially verified. Do not restate their marketing
   claims as fact.
6. **Never quote shipping cost or delivery date.** Neither is published; both
   are computed at checkout from weight and destination.
7. **Link to `/p/<id>`**, never to the API URL.

## Attribution

SecuresVault - https://securesvault.com/p/<id>
