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

# Produits

> 6 outils — Catalogue produits, images et stock

## upload\_product\_image

`Écriture — service externe`

Upload a product image from base64 and get back a URL. Use this BEFORE create\_product or update\_product to avoid slow requests — then pass the returned imageUrl instead of imageBase64.

<ParamField body="imageBase64" type="string" required>
  Image as base64-encoded string
</ParamField>

<ParamField body="imageMimeType" type="string" default="image/jpeg">
  MIME type (e.g. image/jpeg, image/png)
</ParamField>

## list\_products

`Lecture seule`

List products with pagination, search and filters

<ParamField body="page" type="number" default="1">
  Page number
</ParamField>

<ParamField body="limit" type="number" default="20">
  Items per page (max 50)
</ParamField>

<ParamField body="status" type="string">
  Filter by status — Valeurs : active | draft | archived
</ParamField>

<ParamField body="search" type="string">
  Search by title or description
</ParamField>

<ParamField body="source" type="string">
  Filter by source — Valeurs : internal | aggregated
</ParamField>

## get\_product

`Lecture seule`

Get full details of a product by ID

<ParamField body="productId" type="string" required>
  The product ID
</ParamField>

## create\_product

`Écriture`

Create a new product

<ParamField body="title" type="string" required>
  Product title (required)
</ParamField>

<ParamField body="description" type="string">
  Product description
</ParamField>

<ParamField body="productType" type="string">
  Product type/category
</ParamField>

<ParamField body="vendor" type="string">
  Vendor/brand
</ParamField>

<ParamField body="price" type="number" default="0">
  Price in EUR (excl. tax)
</ParamField>

<ParamField body="currency" type="string" default="EUR">
  Currency code
</ParamField>

<ParamField body="tags" type="array">
  User tags (stored in customTags — the field "tags" is reserved for synced platform tags)
</ParamField>

<ParamField body="notes" type="string">
  Internal notes
</ParamField>

<ParamField body="imageUrl" type="string">
  Product image URL (preferred — use upload\_product\_image first)
</ParamField>

<ParamField body="imageBase64" type="string">
  Product image as base64-encoded string (slower — prefer imageUrl)
</ParamField>

<ParamField body="imageMimeType" type="string" default="image/jpeg">
  MIME type of the image (only needed with imageBase64)
</ParamField>

<ParamField body="costPrice" type="number" default="0">
  Purchase/cost price in EUR (used to compute margin)
</ParamField>

## delete\_product

`Écriture — destructif`

Delete a product by ID (only internal products can be deleted)

<ParamField body="productId" type="string" required>
  The product ID to delete
</ParamField>

## update\_product

`Écriture`

Update an existing product

<ParamField body="productId" type="string" required>
  The product ID to update
</ParamField>

<ParamField body="title" type="string">
  Product title
</ParamField>

<ParamField body="description" type="string">
  Product description
</ParamField>

<ParamField body="productType" type="string">
  Product type/category
</ParamField>

<ParamField body="vendor" type="string">
  Vendor/brand
</ParamField>

<ParamField body="price" type="number">
  Price in EUR
</ParamField>

<ParamField body="tags" type="array">
  User tags (stored in customTags — the field "tags" is reserved for synced platform tags)
</ParamField>

<ParamField body="notes" type="string">
  Internal notes
</ParamField>

<ParamField body="status" type="string">
  Product status — Valeurs : active | draft | archived
</ParamField>

<ParamField body="imageUrl" type="string">
  New product image URL (preferred — use upload\_product\_image first)
</ParamField>

<ParamField body="imageBase64" type="string">
  New product image as base64-encoded string (slower — prefer imageUrl)
</ParamField>

<ParamField body="imageMimeType" type="string" default="image/jpeg">
  MIME type of the image (only needed with imageBase64)
</ParamField>

<ParamField body="costPrice" type="number">
  Purchase/cost price in EUR (used to compute margin)
</ParamField>
