Skip to main content
Glama

Chercher un produit

chercher_produit
Read-onlyIdempotent

Trouve des produits de l'officine par nom, par code CIP ou par molécule : cip, nom, laboratoire, famille, substances actives (dci), générique ou princeps, prix catalogue TTC, stock, dernier mois vendu. Plusieurs mots dans n'importe quel ordre, abréviations du logiciel comprises ; tolère une faute de frappe ou un mot absent : si aucun nom ne contient tous les mots, rend les noms les plus proches, avec les mots retrouvés (correspond) et une proximite de 0 à 1. molecule=paracetamol rend tous les médicaments qui en contiennent, quelle que soit la marque. anomalie liste ce qui est à corriger dans le logiciel : prix d'achat qui paraît faux (prix_achat_improbable, avec le PAMP et la marge au prix catalogue), sans prix d'achat, vendu à perte au prix catalogue (marge_negative), prix catalogue qui ne concorde pas avec l'encaissé (prix_catalogue_incoherent), sans famille, sans laboratoire. À utiliser avant tout outil qui prend un code CIP, quand le pharmacien cite un produit par son nom ou sa molécule, ou demande ce qui est faux ou incomplet dans son logiciel. Au plus 50 lignes. Pas pour une question médicale, une posologie, un dossier patient ni un prix du marché. Searches the pharmacy's own catalogue by name or CIP code, typo-tolerant.

Input Schema

NameRequiredDescriptionDefault
qNoMot(s) du nom, ou un code CIP à 13 chiffres. Facultatif si molecule, type_soin ou anomalie est donné.
pageNoPage suivante d'une liste tronquée (même limite).
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
anomalieNoLister les produits du logiciel qui ont ce défaut ; q devient facultatif. Triés par enjeu (chiffre d'affaires des douze derniers mois).
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.
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 ».
associationsNoexclure : la substance seule (paracétamol sans codéine) ; seules : les associations.inclure

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / anomalie / enum
      Previous value: -[
      -  "prix_achat_improbable",
      -  "sans_prix_achat",
      -  "marge_negative",
      -  "sans_famille",
      -  "sans_laboratoire"
      -]New value: +[
      +  "prix_achat_improbable",
      +  "sans_prix_achat",
      +  "marge_negative",
      +  "prix_catalogue_incoherent",
      +  "sans_famille",
      +  "sans_laboratoire"
      +]
    • 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. Changed1 schema field changed
    • addedInput schema / properties / groupe
      Added value: +{
      +  "description": "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.",
      +  "enum": [
      +    "parapharmacie",
      +    "medicaments",
      +    "medicaments_rembourses",
      +    "medicaments_non_rembourses",
      +    "medicaments_conseil",
      +    "medicaments_ordonnance_non_rembourses",
      +    "medicaments_prix_fixe",
      +    "lpp",
      +    "laits_infantiles"
      +  ],
      +  "type": "string"
      +}
  3. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Goes well beyond the readOnly/idempotent annotations: discloses typo tolerance and word-order insensitivity, the proximity/correspond fallback behavior, molecule expansion to all brands, anomaly listing with sorting by revenue, and the 50-row cap with page paging. Doesn't describe the exact shape of returned objects, but annotations plus this text cover most of what an agent needs.

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?

Front-loaded correctly with the resource and fields, but the prose is a single dense run-on mixing search semantics, anomaly semantics and usage rules, and the closing English sentence 'Searches the pharmacy's own catalogue by name or CIP code, typo-tolerant' duplicates information already given in French.

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

Completeness5/5

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

For an 11-parameter read tool with no output schema, the description covers what comes back (CIP, nom, laboratoire, famille, DCI, prix, stock, dernier mois vendu), the row cap, the paging mechanism and the anomaly taxonomy. Nothing an agent needs to call it correctly is missing.

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 already 91%, so baseline is 3. The description still adds meaning: it explains that q is optional when molecule/anomaly/type_soin is supplied, that multiple words can come in any order with software abbreviations, and gives a concrete molecule example ('molecule=paracetamol rend tous les médicaments qui en contiennent').

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

Purpose5/5

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

Opens with a specific verb and resource ('Trouve des produits de l'officine') and enumerates the searchable keys (nom, CIP, molécule) plus the returned fields. It is clearly distinguishable from siblings like fiche_produit or lister.

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?

Explicitly states when to use it ('avant tout outil qui prend un code CIP', when the pharmacist names a product or asks what is wrong in the software) and when not to (medical questions, posology, patient records, market prices). Also names the alternative route implicitly via fiche_produit.

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