You're viewing a demo portfolio

Join the waitlist
PRSM

search_products

Active

Tool of Synchronity

declared in 0.2.0

Find products on a registered store. To BROWSE a store's catalog (open-ended requests like "what do they sell", "show me what's available"), call with NO query — this returns the store's products. To SEARCH, pass `query` (a product name/keyword). Returns paginated products as an interactive card. ALWAYS translate a buyer's budget or price constraint into the price params on THIS call instead of filtering in your reply: "under/below/within X" or "X budget" → `max_price: X`; "over/above/at least X" → `min_price: X`; "between X and Y" → both. Likewise pass `in_stock: true` for "available"/"in stock" and `category` when they name one. The card renders exactly what this call returns, so the filter MUST be applied here — never fetch the full catalog and then narrow it in text. Call once with your best intent (browse OR a single query); if a real search is genuinely empty, ask the user to clarify rather than re-firing reworded queries. The card shows products, prices, IDs, and Add-to-cart controls — keep your text reply to one brief sentence and do not re-list what the card shows.

Parameters schema

{
  "type": "object",
  "required": [
    "site_id"
  ],
  "properties": {
    "page": {
      "type": "integer",
      "description": "Page number (1-indexed, default: 1)"
    },
    "query": {
      "type": "string",
      "description": "Optional single search term (product name/keyword). OMIT to browse; for several names use `queries`."
    },
    "queries": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Search several product names at once (e.g. when the buyer lists multiple items). Returns all matches in ONE call/card instead of searching one at a time. Use `query` for a single search, `queries` for several, or omit both to browse."
    },
    "site_id": {
      "type": "string",
      "description": "Registered site ID (e.g., \"site_abc123\" or \"shopify_store_1\")"
    },
    "category": {
      "type": "string",
      "description": "Filter by product category (optional)"
    },
    "in_stock": {
      "type": "boolean",
      "description": "Filter to in-stock items only (default: false)"
    },
    "per_page": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1,
      "description": "Results per page (default: 20, max: 100)"
    },
    "max_price": {
      "type": "string",
      "description": "Maximum price filter in store currency, format: \"199.99\" (optional)"
    },
    "min_price": {
      "type": "string",
      "description": "Minimum price filter in store currency, format: \"19.99\" (optional)"
    }
  }
}

What this tool wraps· 0 endpoints

min confidence0.700.50

No endpoints wrapped at confidence ≥ 0.70.

Parent server

Synchronity

https://github.com/themewireco/synchronity

2/7 registries
View full server →