Skip to main content
Glama

Couverture de stock

couverture_stock
Read-onlyIdempotent

Ce qui va manquer : produits vendus sur N mois pleins dont le stock couvre au plus X jours, avec un résumé (déjà en rupture, à 7 jours ou moins, mis à part). ruptures=exclure montre ce qui va tomber à zéro, seules ce qui manque déjà ; tri=debit met les gros volumes d'abord (commander en priorité). Fins de saison et ventes ponctuelles mises à part. Avec jours_min, l'inverse : le stock en trop, les produits vendus dont le stock couvre au moins jours_min jours, triés par valeur au-delà (jours_min=180 : plus de six mois de stock), avec l'excès regroupé par laboratoire et par famille. Filtres laboratoire, famille, groupe. Au plus 200 lignes. À utiliser quand le pharmacien demande ses ruptures, ce qu'il doit commander, ce qui risque de manquer, ou ce qu'il a en trop par rapport à ce qu'il vend (ce qui ne se vend plus du tout : stock_dormant). Pas pour une question médicale, une posologie, un dossier patient ni un prix du marché. Products about to run out, given their recent sales, with a summary.

Input Schema

NameRequiredDescriptionDefault
triNocouverture : le plus urgent d'abord ; debit : les plus gros volumes mensuels d'abord.couverture
moisNo
rayonNoRayon SyderaAI (Solaire, Compléments alimentaires, Cheveux, Contention, Homéopathie…), nom exact (lister quoi=rayons) ; plusieurs au choix, séparés par des virgules. Pour « mon rayon solaire », « mes compléments ».
groupeNoLe statut des produits, classement SyderaAI (pas une famille du logiciel) : parapharmacie = ni médicament, ni LPP, ni lait infantile ; medicaments_conseil = sans ordonnance, non remboursés ; medicaments_ordonnance_non_rembourses = sur ordonnance, non remboursés ; medicaments_non_rembourses = les deux ; a_verifier = les produits rangés dans aucun groupe (la ligne « (à vérifier) »).
limiteNo
familleNoFamille du logiciel (son propre rangement), nom exact (lister le donne) ; plusieurs au choix, séparées par des virgules ; « (sans famille) » retient les produits qui n'en ont aucune.
moleculeNoSubstance active, d'après la base publique des médicaments (« paracetamol », « amoxicilline ») ; plusieurs séparées par des virgules. Retient tous les médicaments qui la contiennent, associations comprises ; la parapharmacie n'a pas de molécule. Si la réponse dit que la composition n'est pas chargée, donnez les marques dans q ou produit.
rupturesNoinclure
jours_maxNo
jours_minNoLe stock en trop : les produits dont le stock couvre au moins ce nombre de jours de ventes (remplace jours_max).
type_soinNoLe type de matériel de soin : gamme_blanche (pansements, compresses, bandes, sparadraps et sets), ou un type précis (sets_pansement, contention, glycemie…).
generiquesNoseules : les génériques ; exclure : princeps et médicaments hors groupe générique.inclure
sous_rayonNoSous-rayon SyderaAI (Protection solaire, Sommeil, Anti-Poux, Anti-moustiques & insectes…), nom exact (lister quoi=sous_rayons) ; plusieurs au choix. Pour « mes anti-poux », « mes compléments sommeil ».
laboratoireNoNom exact du laboratoire (lister le donne) ; plusieurs au choix, séparés par des virgules ; « (laboratoire non identifié) » retient les produits sans laboratoire.
associationsNoexclure : la substance seule (paracétamol sans codéine) ; seules : les associations.inclure

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / groupe / description
      Previous value: -"Le statut des produits, classement SyderaAI (pas une famille du logiciel) : parapharmacie = ni médicament, ni LPP, ni lait infantile ; medicaments_conseil = sans ordonnance, non remboursés ; medicaments_ordonnance_non_rembourses = sur ordonnance, non remboursés ; medicaments_non_rembourses = les deux."New value: +"Le statut des produits, classement SyderaAI (pas une famille du logiciel) : parapharmacie = ni médicament, ni LPP, ni lait infantile ; medicaments_conseil = sans ordonnance, non remboursés ; medicaments_ordonnance_non_rembourses = sur ordonnance, non remboursés ; medicaments_non_rembourses = les deux ; a_verifier = les produits rangés dans aucun groupe (la ligne « (à vérifier) »)."
    • changedInput schema / properties / groupe / enum
      Previous value: -[
      -  "parapharmacie",
      -  "medicaments",
      -  "medicaments_rembourses",
      -  "medicaments_non_rembourses",
      -  "medicaments_conseil",
      -  "medicaments_ordonnance_non_rembourses",
      -  "medicaments_prix_fixe",
      -  "lpp",
      -  "laits_infantiles"
      -]New value: +[
      +  "parapharmacie",
      +  "medicaments",
      +  "medicaments_rembourses",
      +  "medicaments_non_rembourses",
      +  "medicaments_conseil",
      +  "medicaments_ordonnance_non_rembourses",
      +  "medicaments_prix_fixe",
      +  "lpp",
      +  "laits_infantiles",
      +  "a_verifier"
      +]
  2. Changed2 schema fields changed
    • changedInput schema / properties / groupe / description
      Previous value: -"Le statut des produits, classement SyderaAI (pas une famille du logiciel) : parapharmacie = ni médicament, ni LPP, ni lait infantile."New value: +"Le statut des produits, classement SyderaAI (pas une famille du logiciel) : parapharmacie = ni médicament, ni LPP, ni lait infantile ; medicaments_conseil = sans ordonnance, non remboursés ; medicaments_ordonnance_non_rembourses = sur ordonnance, non remboursés ; medicaments_non_rembourses = les deux."
    • changedInput schema / properties / groupe / enum
      Previous value: -[
      -  "parapharmacie",
      -  "medicaments",
      -  "medicaments_rembourses",
      -  "medicaments_non_rembourses",
      -  "medicaments_prix_fixe",
      -  "lpp",
      -  "laits_infantiles"
      -]New value: +[
      +  "parapharmacie",
      +  "medicaments",
      +  "medicaments_rembourses",
      +  "medicaments_non_rembourses",
      +  "medicaments_conseil",
      +  "medicaments_ordonnance_non_rembourses",
      +  "medicaments_prix_fixe",
      +  "lpp",
      +  "laits_infantiles"
      +]
  3. First observed

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, so the description's job is to add operational detail, and it does: a 200-row cap, the response summary buckets (already out of stock, 7 days or less, set aside), tri=debit prioritising high-volume items to order first, and the fact that jours_min inverts the whole query and regroups excess by laboratoire and famille. It also warns that season-end and one-off sales are set aside, which materially changes how results should be read.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The substance is front-loaded and dense with no filler, but the clauses are strung into long run-ons that mix the two modes, the summary, the filters and the exclusions in one block. The trailing English sentence 'Products about to run out, given their recent sales, with a summary.' restates the opening in another language and does not earn its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 15-parameter, no-output-schema analytical tool, the description covers both modes, the summary contents, the row cap, the grouping, and the when-not-to-use cases. Minor gaps remain: it does not reconcile the stated 200-row ceiling with the much lower default of 50, nor explain how 'mois pleins' is computed, but none of these would cause a wrong invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 73%, so the schema carries much of the load, yet the description adds real meaning for the non-obvious parameters: ruptures value semantics ('exclure montre ce qui va tomber à zéro, seules ce qui manque déjà'), tri=debit, and jours_min with a concrete example (jours_min=180 ≈ six months of stock). It names the filter dimensions (laboratoire, famille, groupe) but leaves molecule, type_soin, generiques, associations and sous_rayon entirely to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The definition identifies the resource and the two analysis modes precisely: products sold over N full months whose stock covers at most X days, or, with jours_min, the inverse (excess stock). It deliberately carves out stock_dormant for products that no longer sell at all, which separates it from its closest sibling. It opens with an oblique nominal phrase ('Ce qui va manquer') rather than a verb+resource statement, but the intent is unambiguous by the second clause.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit user-intent triggers ('le pharmacien demande ses ruptures, ce qu'il doit commander, ce qui risque de manquer, ou ce qu'il a en trop') plus a named alternative for the adjacent case ('ce qui ne se vend plus du tout : stock_dormant'). It also states exclusions ('Pas pour une question médicale, une posologie, un dossier patient ni un prix du marché'), which no sibling name alone would convey.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources