Skip to content
Official MCP RegistryListed

Fulfiller — print catalogue & quotes

Part ofFulfiller — print catalogue & quotesMCP server

Print catalogue and live quotes from Fulfiller, a French online printer shipping across the EU.

First seen 2 Oct 2026. Evidence as of 7 Oct 2026.

11
Tools
From an anonymous probe
1
Source listings
Each with its own history
27
Recorded changes
Since first seen

Tools

ToolDescriptionBehaviour
create_cartCrée un panier anonyme, éventuellement avec ses premières lignes (cotées à l’ajout, prix FIGÉ). Un panier n’est PAS une commande : rien n’est engagé, et le total est HT — hors TVA et hors port. Chaque ligne désigne le produit par son productId (rendu par search_products) ; le sku est facultatif. `unitPriceHt` et `lineTotalHt` sont promotion déduite. Renvoie le panier complet : n’appelez pas get_cart juste après.Changes data
delete_cartSupprime DÉFINITIVEMENT un panier et toutes ses lignes. Irréversible. Pour retirer une seule ligne, utilisez update_cart avec `remove`.Destructive
get_cartRenvoie le panier tel que FIGÉ à l’ajout : aucune re-cotation à la lecture. `pricedAt` par ligne et `expiresAt` donnent l’âge des prix — au-delà, re-cotez avec quote_product. Sert à RELIRE un panier existant (plus tard dans la conversation, ou quand l’utilisateur demande à le revoir) : inutile juste après create_cart ou update_cart, qui renvoient déjà le panier complet.Read-only
get_product_configurationRenvoie les options configurables d’un produit (quantités, délais, valeurs, tailles) et leurs valeurs disponibles. À appeler AVANT validate_selection ou quote_product : chez Fulfiller, un produit n’est pas un SKU à prix figé mais un espace de configuration. `presets` : configurations prêtes à l’emploi, cotables telles quelles via `selection.preset`. Les dépendances entre options (une finition qui exige le recto verso…) n’y figurent pas : validate_selection les révèle (`enabledOptions`).Read-only
get_product_detailsFiche PIM d’un produit : descriptions, points clés, questions fréquentes, contraintes de fichier (fond perdu, résolution, marges, mode colorimétrique) et ressources (visuels, gabarits, consignes techniques). À utiliser pour DÉCRIRE un produit ou aider à préparer un fichier. Ne renvoie aucun prix — pour coter, passez par quote_product ; un prix écrit dans les textes de la fiche (« Dès 14.5 € ») est souvent périmé, ne l’annoncez pas. Les vidéos sont dans `videos`, pas dans `images`. Fournissez exactement un argument (`productId`, `sku` ou `url`). Les champs absents ne sont pas renseignés au PIM ; la FAQ est rare.Read-only
quote_by_quantityGrille de devis pour plusieurs paliers de quantité en UN appel — la bonne façon de répondre à « combien pour 100, 250, 500 ? ». Prix de chaque palier : `devis.finalPriceHt` (promotion déduite). Même règle que quote_product, palier par palier : hors plage → erreur localisée sans invalider les autres ; hors du pas → coté au palier commandable le plus proche, que `quotedQuantity` indique (le prix porte sur cette quantité, pas sur le palier demandé).Read-only
quote_productDevis RÉEL pour une sélection : prix HT calculé par le moteur de tarification (jamais lu dans une table de SKU), devise, délai, promotion. C’est le seul prix ferme. Le prix à annoncer est `devis.finalPriceHt` (promotion déduite) ; `devis.priceHt` est le prix catalogue, BARRÉ quand `devis.promo` est présent. Pour dire à l’utilisateur ce qui est coté, citez `summary` (libellés lisibles). Si `requiresReview` vaut `true`, le prix porte sur la sélection décrite par `summary`, pas sur la demande : les lignes dont le `status` n’est ni AS_REQUESTED ni DEFAULT disent ce qui a changé.Read-only
resolve_productConvertit une identité EXACTE en identité complète (productId, sku, nom, url) : `sku` (lisible dans le JSON-LD d’une page produit), `url` de la page, ou `productId`. À PRÉFÉRER à search_products dès que vous tenez l’un des trois — la recherche est approximative, celle-ci ne l’est pas. Fournissez exactement un argument.Read-only
search_productsRecherche plein-texte dans le catalogue Fulfiller et renvoie des produits COTABLES (productId, sku, url, et le prix d’appel du site quand il en affiche un). Point d’entrée obligatoire : les autres outils travaillent sur le productId renvoyé ici. `startingPrice` est le prix d’appel AFFICHÉ par le site : indicatif, parfois périmé ou propre à une configuration, ni plancher garanti ni prix ferme — seul quote_product l’est. Sa base (TOTAL, UNIT, PER_SQUARE_METER) change d’un produit à l’autre : ne comparez jamais deux bases différentes. Pour le citer, utilisez `startingPrice.displayLabel`. Un résultat peut lister dans `alsoListedAs` d’autres fiches du site qui vendent le MÊME produit : ne les présentez pas comme des produits distincts.Read-only
update_cartApplique, DANS CET ORDRE : retraits (`remove`), changements de quantité (`update`, sans re-cotation), puis ajouts (`add`, cotés). Renvoie le panier complet après application : n’appelez pas get_cart juste après.Destructive
validate_selectionRésout une sélection tolérante en codes canoniques et vérifie sa COMMANDABILITÉ, sans renvoyer de prix. Sert à corriger une sélection avant de la coter. `summary` décrit en clair la sélection retenue, et son `status` dit pour chaque option si la valeur est celle demandée, un défaut, ou un changement. `requiresReview` à `true` : la sélection retenue diffère de celle demandée, `alerts` dit pourquoi. `enabledOptions` liste, pour chaque option, les valeurs activables AVEC cette sélection : c’est là que se lisent les dépendances entre options.Read-only

Change history

  1. validate_selection: input schema changed
  2. validate_selection: description changed (+"`enabledOptions` liste, pour chaque option, les valeurs activables AVEC cette sélection : c’est là que se lisent les dépendances entre options.")
  3. update_cart: input schema changed
  4. search_products: input schema changed
  5. search_products: description changed (+"et le" +"d’appel du site quand il en affiche un)." +"le prix d’appel AFFICHÉ par le site : indicatif, parfois périmé ou propre à une configuration, ni plancher garanti ni prix ferme — seul quote_product l’est. Sa")
  6. resolve_product: input schema changed (+productId)
  7. resolve_product: description changed (+"identité complète (productId, sku, nom, url)" +"produit)," +"page, ou `productId`.")
  8. quote_product: input schema changed
  9. quote_product: description changed (+"Le prix à annoncer est `devis.finalPriceHt` (promotion déduite) ; `devis.priceHt` est le prix catalogue, BARRÉ quand `devis.promo` est présent.")
  10. quote_by_quantity: input schema changed
  11. quote_by_quantity: description changed (+"Prix de chaque palier : `devis.finalPriceHt` (promotion déduite). Même règle que quote_product, palier par" +":" +"→")
  12. get_product_details: input schema changed (+productId)
  13. get_product_details: description changed (+"quote_product ; un prix écrit dans les textes de la fiche (« Dès 14.5 € ») est souvent périmé, ne l’annoncez pas. Les vidéos sont dans `videos`, pas dans `images`." +"argument (`productId`, `sku` ou `url`)." -"quote_product.")
  14. get_product_configuration: description changed (+"`presets` : configurations prêtes à l’emploi, cotables telles quelles via `selection.preset`. Les dépendances entre options (une finition qui exige le recto verso…) n’y figurent pas : validate_selection les révèle (`enabledOptions`).")
  15. create_cart: input schema changed
  16. create_cart: description changed (+"désigne le produit par son" +"(rendu" +"search_products) ; le sku est facultatif. `unitPriceHt` et `lineTotalHt` sont promotion déduite.")
  17. server instructions changed (+"le prix d’appel affiché par le site," +"(parfois périmé)," +"Le prix à annoncer est `devis.finalPriceHt` (promotion déduite) ; `devis.priceHt` est le prix catalogue, barré quand une promotion s’applique.")
  18. validate_selection: input schema changed
  19. validate_selection: description changed (+"`summary` décrit en clair la sélection retenue," +"son `status` dit pour chaque option si la valeur est celle demandée, un défaut, ou un changement." +"à `true`")
  20. update_cart: input schema changed
  21. search_products: input schema changed
  22. search_products: description changed (+"Pour le citer, utilisez `startingPrice.displayLabel`. Un résultat peut lister dans `alsoListedAs` d’autres fiches du site qui vendent le MÊME produit : ne les présentez pas comme des produits distincts.")
  23. quote_product: input schema changed
  24. quote_product: description changed (+"Pour dire à l’utilisateur ce qui est coté, citez `summary` (libellés lisibles)." +"la sélection décrite par `summary`," +"demande : les lignes dont le `status` n’est ni AS_REQUESTED ni DEFAULT disent ce qui a changé.")
  25. quote_by_quantity: input schema changed
  26. create_cart: input schema changed
  27. server instructions changed (+"Pour décrire un devis, citez `summary` : chaque option y figure en clair, avec un `status` qui dit si sa valeur est celle demandée (AS_REQUESTED), un défaut du produit (DEFAULT), ou une valeur que l’utilisateur n’a pas obtenue telle quelle (REPLACED_BY_DEFAULT, ADJUSTED, CHANGED_BY_CONFIGURATOR, avec `requested`)." +"cette sélection" -"`resolvedSelection`")
Source listings
SourceListingFirst seenLast seenVersions
Official MCP Registrycom.fulfiller/agentic-commerce-api2 Oct 20267 Oct 20261