> ## Documentation Index
> Fetch the complete documentation index at: https://docs.launchmystore.io/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP Tools Reference

> Complete list of tools available through the MCP server

# MCP Tools Reference

<Note>
  Nova AI and MCP use the **same tool definitions**. Every tool listed here is exposed via both interfaces. The registry covers products, orders, themes, settings, plus newer surfaces (variants, media, taxes, shipping zones, selling plans, payment providers, snippets, social links, warehouses, webhooks, notifications, POS shifts, apps, subscriptions, metafields, wallet credits, leaderboard, AI-native generation, and agentic tasks).

  <Note>
    Store policies (Privacy Policy, Refund Policy, Terms & Conditions) are **not** managed through a dedicated policy tool. Create and edit them as custom pages with `add_page` / `update_page`, then link them from the footer menu.
  </Note>
</Note>

## Products

### get\_products

Search and list products. Supports sorting, filtering by status/stock, and text search.

| Parameter     | Type   | Required | Description                                                                 |
| ------------- | ------ | -------- | --------------------------------------------------------------------------- |
| `search`      | string |          | Search by product name or description                                       |
| `page`        | number |          | Page number (default 1)                                                     |
| `limit`       | number |          | Products per page (default 10, max 50)                                      |
| `sortBy`      | string |          | Sort: "createdAt", "-createdAt", "name", "-name", "salePrice", "-salePrice" |
| `status`      | string |          | Filter: "active" or "inactive"                                              |
| `stockStatus` | string |          | Filter: "inStock", "outOfStock", "lowStock"                                 |

### add\_product

Add a new product. Only name and salePrice are required.

| Parameter       | Type   | Required | Description                                             |
| --------------- | ------ | -------- | ------------------------------------------------------- |
| `name`          | string | ✓        | Product name                                            |
| `salePrice`     | number | ✓        | Original/MRP price                                      |
| `discountPrice` | number |          | Selling price (must be less than or equal to salePrice) |
| `description`   | string |          | Product description (HTML supported)                    |
| `categoryId`    | string |          | Primary category ID                                     |
| `categoryIds`   | array  |          | Multiple category IDs                                   |
| `stock`         | number |          | Stock quantity                                          |
| `stockStatus`   | string |          | "inStock", "outOfStock", "lowStock"                     |
| `skuId`         | string |          | SKU identifier                                          |
| `weight`        | number |          | Product weight                                          |
| `weightUnit`    | string |          | "kg", "g", "lb", "oz"                                   |
| `tags`          | array  |          | Product tags                                            |
| `mainImageUrl`  | string |          | Main product image URL                                  |
| `variants`      | array  |          | Product variants                                        |

### update\_product

Update an existing product.

| Parameter       | Type   | Required | Description                         |
| --------------- | ------ | -------- | ----------------------------------- |
| `productId`     | string | ✓        | The product ID to update            |
| `name`          | string |          | New product name                    |
| `salePrice`     | number |          | New original/MRP price              |
| `discountPrice` | number |          | New selling price                   |
| `description`   | string |          | New description (HTML)              |
| `stock`         | number |          | New stock quantity                  |
| `stockStatus`   | string |          | "inStock", "outOfStock", "lowStock" |
| `categoryId`    | string |          | New primary category ID             |
| `tags`          | array  |          | New tags                            |

### delete\_product

Delete a product from the store. This action is irreversible.

| Parameter   | Type   | Required | Description              |
| ----------- | ------ | -------- | ------------------------ |
| `productId` | string | ✓        | The product ID to delete |

***

## Orders

### get\_orders

List orders with sorting, filtering, and search.

| Parameter       | Type   | Required | Description                                                       |
| --------------- | ------ | -------- | ----------------------------------------------------------------- |
| `page`          | number |          | Page number (default 1)                                           |
| `limit`         | number |          | Orders per page (default 10)                                      |
| `sortBy`        | string |          | Sort: "createdAt", "-createdAt", "finalPrice", "-finalPrice"      |
| `status`        | array  |          | Filter: "unpaid", "confirmed", "shipped", "delivered", "canceled" |
| `paymentMethod` | array  |          | Filter: "COD", "prepaid", "RazorPay", etc.                        |
| `range`         | string |          | "lifetime", "today", "this\_week", "this\_month", "custom"        |
| `start`         | string |          | Start date (ISO) for custom range                                 |
| `end`           | string |          | End date (ISO) for custom range                                   |
| `customerName`  | string |          | Search by customer name                                           |
| `orderId`       | string |          | Search by specific order ID                                       |

### get\_single\_order

Get detailed information about a specific order.

| Parameter | Type   | Required | Description             |
| --------- | ------ | -------- | ----------------------- |
| `orderId` | string | ✓        | The order ID to look up |

### update\_order

Update an existing order.

| Parameter        | Type   | Required | Description                                                |
| ---------------- | ------ | -------- | ---------------------------------------------------------- |
| `orderId`        | string | ✓        | The order ID to update                                     |
| `status`         | string |          | "pending", "confirmed", "shipped", "delivered", "canceled" |
| `courierName`    | string |          | Courier/shipping carrier name                              |
| `trackingNumber` | string |          | Shipment tracking number                                   |
| `deliveryDate`   | string |          | Expected delivery date (ISO)                               |
| `notes`          | string |          | Internal notes                                             |

### create\_manual\_order

Create a new order manually.

| Parameter       | Type   | Required | Description                                     |
| --------------- | ------ | -------- | ----------------------------------------------- |
| `products`      | array  | ✓        | Array of {productId, quantity, salePrice, name} |
| `paymentMethod` | string | ✓        | Payment method (e.g., "cod")                    |
| `clientName`    | string |          | Customer name                                   |
| `email`         | string |          | Customer email                                  |
| `mobileNumber`  | string |          | Customer phone                                  |
| `address`       | string |          | Shipping address                                |
| `city`          | string |          | City                                            |
| `state`         | string |          | State/province                                  |
| `country`       | string |          | Country                                         |

### get\_abandoned\_orders

Get abandoned carts.

| Parameter | Type   | Required | Description                     |
| --------- | ------ | -------- | ------------------------------- |
| `page`    | number |          | Page number (default 1)         |
| `limit`   | number |          | Orders per page (default 10)    |
| `sortBy`  | string |          | Sort: "createdAt", "-createdAt" |
| `range`   | string |          | Date range filter               |

***

## Analytics

### get\_dashboard\_analytics

Get dashboard overview: revenue, orders, average order value, traffic.

| Parameter | Type   | Required | Description                                                             |
| --------- | ------ | -------- | ----------------------------------------------------------------------- |
| `range`   | string |          | "lifetime", "today", "yesterday", "this\_week", "this\_month", "custom" |
| `start`   | string |          | Custom start date (YYYY-MM-DD)                                          |
| `end`     | string |          | Custom end date (YYYY-MM-DD)                                            |

### get\_sales\_analytics

Get detailed sales analytics with revenue breakdowns and trends.

| Parameter | Type   | Required | Description       |
| --------- | ------ | -------- | ----------------- |
| `range`   | string |          | Date range filter |
| `start`   | string |          | Custom start date |
| `end`     | string |          | Custom end date   |

### get\_traffic\_analytics

Get store traffic data: page views, visitors, sessions, sources.

| Parameter | Type   | Required | Description       |
| --------- | ------ | -------- | ----------------- |
| `range`   | string |          | Date range filter |
| `start`   | string |          | Custom start date |
| `end`     | string |          | Custom end date   |

### get\_product\_analytics

Get product performance: views, add-to-cart rates, conversion, revenue.

| Parameter | Type   | Required | Description       |
| --------- | ------ | -------- | ----------------- |
| `range`   | string |          | Date range filter |
| `start`   | string |          | Custom start date |
| `end`     | string |          | Custom end date   |

***

## Categories

### get\_categories

List product categories.

| Parameter | Type   | Required | Description                                      |
| --------- | ------ | -------- | ------------------------------------------------ |
| `page`    | number |          | Page number (default 1)                          |
| `limit`   | number |          | Categories per page (default 20)                 |
| `search`  | string |          | Search by category name                          |
| `sortBy`  | string |          | Sort: "createdAt", "-createdAt", "name", "-name" |

### add\_category

Create a new product category.

| Parameter          | Type   | Required | Description                        |
| ------------------ | ------ | -------- | ---------------------------------- |
| `name`             | string | ✓        | Category name                      |
| `description`      | string |          | Category description               |
| `parentCategoryId` | string |          | Parent category ID for subcategory |
| `products`         | array  |          | Array of product IDs to assign     |

### update\_category

Update a product category.

| Parameter     | Type   | Required | Description                    |
| ------------- | ------ | -------- | ------------------------------ |
| `categoryId`  | string | ✓        | The category ID to update      |
| `name`        | string |          | New category name              |
| `description` | string |          | New description                |
| `products`    | array  |          | Array of product IDs to assign |

### delete\_category

Delete a product category.

| Parameter    | Type   | Required | Description               |
| ------------ | ------ | -------- | ------------------------- |
| `categoryId` | string | ✓        | The category ID to delete |

***

## Coupons

### get\_coupons

List all coupons.

| Parameter | Type   | Required | Description                   |
| --------- | ------ | -------- | ----------------------------- |
| `page`    | number |          | Page number (default 1)       |
| `limit`   | number |          | Coupons per page (default 10) |

### create\_coupon

Create a new discount coupon.

| Parameter            | Type   | Required | Description                                                 |
| -------------------- | ------ | -------- | ----------------------------------------------------------- |
| `code`               | string | ✓        | Coupon code (e.g., SUMMER20)                                |
| `type`               | string | ✓        | "Percentage", "Flat", "BuyXGetY", "FreeShipping", "Freebie" |
| `totalCoupons`       | number | ✓        | Total number of uses allowed                                |
| `usesPerCustomer`    | number | ✓        | Max uses per customer                                       |
| `startDate`          | string | ✓        | Start date (ISO format)                                     |
| `endDate`            | string |          | End date (ISO format)                                       |
| `discountPercentage` | number |          | Discount % (for Percentage type)                            |
| `discountAmount`     | number |          | Discount amount (for Flat type)                             |
| `maxDiscount`        | number |          | Maximum discount cap                                        |
| `minOrderValue`      | number |          | Minimum order value                                         |

### update\_coupon

Update an existing coupon.

| Parameter            | Type   | Required | Description             |
| -------------------- | ------ | -------- | ----------------------- |
| `couponId`           | string | ✓        | The coupon ID to update |
| `code`               | string |          | New coupon code         |
| `status`             | string |          | "Active" or "Inactive"  |
| `totalCoupons`       | number |          | Total uses allowed      |
| `discountPercentage` | number |          | Discount %              |
| `discountAmount`     | number |          | Discount amount         |

### delete\_coupon

Delete a coupon.

| Parameter  | Type   | Required | Description             |
| ---------- | ------ | -------- | ----------------------- |
| `couponId` | string | ✓        | The coupon ID to delete |

***

## Customers

### get\_customers

List customers.

| Parameter | Type   | Required | Description                                                      |
| --------- | ------ | -------- | ---------------------------------------------------------------- |
| `page`    | number |          | Page number (default 1)                                          |
| `limit`   | number |          | Customers per page (default 10)                                  |
| `search`  | string |          | Search by name, email, phone                                     |
| `sortBy`  | string |          | Sort: "customerName", "-customerName", "createdAt", "-createdAt" |

### add\_customer

Add a new customer.

| Parameter      | Type   | Required | Description        |
| -------------- | ------ | -------- | ------------------ |
| `customerName` | string | ✓        | Customer full name |
| `email`        | string | ✓        | Customer email     |
| `phoneNumber`  | string |          | Phone number       |
| `address`      | string |          | Street address     |
| `city`         | string |          | City               |
| `state`        | string |          | State/province     |
| `pinCode`      | string |          | Postal/PIN code    |

### update\_customer

Update an existing customer.

| Parameter      | Type   | Required | Description               |
| -------------- | ------ | -------- | ------------------------- |
| `customerId`   | string | ✓        | The customer ID to update |
| `customerName` | string |          | Customer full name        |
| `email`        | string |          | Customer email            |
| `phoneNumber`  | string |          | Phone number              |
| `address`      | string |          | Street address            |
| `city`         | string |          | City                      |

### delete\_customer

Delete a customer.

| Parameter    | Type   | Required | Description               |
| ------------ | ------ | -------- | ------------------------- |
| `customerId` | string | ✓        | The customer ID to delete |

***

## Blogs

### get\_blogs

List blog posts.

| Parameter | Type   | Required | Description                 |
| --------- | ------ | -------- | --------------------------- |
| `page`    | number |          | Page number (default 1)     |
| `limit`   | number |          | Posts per page (default 10) |
| `search`  | string |          | Search by blog title        |
| `tags`    | array  |          | Filter by tags              |

### add\_blog

Create a new blog post.

| Parameter  | Type   | Required | Description             |
| ---------- | ------ | -------- | ----------------------- |
| `name`     | string | ✓        | Blog post slug/URL name |
| `title`    | string | ✓        | Blog post title         |
| `content`  | string | ✓        | Blog content (HTML)     |
| `tags`     | array  |          | Tags for the post       |
| `seoTitle` | string |          | SEO meta title          |
| `seoDesc`  | string |          | SEO meta description    |

### update\_blog

Update an existing blog post.

| Parameter | Type   | Required | Description                |
| --------- | ------ | -------- | -------------------------- |
| `blogId`  | string | ✓        | The blog post ID to update |
| `title`   | string |          | Blog post title            |
| `content` | string |          | Blog content (HTML)        |
| `tags`    | array  |          | Tags                       |

### delete\_blog

Delete a blog post.

| Parameter | Type   | Required | Description                |
| --------- | ------ | -------- | -------------------------- |
| `blogId`  | string | ✓        | The blog post ID to delete |

***

## Pages

### get\_pages

List custom pages.

| Parameter | Type   | Required | Description                 |
| --------- | ------ | -------- | --------------------------- |
| `page`    | number |          | Page number (default 1)     |
| `limit`   | number |          | Pages per page (default 10) |
| `search`  | string |          | Search by page title        |

### add\_page

Create a new custom page.

| Parameter  | Type   | Required | Description          |
| ---------- | ------ | -------- | -------------------- |
| `title`    | string | ✓        | Page title           |
| `content`  | string |          | Page content (HTML)  |
| `seoTitle` | string |          | SEO meta title       |
| `seoDesc`  | string |          | SEO meta description |

### update\_page

Update an existing custom page.

| Parameter | Type   | Required | Description           |
| --------- | ------ | -------- | --------------------- |
| `pageId`  | string | ✓        | The page ID to update |
| `title`   | string |          | Page title            |
| `content` | string |          | Page content (HTML)   |

### delete\_page

Delete a custom page.

| Parameter | Type   | Required | Description           |
| --------- | ------ | -------- | --------------------- |
| `pageId`  | string | ✓        | The page ID to delete |

***

## Themes

### list\_themes

List all themes available to the merchant.

*No parameters required.*

### set\_active\_theme

Set a theme as the active/live theme.

| Parameter | Type   | Required | Description               |
| --------- | ------ | -------- | ------------------------- |
| `themeId` | string | ✓        | Theme ID to set as active |

### get\_theme\_settings

Get current theme settings.

| Parameter | Type   | Required | Description                       |
| --------- | ------ | -------- | --------------------------------- |
| `themeId` | string |          | Theme ID (uses active if omitted) |

### save\_theme\_settings

Save theme settings.

| Parameter  | Type   | Required | Description                                      |
| ---------- | ------ | -------- | ------------------------------------------------ |
| `themeId`  | string | ✓        | Theme ID to update                               |
| `settings` | object | ✓        | Key-value object with setting IDs and new values |

### get\_theme\_sections

Get all sections on a page template.

| Parameter      | Type   | Required | Description                                 |
| -------------- | ------ | -------- | ------------------------------------------- |
| `themeId`      | string | ✓        | Theme ID                                    |
| `templatePath` | string | ✓        | Template path, e.g., "templates/index.json" |

### save\_section\_settings

Update settings for a specific section or block.

| Parameter      | Type   | Required | Description                            |
| -------------- | ------ | -------- | -------------------------------------- |
| `themeId`      | string | ✓        | Theme ID                               |
| `templatePath` | string | ✓        | Template path                          |
| `sectionId`    | string | ✓        | Section ID to update                   |
| `blockId`      | string |          | Block ID (when updating a block)       |
| `settings`     | object | ✓        | Object with setting IDs and new values |

### add\_section

Add a new section to a theme template.

| Parameter         | Type   | Required | Description                        |
| ----------------- | ------ | -------- | ---------------------------------- |
| `themeId`         | string | ✓        | Theme ID                           |
| `templatePath`    | string | ✓        | Template path                      |
| `sectionType`     | string | ✓        | Section type (e.g., "hero-banner") |
| `sectionSettings` | object |          | Initial settings for the section   |
| `position`        | number |          | Position to insert at (0-based)    |

### delete\_section

Remove a section from a theme template.

| Parameter      | Type   | Required | Description          |
| -------------- | ------ | -------- | -------------------- |
| `themeId`      | string | ✓        | Theme ID             |
| `templatePath` | string | ✓        | Template path        |
| `sectionId`    | string | ✓        | Section ID to remove |

### theme\_list\_files

List files and subdirectories inside a theme folder. Empty `path` returns the eight top-level allow-listed folders (`sections`, `snippets`, `blocks`, `assets`, `templates`, `layout`, `config`, `locales`). Recursive walks are capped at 5000 entries.

| Parameter   | Type    | Required | Description                                                             |
| ----------- | ------- | -------- | ----------------------------------------------------------------------- |
| `themeId`   | string  | ✓        | Theme ID                                                                |
| `path`      | string  |          | Sub-path under the theme directory. Empty/omitted lists the theme root. |
| `recursive` | boolean |          | Walk the whole subtree (default false)                                  |

### theme\_read\_file

Read a single theme file. Binary files (images, fonts, video, pdf) come back base64-encoded; text files come back as utf8.

| Parameter  | Type   | Required | Description                                                        |
| ---------- | ------ | -------- | ------------------------------------------------------------------ |
| `themeId`  | string | ✓        | Theme ID                                                           |
| `path`     | string | ✓        | File path relative to the theme root (e.g. `snippets/header.aqua`) |
| `encoding` | string |          | Force `utf8` or `base64`; omit to auto-detect                      |

### theme\_write\_file

Create or overwrite a theme file. The first path segment must be one of the allow-listed folders. Caches are auto-invalidated. Size cap: 5 MB text / 10 MB binary.

| Parameter    | Type    | Required | Description                                                               |
| ------------ | ------- | -------- | ------------------------------------------------------------------------- |
| `themeId`    | string  | ✓        | Theme ID                                                                  |
| `path`       | string  | ✓        | Target path relative to the theme root                                    |
| `content`    | string  | ✓        | File contents (base64-encoded when `encoding=base64`)                     |
| `encoding`   | string  |          | `utf8` (default) or `base64`. `base64` is **only valid under `assets/`**. |
| `createDirs` | boolean |          | Auto-create missing parent dirs (default true)                            |

### theme\_delete\_file

Delete a single theme file. Directory deletion is intentionally not supported.

| Parameter | Type   | Required | Description                          |
| --------- | ------ | -------- | ------------------------------------ |
| `themeId` | string | ✓        | Theme ID                             |
| `path`    | string | ✓        | File path relative to the theme root |

### theme\_rename\_file

Move or rename a single theme file. Cross-folder moves are allowed as long as both sides are inside an allow-listed folder. Binary extensions are only valid under `assets/`.

| Parameter   | Type    | Required | Description                                      |
| ----------- | ------- | -------- | ------------------------------------------------ |
| `themeId`   | string  | ✓        | Theme ID                                         |
| `fromPath`  | string  | ✓        | Existing path                                    |
| `toPath`    | string  | ✓        | New path                                         |
| `overwrite` | boolean |          | Replace destination if it exists (default false) |

### theme\_create\_snippet

Convenience wrapper that creates a new file at `snippets/{name}.aqua`.

| Parameter   | Type    | Required | Description                                  |
| ----------- | ------- | -------- | -------------------------------------------- |
| `themeId`   | string  | ✓        | Theme ID                                     |
| `name`      | string  | ✓        | Snippet name (without folder/extension)      |
| `content`   | string  | ✓        | Liquid source                                |
| `overwrite` | boolean |          | Replace if it already exists (default false) |

### theme\_create\_section

Convenience wrapper that creates a new file at `sections/{name}.aqua`. Section files typically end with a `{% schema %}` block declaring settings.

| Parameter   | Type    | Required | Description                                           |
| ----------- | ------- | -------- | ----------------------------------------------------- |
| `themeId`   | string  | ✓        | Theme ID                                              |
| `name`      | string  | ✓        | Section name (without folder/extension)               |
| `content`   | string  | ✓        | Liquid source including `{% schema %}{% endschema %}` |
| `overwrite` | boolean |          | Replace if it already exists (default false)          |

### theme\_create\_block

Convenience wrapper that creates a new file at `blocks/{name}.aqua`. Blocks are nested children rendered inside a section via `{% content_for "blocks" %}`.

| Parameter   | Type    | Required | Description                                  |
| ----------- | ------- | -------- | -------------------------------------------- |
| `themeId`   | string  | ✓        | Theme ID                                     |
| `name`      | string  | ✓        | Block name (without folder/extension)        |
| `content`   | string  | ✓        | Liquid source                                |
| `overwrite` | boolean |          | Replace if it already exists (default false) |

***

## Menus

### get\_menus

List navigation menu items.

| Parameter  | Type   | Required | Description                  |
| ---------- | ------ | -------- | ---------------------------- |
| `page`     | number |          | Page number (default 1)      |
| `limit`    | number |          | Items per page (default 10)  |
| `menuType` | string |          | Filter: "header" or "footer" |

### add\_menu

Create a navigation menu item.

| Parameter      | Type   | Required | Description                                |
| -------------- | ------ | -------- | ------------------------------------------ |
| `name`         | string | ✓        | Display name                               |
| `menuType`     | string | ✓        | "header" or "footer"                       |
| `menuItemType` | string | ✓        | "page", "product", "category", or "custom" |
| `url`          | string |          | URL for custom links                       |
| `itemId`       | string |          | ID of linked page/product/category         |
| `order`        | number |          | Display order (lower = first)              |

### update\_menu

Update an existing menu item.

| Parameter | Type   | Required | Description                |
| --------- | ------ | -------- | -------------------------- |
| `menuId`  | string | ✓        | The menu item ID to update |
| `name`    | string |          | New display name           |
| `url`     | string |          | New URL (for custom)       |
| `order`   | number |          | New display order          |

### delete\_menu

Delete a menu item.

| Parameter | Type   | Required | Description                |
| --------- | ------ | -------- | -------------------------- |
| `menuId`  | string | ✓        | The menu item ID to delete |

***

## Shipping & Store Settings

### get\_shipping

Get current shipping settings.

*No parameters required.*

### update\_shipping

Update shipping settings.

| Parameter                | Type   | Required | Description                       |
| ------------------------ | ------ | -------- | --------------------------------- |
| `shippingName`           | string |          | Shipping method name              |
| `deliveryTime`           | string |          | Estimated time (e.g., "3-5 days") |
| `deliveryChargesType`    | string |          | "Fixed" or "Variable"             |
| `deliveryChargePerOrder` | number |          | Flat charge per order (Fixed)     |
| `freeDeliveryAbove`      | number |          | Free delivery threshold (Fixed)   |

### get\_store\_details

Get store/business info.

*No parameters required.*

### update\_store\_details

Update store/business info.

| Parameter       | Type   | Required | Description         |
| --------------- | ------ | -------- | ------------------- |
| `business`      | string |          | Store/business name |
| `ownerName`     | string |          | Owner name          |
| `phone`         | string |          | Contact phone       |
| `businessEmail` | string |          | Business email      |
| `storeAdd`      | string |          | Store address       |
| `country`       | string |          | Country             |

### get\_checkout\_settings

Get checkout configuration.

*No parameters required.*

### update\_checkout\_settings

Update checkout configuration.

| Parameter       | Type   | Required | Description           |
| --------------- | ------ | -------- | --------------------- |
| `guestCheckout` | string |          | "Enable" or "Disable" |

### get\_newsletter\_subscribers

List newsletter subscribers.

| Parameter | Type   | Required | Description             |
| --------- | ------ | -------- | ----------------------- |
| `page`    | number |          | Page number (default 1) |
| `limit`   | number |          | Per page (default 10)   |
| `search`  | string |          | Search by country       |

***

## Exports

### export\_orders

Export orders as CSV or Excel.

| Parameter | Type   | Required | Description                     |
| --------- | ------ | -------- | ------------------------------- |
| `type`    | string | ✓        | Export format: "csv" or "excel" |
| `range`   | string |          | Date range filter               |
| `status`  | string |          | "all" or "abandoned"            |

### export\_products

Export all products as CSV.

*No parameters required.*

### export\_customers

Export all customers as CSV.

*No parameters required.*

### export\_newsletter

Export newsletter subscribers as CSV.

*No parameters required.*

***

## Variants

### get\_variant\_options

List the unique `(name, value)` option pairs used across all variants in the store — e.g. `{"name":"Size","value":"600g"}`. This is **not** a list of variant records and does not return variant IDs. To inspect or mutate specific variants, fetch the parent product via `get_products` and read its `variants[]` array; each entry has a `varientId` (UUID).

| Parameter | Type   | Required | Description                 |
| --------- | ------ | -------- | --------------------------- |
| `page`    | number |          | Page number (default 1)     |
| `limit`   | number |          | Items per page (default 20) |

### add\_variant

Bulk-create variants for a product.

| Parameter   | Type   | Required | Description                                                    |
| ----------- | ------ | -------- | -------------------------------------------------------------- |
| `productId` | string | ✓        | The product UUID to add variants to                            |
| `variants`  | array  | ✓        | Array of `{ name, value, price, discountPrice, stock, skuId }` |

### update\_variant

Update an existing variant (price, stock, etc.).

| Parameter       | Type   | Required | Description                                                                         |
| --------------- | ------ | -------- | ----------------------------------------------------------------------------------- |
| `variantId`     | string | ✓        | The variant **UUID** (the `varientId` field on each entry in `product.variants[]`). |
| `price`         | number |          | New price                                                                           |
| `discountPrice` | number |          | New discount price                                                                  |
| `stock`         | number |          | New stock count                                                                     |
| `skuId`         | string |          | New SKU                                                                             |

### delete\_variant

Delete a product variant. Irreversible.

| Parameter   | Type   | Required | Description                    |
| ----------- | ------ | -------- | ------------------------------ |
| `variantId` | string | ✓        | The variant **UUID** to delete |

***

## Media

### list\_media

List media files in the store library.

| Parameter | Type   | Required | Description                                 |
| --------- | ------ | -------- | ------------------------------------------- |
| `page`    | number |          | Page number                                 |
| `limit`   | number |          | Items per page                              |
| `type`    | string |          | Filter by media type (image / video / file) |

### delete\_media

Delete a media file from the library.

| Parameter | Type   | Required | Description       |
| --------- | ------ | -------- | ----------------- |
| `mediaId` | string | ✓        | The media file ID |

***

## Reviews

### get\_reviews

List product/store feedback and reviews.

| Parameter   | Type   | Required | Description       |
| ----------- | ------ | -------- | ----------------- |
| `productId` | string |          | Filter by product |
| `page`      | number |          | Page number       |
| `limit`     | number |          | Items per page    |

***

## FAQs

### get\_faqs

List FAQ entries.

| Parameter | Type   | Required | Description              |
| --------- | ------ | -------- | ------------------------ |
| `page`    | number |          | Page number.             |
| `limit`   | number |          | Items per page.          |
| `search`  | string |          | Search by question text. |

### add\_faq

The FAQ DTO uses `name` (the question) and `description` (the answer). `description` is optional on the DTO but recommended.

| Parameter     | Type   | Required | Description                    |
| ------------- | ------ | -------- | ------------------------------ |
| `name`        | string | ✓        | The FAQ question.              |
| `description` | string |          | The FAQ answer (HTML allowed). |

### delete\_faq

Delete by `faqId`.

***

## Taxes

### get\_sales\_taxes

List sales tax rules configured for the store.

### add\_sales\_tax

Sales-tax rules per region. Required state depends on country (USA / Canada need a state).

| Parameter    | Type   | Required    | Description                                 |
| ------------ | ------ | ----------- | ------------------------------------------- |
| `country`    | string | ✓           | Country (e.g., `USA`, `CANADA`, `INDIA`).   |
| `state`      | string | conditional | Required when country is `USA` or `CANADA`. |
| `percentage` | number | ✓           | Tax rate as percentage (e.g., `5`).         |

### delete\_sales\_tax

Delete by `salesTaxId`.

### get\_taxes

List the store-wide tax configuration.

### add\_tax

Store-wide tax class (GST-style). Configures whether prices are inclusive/exclusive of tax and the GST number/percentage. This is **not** a simple name/rate pair.

| Parameter       | Type   | Required | Description                               |
| --------------- | ------ | -------- | ----------------------------------------- |
| `taxStatus`     | string | ✓        | `enable` or `disable`.                    |
| `productPrices` | string | ✓        | `inclusive_of_tax` or `exclusive_of_tax`. |
| `gstNumber`     | string | ✓        | Store GST registration number.            |
| `gstPercentage` | number | ✓        | Default GST percentage.                   |

### delete\_tax

Delete by `taxId`.

***

## Shipping Zones

### get\_shipping\_zones

List shipping zones for the store.

### add\_shipping\_zone

| Parameter      | Type    | Required | Description                                     |
| -------------- | ------- | -------- | ----------------------------------------------- |
| `shippingName` | string  | ✓        | Zone name (e.g., `US West`).                    |
| `zone`         | array   |          | Array of country names this zone covers.        |
| `price`        | number  |          | Flat shipping price for this zone.              |
| `description`  | string  |          | Zone description.                               |
| `digitalProd`  | boolean |          | Whether this zone is for digital products only. |
| `type`         | string  |          | `ShippingZoneType` classification.              |
| `minWeight`    | number  |          | Lower weight bound for the zone (kg).           |
| `maxWeight`    | number  |          | Upper weight bound.                             |
| `minPrice`     | number  |          | Lower cart-total bound.                         |
| `maxPrice`     | number  |          | Upper cart-total bound.                         |

### update\_shipping\_zone

Same fields as above, plus required `shippingZoneId`.

### delete\_shipping\_zone

Standard delete by `shippingZoneId`.

***

## Selling Plans (Subscriptions)

### get\_selling\_plan\_groups

List configured selling-plan groups (subscriptions).

### create\_selling\_plan\_group

| Parameter | Type   | Required | Description                                      |
| --------- | ------ | -------- | ------------------------------------------------ |
| `name`    | string | ✓        | Group name                                       |
| `plans`   | array  | ✓        | Array of `{ interval, intervalCount, discount }` |

### attach\_selling\_plan\_to\_products

| Parameter    | Type   | Required | Description           |
| ------------ | ------ | -------- | --------------------- |
| `groupId`    | string | ✓        | Selling-plan group ID |
| `productIds` | array  | ✓        | Products to attach    |

### delete\_selling\_plan\_group

Delete by `groupId`.

***

## Payment Providers

### get\_payment\_providers

List configured payment gateways (Stripe, RazorPay, COD, etc.).

### add\_payment\_provider

Required key fields depend on the provider. Stripe / RazorPay need `publicKey` + `secretKey`; PayPal needs `paypalEmail`; PhonePe / Paytm need `saltKey` + `merchantId`; provider `Other` uses `methodName` + `instructions`.

| Parameter         | Type   | Required    | Description                                                                                                             |
| ----------------- | ------ | ----------- | ----------------------------------------------------------------------------------------------------------------------- |
| `paymentProvider` | string | ✓           | Provider identifier from the `PaymentProviders` enum (e.g., `Stripe`, `RazorPay`, `PayPal`, `PhonePe`, `COD`, `Other`). |
| `status`          | string | ✓           | `enable` or `disable`.                                                                                                  |
| `publicKey`       | string | conditional | Required for Stripe, RazorPay, Coingate, AuthorizeNet, CoinPayments, Przelewy24, Cashfree, SSLCommerz, TwoC2P, VNPay.   |
| `secretKey`       | string | conditional | Required for most card-based providers.                                                                                 |
| `accessToken`     | string | conditional | Used by Square, MercadoPago, Instamojo, PagSeguro.                                                                      |
| `saltKey`         | string | conditional | Used by PhonePe, Paytm, PayU.                                                                                           |
| `saltIndex`       | string | conditional | Used by PhonePe.                                                                                                        |
| `merchantId`      | string | conditional | Used by PhonePe, Square, Paytm, Fawry, PayU.                                                                            |
| `paypalEmail`     | string | conditional | Merchant PayPal email (PayPal only).                                                                                    |
| `methodName`      | string | conditional | Friendly method name (provider `Other`).                                                                                |
| `instructions`    | string | conditional | Customer-facing instructions (provider `Other`).                                                                        |

### delete\_payment\_provider

Delete by `paymentProviderId`.

***

## Snippets

### get\_snippets

List reusable HTML / Liquid snippets.

### add\_snippet

| Parameter  | Type   | Required | Description                                        |
| ---------- | ------ | -------- | -------------------------------------------------- |
| `code`     | string | ✓        | HTML / Liquid snippet body.                        |
| `settings` | object |          | Optional snippet settings (any JSON object).       |
| `values`   | object |          | Optional snippet value bindings (any JSON object). |

### update\_snippet

| Parameter   | Type   | Required | Description             |
| ----------- | ------ | -------- | ----------------------- |
| `snippetId` | string | ✓        | The snippet ID.         |
| `code`      | string |          | New snippet body.       |
| `name`      | string |          | New snippet name.       |
| `type`      | string |          | New snippet type.       |
| `settings`  | object |          | Updated settings.       |
| `values`    | object |          | Updated value bindings. |

### delete\_snippet

Delete by `snippetId`.

***

## Socials

### get\_socials

Get configured social-media links (Instagram, Facebook, X, TikTok, YouTube, Pinterest, LinkedIn).

### update\_socials

| Parameter   | Type   | Required | Description |
| ----------- | ------ | -------- | ----------- |
| `instagram` | string |          | Profile URL |
| `facebook`  | string |          | Page URL    |
| `x`         | string |          | Profile URL |
| `tiktok`    | string |          | Profile URL |
| `youtube`   | string |          | Channel URL |
| `pinterest` | string |          | Profile URL |
| `linkedin`  | string |          | Page URL    |

***

## Warehouses

### get\_warehouses

List warehouse / inventory locations.

### add\_warehouse

| Parameter       | Type   | Required | Description                    |
| --------------- | ------ | -------- | ------------------------------ |
| `warehouseName` | string | ✓        | Warehouse display name.        |
| `warehouseType` | string |          | `Primary` or `Secondary`.      |
| `contactPerson` | string | ✓        | Name of the warehouse contact. |
| `mobileNumber`  | string | ✓        | Contact phone in E.164 form.   |
| `address`       | string | ✓        | Street address.                |
| `area`          | string | ✓        | Neighborhood / area name.      |
| `city`          | string | ✓        | City.                          |
| `state`         | string | ✓        | State.                         |
| `pinCode`       | string |          | ZIP / postal code.             |
| `gstNumber`     | string |          | GST registration number.       |

### update\_warehouse

Same fields as `add_warehouse`, plus required `warehouseId`. All non-id fields optional.

### delete\_warehouse

Delete by `warehouseId`.

***

## Webhooks

### get\_webhooks

List webhook subscriptions.

### add\_webhook

Backend dispatches HTTP POST to `callbackUrl` when the topic fires. The DTO uses `callbackUrl` and `event` (not `url` / `topic`).

| Parameter     | Type    | Required | Description                                                                                                       |
| ------------- | ------- | -------- | ----------------------------------------------------------------------------------------------------------------- |
| `callbackUrl` | string  | ✓        | Destination HTTPS URL to POST to.                                                                                 |
| `event`       | string  | ✓        | Webhook topic (e.g., `orders/create`, `orders/updated`, `carts/update`, `customers/create`, `newsletter/create`). |
| `isEnabled`   | boolean |          | Whether the subscription is active. Defaults to `true`.                                                           |

### update\_webhook

| Parameter     | Type    | Required | Description                  |
| ------------- | ------- | -------- | ---------------------------- |
| `webhookId`   | string  | ✓        | The webhook subscription ID. |
| `callbackUrl` | string  |          | New destination URL.         |
| `event`       | string  |          | New topic.                   |
| `isEnabled`   | boolean |          | Toggle active state.         |

### delete\_webhook

Delete by `webhookId`.

***

## Notifications

### get\_notifications / delete\_notification

In-app notifications (admin alerts, system messages).

***

## POS

### get\_current\_shift

Get the currently open POS shift (or null).

### open\_shift

| Parameter      | Type   | Required | Description         |
| -------------- | ------ | -------- | ------------------- |
| `openingFloat` | number | ✓        | Starting cash float |
| `notes`        | string |          | Open-shift note     |

### close\_shift

| Parameter      | Type   | Required | Description           |
| -------------- | ------ | -------- | --------------------- |
| `shiftId`      | string | ✓        | The shift ID to close |
| `closingFloat` | number | ✓        | Closing cash count    |

### list\_shifts

| Parameter | Type   | Required | Description                          |
| --------- | ------ | -------- | ------------------------------------ |
| `staffId` | string |          | Filter by staff                      |
| `range`   | string |          | "today", "this\_week", "this\_month" |

***

## Apps

### list\_installed\_apps

List apps installed in this store.

### list\_marketplace\_apps

| Parameter  | Type   | Required | Description        |
| ---------- | ------ | -------- | ------------------ |
| `category` | string |          | Filter by category |
| `search`   | string |          | Search term        |
| `page`     | number |          | Page number        |
| `limit`    | number |          | Items per page     |

### install\_app

| Parameter | Type   | Required | Description          |
| --------- | ------ | -------- | -------------------- |
| `appId`   | string | ✓        | Marketplace app UUID |

### uninstall\_app

| Parameter        | Type   | Required | Description                      |
| ---------------- | ------ | -------- | -------------------------------- |
| `installationId` | string | ✓        | The installation ID to uninstall |

***

## Subscriptions (LMS billing)

### get\_active\_subscription

Get the merchant LMS billing subscription currently active.

### get\_subscription\_history

List historical subscriptions / invoices.

### cancel\_subscription

Cancel the active subscription. Takes no params.

***

## Metafields

### list\_metafield\_definitions

| Parameter   | Type   | Required | Description                                                                                |
| ----------- | ------ | -------- | ------------------------------------------------------------------------------------------ |
| `ownerType` | string |          | "product", "variant", "collection", "customer", "order", "page", "blog", "article", "shop" |
| `namespace` | string |          | Filter by namespace                                                                        |

### create\_metafield\_definition

| Parameter     | Type    | Required | Description                            |
| ------------- | ------- | -------- | -------------------------------------- |
| `namespace`   | string  | ✓        | e.g., "custom"                         |
| `key`         | string  | ✓        | Machine name                           |
| `name`        | string  | ✓        | Display label                          |
| `type`        | string  | ✓        | One of the 22 metafield types          |
| `ownerType`   | string  | ✓        | Owner resource type                    |
| `validations` | object  |          | Type-dependent (min/max/regex/choices) |
| `pinned`      | boolean |          | Show on resource detail page           |

### set\_metafield

| Parameter   | Type   | Required | Description                            |
| ----------- | ------ | -------- | -------------------------------------- |
| `namespace` | string | ✓        | Metafield namespace                    |
| `key`       | string | ✓        | Metafield key                          |
| `type`      | string | ✓        | Metafield type                         |
| `value`     | any    | ✓        | Scalar or JSON value matching the type |
| `ownerType` | string | ✓        | Owner type                             |
| `ownerId`   | string | ✓        | Owner resource ID                      |

### delete\_metafield

Delete by `metafieldId`.

***

## Credits

### get\_credit\_history

List wallet credit history for the store.

### add\_wallet\_credit

| Parameter | Type   | Required | Description                                       |
| --------- | ------ | -------- | ------------------------------------------------- |
| `amount`  | number | ✓        | Credit amount (positive = add, negative = deduct) |
| `reason`  | string |          | Reason / memo                                     |

***

## Leaderboard

### get\_leaderboard

Get the sales leaderboard (top stores or staff).

| Parameter | Type   | Required | Description                                        |
| --------- | ------ | -------- | -------------------------------------------------- |
| `range`   | string |          | "today", "this\_week", "this\_month", "this\_year" |
| `scope`   | string |          | "stores" or "staff"                                |

***

## AI-Native

Tools that **delegate to the LLM directly**. The backend executor returns a stub acknowledging the request; Nova generates the actual content from the model context. External MCP clients (Claude Desktop, OpenAI assistants) may call these tools and reuse the result with their own LLM.

### generate\_product\_description

| Parameter   | Type   | Required | Description                                    |
| ----------- | ------ | -------- | ---------------------------------------------- |
| `productId` | string |          | Existing product ID (description rewritten)    |
| `name`      | string |          | Product name (if generating new)               |
| `features`  | array  |          | Bullet-point features to include               |
| `tone`      | string |          | "professional", "casual", "playful", "concise" |
| `length`    | string |          | "short", "medium", "long"                      |

### rewrite\_for\_seo

| Parameter  | Type   | Required | Description                                      |
| ---------- | ------ | -------- | ------------------------------------------------ |
| `text`     | string | ✓        | The original text                                |
| `keywords` | array  |          | Target keywords                                  |
| `intent`   | string |          | "informational", "transactional", "navigational" |

### summarize\_reviews

| Parameter   | Type   | Required | Description                     |
| ----------- | ------ | -------- | ------------------------------- |
| `productId` | string |          | Limit to one product (optional) |
| `range`     | string |          | Date range                      |

### chat\_with\_data

| Parameter  | Type   | Required | Description                               |
| ---------- | ------ | -------- | ----------------------------------------- |
| `question` | string | ✓        | Plain-English question against store data |

### image\_to\_listing

| Parameter  | Type   | Required | Description       |
| ---------- | ------ | -------- | ----------------- |
| `imageUrl` | string | ✓        | Product photo URL |

### dashboard\_insight

| Parameter | Type   | Required | Description                 |
| --------- | ------ | -------- | --------------------------- |
| `range`   | string |          | "today", "this\_week", etc. |

### nightly\_briefing

Generates a one-page summary of the day's activity. No parameters.

***

## Agents

Agentic tools that register or trigger long-running / scheduled work. The executor returns `status: pending` while the agent runtime is wired in; the input is acknowledged for later execution.

### approve\_and\_execute

| Parameter  | Type   | Required | Description                          |
| ---------- | ------ | -------- | ------------------------------------ |
| `toolName` | string | ✓        | The tool name to execute on approval |
| `args`     | object | ✓        | Arguments for that tool              |
| `approver` | string |          | Approver user ID                     |

### schedule\_task

| Parameter | Type   | Required | Description      |
| --------- | ------ | -------- | ---------------- |
| `task`    | string | ✓        | Tool name to run |
| `args`    | object |          | Arguments        |
| `cron`    | string | ✓        | Cron expression  |

### subscribe\_to\_event

| Parameter  | Type   | Required | Description                                         |
| ---------- | ------ | -------- | --------------------------------------------------- |
| `event`    | string | ✓        | Event topic ("orders/create", "carts/update", etc.) |
| `callback` | string | ✓        | Destination (URL, tool name, channel)               |
