Skip to main content
Glama

đź›’ Greenweez MCP

Serveur Model Context Protocol non officiel pour Greenweez. Il permet à Codex, Claude Code et tout client MCP compatible de rechercher le catalogue, lire les fiches produit et gérer un panier réel avec une confirmation sûre.

IMPORTANT

Projet indépendant, sans affiliation avec Greenweez. Le connecteur ne valide jamais une commande et ne déclenche aucun paiement.

Ce que le MCP apporte

Capacité

Ce qui est retourné ou garanti

🔎 Catalogue

Nom, marque, référence, URL, prix et prix unitaire.

đź§ľ Fiche produit

Description, ingrédients, allergènes, nutrition, origine et livraison lorsqu’ils sont publiés.

đź›’ Panier

Lignes, quantités, prix, disponibilité et statut — jamais l’adresse ni le paiement.

✅ Mutations sûres

Prévisualisation, confirmation unique de deux minutes, contrôle de conflit et relecture réelle.

Related MCP server: VkusVill MCP Server

Installation rapide — Codex, Claude Code et clients MCP

Prérequis : Node.js 22.12 ou supérieur, ainsi qu’un service Camofox local sur loopback. La même configuration stdio fonctionne dans Codex, Claude Code et les clients compatibles :

{
  "mcpServers": {
    "greenweez": {
      "command": "npx",
      "args": [
        "-y",
        "--package=github:ncleton-petitmaker/greenweez-mcp#v0.2.1",
        "greenweez-mcp"
      ]
    }
  }
}

Le processus MCP hérite de GREENWEEZ_CAMOFOX_API_KEY, GREENWEEZ_CAMOFOX_URL et, si utilisé, GREENWEEZ_SESSION_DIRECTORY depuis le gestionnaire de secrets de votre système. Ne mettez jamais leurs valeurs dans Git ou dans une conversation.

Premier démarrage : wizard de connexion

Le serveur fournit le prompt onboard_greenweez et l’outil connect_greenweez. Lorsqu’un client MCP l’appelle, il retourne immédiatement un wizard local avec deux liens directs :

  • J’ai un compte — me connecter : ouvre Greenweez dans le navigateur local du connecteur et attend une session vĂ©rifiĂ©e.

  • CrĂ©er un compte Greenweez : ouvre la page officielle d’inscription, puis permet de revenir Ă  la connexion.

Les clients MCP ne possèdent pas de mécanisme universel pour ouvrir automatiquement une page au simple ajout d’un serveur. Codex et Claude Code reçoivent l’instruction d’appeler cet outil avant une action de compte ; si votre client ne l’affiche pas de lui-même, demandez simplement « Connecte Greenweez ». Le mot de passe et le 2FA restent exclusivement dans Greenweez.

Prérequis

Greenweez bloque les clients HTTP directs : ce connecteur nécessite donc un service Camofox Browser local, exclusivement sur loopback, avec une clé API forte.

npx camofox-browser
export GREENWEEZ_CAMOFOX_URL=http://127.0.0.1:9377
export GREENWEEZ_CAMOFOX_API_KEY='votre-cle-aleatoire-d-au-moins-32-octets'

Ne mettez jamais cette clé dans la configuration MCP, dans Git ou dans une conversation. Gardez-la dans le gestionnaire de secrets de votre système.

Session persistante et migration

Le mot de passe Greenweez n’est jamais stocké par le MCP. Pour la première connexion, lancez la commande ci-dessous puis saisissez vous-même les identifiants et l’éventuel 2FA dans la fenêtre Greenweez locale :

greenweez session login

La commande attend la preuve réelle de connexion et exporte ensuite automatiquement un bundle chiffré. Pour réexporter une session déjà connectée ou vérifier son état :

greenweez session export
greenweez session status

Deux fichiers privés sont créés dans le répertoire de données de l’utilisateur : un bundle AES-256-GCM et sa clé. Pour une autre machine, copiez ces deux fichiers par un canal sécurisé dans le même répertoire, ou pointez vers leur dossier avec GREENWEEZ_SESSION_DIRECTORY, puis exécutez :

greenweez session import

Le MCP importe ensuite automatiquement ce bundle à chaque nouveau démarrage. Les fichiers sont créés en permissions 0600 et ne doivent jamais être placés dans Git, un message ou un gestionnaire de configuration non chiffré. Une session est portable, mais pas permanente : Greenweez peut l’expirer ou la révoquer côté serveur. Dans ce cas, aucune conservation sûre du mot de passe ne permet de contourner la reconnexion ; le connecteur échoue explicitement et demande une nouvelle connexion locale.

Pour plusieurs comptes Greenweez sur une même machine, attribuez à chacun un GREENWEEZ_CAMOFOX_USER_ID stable et distinct. Les bundles, clés, confirmations et verrous sont alors nommés séparément. Utilisez aussi des GREENWEEZ_SESSION_DIRECTORY distincts si les comptes sont exploités par des utilisateurs système différents. Ne réutilisez jamais le bundle d’un compte pour un autre.

Outils

  • connect_greenweez() : vĂ©rifie la session ou retourne le wizard local et les liens officiels de connexion et de crĂ©ation de compte.

  • search_products(query, page?) : recherche le catalogue public, 1 Ă  100.

  • get_product(reference, slug) : lit une fiche produit publique.

  • get_cart() : relit uniquement le rĂ©sumĂ© et les lignes du panier connectĂ©.

  • preview_add_to_cart(reference, slug) : vĂ©rifie la fiche, l’offre, le stock et l’état courant, sans modifier le panier.

  • confirm_add_to_cart(confirmationToken) : ajoute exactement une unitĂ© si le panier n’a pas changĂ©, puis vĂ©rifie le rĂ©sultat rĂ©el.

  • preview_remove_from_cart(reference) : prĂ©visualise le retrait de toute la ligne correspondant Ă  la rĂ©fĂ©rence.

  • confirm_remove_from_cart(confirmationToken) : retire la ligne confirmĂ©e si le panier n’a pas changĂ©, puis vĂ©rifie son absence.

Les confirmations sont aléatoires, à usage unique, valables deux minutes et conservées en 0600. Les mutations sont sérialisées entre processus. Une confirmation périmée, réutilisée ou liée à un panier modifié est refusée avant l’appel GraphQL. Si la réponse réseau est perdue, le connecteur réconcilie le résultat par une nouvelle lecture du panier.

Le même client métier et le même gestionnaire de session sont disponibles en CLI :

npx -y --package=github:ncleton-petitmaker/greenweez-mcp#v0.2.1 greenweez search "pâte à tartiner" 1
npx -y --package=github:ncleton-petitmaker/greenweez-mcp#v0.2.1 greenweez cart get

Le CLI et le serveur MCP utilisent exactement le même client métier et le même registre privé de confirmations. Le connecteur ne propose ni passage de commande, ni validation de livraison, ni paiement.

Si la structure du site, Camofox ou l’accès est modifié, le connecteur échoue explicitement avec une marche à suivre. Il ne retourne jamais de données de substitution.

Développement et publication

git clone https://github.com/ncleton-petitmaker/greenweez-mcp.git
cd greenweez-mcp
npm ci
npm run verify

La branche main est protégée par la CI : types, tests MCP, audit de confidentialité, vérification du contenu npm et contrôle que dist/ est à jour. Une release se crée en poussant un tag vX.Y.Z cohérent avec package.json ; elle joint le paquet .tgz vérifié à GitHub. Consultez CONTRIBUTING.md pour le processus complet.

Sécurité et support

Consultez SECURITY.md pour signaler une vulnérabilité en privé. Pour une question d’utilisation ou une amélioration, ouvrez une discussion GitHub ou une issue sans aucune donnée de compte.

Licence MIT.

Available Tools

8 tools
confirm_add_to_cartConfirmer un ajout au panierA

Consomme une confirmation d’ajout, refuse tout panier modifié entre-temps, ajoute exactement une unité, puis vérifie le panier réel.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmationTokenYes

TDQS

A4.2/5.0
Behavior4/5

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

Beyond annotations, the description discloses significant behavioral traits: the tool refuses a modified cart, adds exactly one unit, and verifies the actual cart after. With readOnlyHint=false and openWorldHint=true already signaling mutation and side effects, the description adds meaningful detail about concurrency guards (refusing modified carts) and quantity semantics (exactly one unit).

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

Conciseness5/5

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

The description is a single compact French sentence that conveys purpose, usage constraints, quantity semantics, and a verification step. Every clause earns its place with zero filler.

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 single-parameter confirmation tool with no output schema, the description covers the core behavior efficiently. It could add details on error outcomes (e.g., what happens when a cart is modified or token is invalid), but given the tool's simple structure and the openWorldHint annotation, the coverage is reasonably complete.

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 description coverage is 0%, so the description must compensate, and it partially does: the confirmationToken is implicitly a token obtained from a prior preview step, tying it to the add-to-cart confirmation workflow. However, it doesn't specify the token's format beyond the schema pattern, or what happens with an invalid/expired token, though with only one parameter the description carries reasonable weight.

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?

The description states a specific verb (consume/confirm) plus resource (addition to cart), and details what it does: consumes a confirmation, refuses modified carts, adds exactly one unit, then verifies the actual cart. This distinguishes it from siblings like confirm_remove_from_cart and preview_add_to_cart.

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

Usage Guidelines3/5

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

The description implies this is the confirmation step following preview_add_to_cart, and its refusal behavior hints at when it should be used. However, it doesn't explicitly name the alternative (preview_add_to_cart) or state when NOT to use it, leaving the workflow linkage implied rather than explicit.

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

confirm_remove_from_cartConfirmer le retrait d’une ligne du panierB
Destructive

Consomme une confirmation de retrait, refuse tout panier modifié entre-temps, retire la ligne ciblée, puis vérifie le panier réel.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmationTokenYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, covering the destructive nature. The description adds valuable context beyond annotations: it rejects modified carts (optimistic concurrency), verifies the real cart afterward, and requires a confirmationToken. However, it doesn't disclose what happens on rejection (error behavior, partial execution) or authentication requirements. The description is consistent with the destructiveHint annotation, adding meaningful behavioral context without contradicting structured data.

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

Conciseness4/5

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

One dense sentence covering the full lifecycle: consume, reject-if-changed, remove, verify. No wasted words. While complete, the French structure packs many subordinate clauses; a reader might benefit from slightly clearer segmentation, but this is efficient for the information conveyed.

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

Completeness3/5

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

For a mutation tool with destructiveHint=true, no output schema, and 0% param schema coverage, the description carries a heavy burden. It does explain the transactional behavior (reject if modified) and post-action verification, which is good. However, it lacks error/return information, what happens on confirmation token expiry, and whether the tool can fail silently. Given the tool's moderate complexity (1 param, clear state-machine behavior), the missing return-value documentation is a notable gap.

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

Parameters3/5

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

The description mentions the confirmationToken concept ('Consomme une confirmation') and 'refuse tout panier modifié' relates to its validation behavior. However, with 0% schema description coverage and an opaque 43-character token pattern, the description doesn't explain where the token comes from (presumably from preview_remove_from_cart). It adds partial meaning but leaves the token's origin and format details unexplained.

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 description clearly states the verb (confirm/consume) and resource (retrait d'une ligne du panier). It explains the multi-step behavior: consumes a confirmation, rejects modified carts, removes the line, verifies the real cart. It doesn't explicitly distinguish from sibling tools, but the 'confirmation' aspect sets it apart from preview_remove_from_cart, though this differentiation is only implicit.

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

Usage Guidelines3/5

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

The description implies this is the confirmation step following preview_remove_from_cart (sibling tool), indicating a two-phase pattern. However, it doesn't explicitly state when to use this versus alternatives or describe the required prerequisites like obtaining a confirmation token first. The 'refuse tout panier modifié entre-temps' gives context on a behavioral constraint but not explicit usage direction.

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

connect_greenweezConnecter ou créer un compte GreenweezA
Idempotent

Retourne un wizard local avec deux liens directs : connexion à un compte existant ou création officielle de compte. Les identifiants restent sur Greenweez.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

Annotations provide idempotentHint=true and openWorldHint=true, and the description adds the useful detail that credentials remain on Greenweez (data stays on the destination), which is a meaningful addition. However, it doesn't disclose more about the wizard behavior or potential side effects beyond what annotations cover.

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

Conciseness4/5

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

Description is a single concise sentence plus a security-relevant note. It's efficient and front-loaded with the main purpose. The second sentence adds the credential-handling detail which is valuable context, not waste.

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 zero-parameter tool that opens a local wizard, the description covers purpose, scope, and the security property of credentials. It's complete for the simple nature of this tool, though it could mention what user action is expected after the wizard opens.

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?

The tool has 0 parameters with 100% schema coverage, so per rubric the baseline is 4. There is nothing for the description to add about parameters since none exist; the description correctly explains the tool needs no inputs and returns a wizard.

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?

Description clearly states it returns a wizard with two links for login or account creation, with a specific verb+resource. It differentiates the connection/auth purpose from the sibling shopping-cart tools. However, it doesn't explicitly contrast with siblings beyond the implicit scope difference.

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

Usage Guidelines3/5

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

The description implies usage (when a user wants to connect or create a Greenweez account) but provides no exclusions or comparison to alternatives. It doesn't state when NOT to use this tool or point to other tools for related flows.

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

get_cartLire le panier GreenweezA
Read-onlyIdempotent

Relit le panier réel du compte connecté sans demander les adresses, paiements ni données de profil.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows this is a safe read operation. The description adds context beyond annotations by noting it reads the cart of the connected account and excludes sensitive data, which is genuinely useful for agents deciding whether this action touches protected resources. No contradictions with annotations.

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

Conciseness5/5

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

A single, tight French sentence that conveys the purpose and scope exclusions. Zero wasted words, no redundancy with the schema or annotations. Efficient and well-structured.

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 simple no-parameter read tool with strong annotations (readOnly, idempotent, non-destructive), the description covers the essential purpose and scope. It doesn't describe the return format or pagination, but with no output schema and simple semantics, this is less critical. It's complete enough for an agent to safely select and invoke.

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?

The tool has 0 parameters and schema coverage is 100%, so there is nothing to document. The baseline for 0 params is 4, and the description appropriately does not invent any parameter details. Nothing more is needed here.

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 description states a clear verb+resource: it 'relit' (re-reads) the real cart of the connected account. It adds useful scope clarification by explicitly stating it does NOT ask for addresses, payments, or profile data, which distinguishes it from broader account-reading tools. However, it doesn't explicitly distinguish from the cart sibling tools (preview_remove_from_cart, etc.) which are about modification rather than reading.

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

Usage Guidelines3/5

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

The description clarifies what data is excluded (addresses, payments, profile) but doesn't explicitly state when to use this vs alternatives. Among siblings, the closest ambiguity is with get_product/search_products (catalog reads), but that distinction is implied by context rather than stated. No explicit when-not guidance or alternative naming.

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

get_productLire une fiche produit GreenweezB
Read-onlyIdempotent

Lit une fiche produit publique par sa référence et son slug, y compris les informations alimentaires publiées.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYes
referenceYes

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already provide readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully disclosed. The description adds the note that food information is included in the read, which is behavioral context beyond annotations. With strong annotation coverage, the description's additional context is meaningful but not extensive.

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

Conciseness4/5

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

The description is a single clean sentence with no waste. It covers the core purpose and scope efficiently. It could add a small amount of parameter guidance but is otherwise appropriately concise.

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

Completeness3/5

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

For a read operation with strong annotations (readOnly, openWorld, no output schema), the description captures the essential purpose. However, with 0% schema coverage, both parameters remain semantically under-explained, and there is no mention of what the returned product data looks like. For a fairly simple 2-param read tool, this is adequate but not thorough.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for the two parameters (reference and slug). The description only mentions these fields by name without explaining their format or semantics (e.g., that reference is an alphanumeric product ID and slug is a URL-friendly identifier). It does add that both are used to locate the product but provides no guidance on how to obtain or format them.

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 description uses a specific verb ('Lit') with a clear resource ('fiche produit publique') identified by its two key fields (référence et slug). It also notes the inclusion of food information, adding useful scope. It does not explicitly distinguish it from siblings like search_products, but the read-by-reference/slug purpose is clear enough to differentiate.

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

Usage Guidelines3/5

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

The description implies this is for reading a single public product by exact reference and slug, which suggests it is for fetching a known product rather than searching. However, it does not explicitly state when to use this versus search_products, nor mention prerequisites (e.g., whether the product must already exist, or whether 'public' means no auth needed). The when-to-use is implied but not articulated.

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

preview_add_to_cartPrévisualiser un ajout au panierA

Relit la fiche, l’offre, le stock et le panier, puis crée une confirmation à usage unique valable deux minutes. Ne modifie pas le panier.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYes
referenceYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false (a mutation may occur), but the description explicitly states 'Ne modifie pas le panier', which adds useful nuance clarifying the tool creates a confirmation artifact without altering the cart. It also discloses the single-use and two-minute validity behaviors, adding real context beyond annotations. No contradiction with annotations.

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

Conciseness5/5

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

Two sentences, front-loaded with the read action then the creation behavior, followed by a clarifying non-mutation clause. Zero wasted words; every clause earns 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 tool with 2 params, good annotations, and no output schema, the description covers the key behaviors: what it reads, what it creates (single-use confirmation, 2-minute validity), and what it does NOT do (doesn't modify the cart). The main gap is not describing the return value/response format, but with no output schema and a clear confirmation concept, the completeness is adequate.

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

Parameters3/5

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

Schema description coverage is 0%, so the description carries no parameter explanation. However, reference and slug both have clear patterns in the schema (alphanumeric slug-like identifiers), and these are standard identifiers already well-documented by the pattern constraints. The description doesn't add param meaning but the schema's regex patterns carry reasonable semantic weight despite 0% coverage.

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?

Description clearly states it reads the sheet/offer/stock/cart and creates a single-use confirmation valid for two minutes. The verb (relit/crée), resource (panier context), and behavior (preview confirmation) are specific. It doesn't explicitly distinguish from sibling preview_remove_from_cart or confirm_add_to_cart, but the 'ajout au panier' vs sibling names make the distinction reasonably clear from context.

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

Usage Guidelines3/5

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

The description implies a preview (non-mutating) flow before add-to-cart, and the 'Ne modifie pas le panier' clause clarifies it's a safe pre-step. However, it doesn't explicitly state when to use this vs confirm_add_to_cart or preview_remove_from_cart, nor the alternative flows. Usage context is implied rather than spelled out.

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

preview_remove_from_cartPrévisualiser le retrait d’une ligne du panierB

Relit le panier et crée une confirmation à usage unique pour retirer toute la ligne ciblée. Ne modifie pas le panier.

ParametersJSON Schema
NameRequiredDescriptionDefault
referenceYes

TDQS

B3.2/5.0
Behavior3/5

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

The description adds useful behavioral context: it creates a 'confirmation Ă  usage unique' (single-use confirmation) and explicitly states 'Ne modifie pas le panier' (does not modify the cart), clarifying the non-destructive nature. However, the annotations already set destructiveHint=false and idempotentHint=false. The description adds the single-use confirmation detail which is genuinely valuable, but doesn't explain what happens to the confirmation if unused or its relationship to confirm_remove_from_cart.

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

Conciseness4/5

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

Two sentences, highly efficient. The first sentence covers purpose and behavior, the second clarifies non-destructive nature. No wasted words. Could arguably add a third sentence on when to use, but as written it's tight and well-structured.

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

Completeness3/5

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

For a single-parameter preview tool with no output schema, the description explains the core function well. It's relatively simple functionally (preview create confirmation). However, it could better explain the confirmation lifecycle (does it expire? what does calling preview_remove_from_cart then confirm_remove_from_cart look like?) and would benefit from explaining what 're-lire le panier' behavior implies visually for the agent. The missing output schema means the agent doesn't know what this returns, and the description doesn't compensate.

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

Parameters3/5

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

The single parameter 'reference' has 0% schema description coverage, so the description carries the burden. It mentions 'la ligne ciblée' (the targeted line) which maps to reference, implying reference identifies a cart line. However, it doesn't clarify whether reference is a product ID, line ID, or what format beyond the schema's alphanumeric pattern. This is an implication rather than explicit explanation.

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 description states a specific action: 'Relit le panier et crée une confirmation à usage unique pour retirer toute la ligne ciblée' (re-reads the cart and creates a single-use confirmation to remove the targeted line). It has a clear verb+resource (relit/preview remove) and explicitly notes it does not modify the cart, distinguishing it from confirm_remove_from_cart sibling.

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

Usage Guidelines2/5

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

While the description implies this is a preview that should be followed by confirm_remove_from_cart (given the mention of a single-use confirmation and the sibling confirm_remove_from_cart tool), it does not explicitly say 'use this before confirm_remove_from_cart' or explain the relationship with the confirm tool. No exclusion criteria or alternatives named.

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

search_productsRechercher des produits GreenweezA
Read-onlyIdempotent

Recherche publique dans le catalogue Greenweez et retourne une page de produits avec les prix observés.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
queryYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=true, and idempotentHint=true, which covers the safety and repeatability profile well. The description adds the 'publique' (no-auth needed) context, which is valuable. No contradictions detected. However, it doesn't disclose return format, pagination count, price observation context, or any rate limits. With strong annotations, a 3 is appropriate as the description adds modest value beyond them.

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

Conciseness5/5

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

A single compact sentence in French that efficiently conveys purpose, scope, and output. Zero wasted words. Extremely concise and appropriately sized for a simple list-search tool.

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

Completeness3/5

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

This is a relatively simple 2-parameter, read-only, idempotent search tool with strong annotations. The description adequately conveys the core function. However, given it's an e-commerce catalog search (Greenweez), details like language/locale assumptions, whether results are sorted, or what 'prix observés' means could add value. But for a simple search tool with good annotations, this is near-complete. Not a 5 because some behavioral detail (e.g., result count, sorting, relevance) is omitted.

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

Parameters3/5

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

Schema description coverage is 0%, so the description carries the burden for parameter meaning. However, the description mentions 'page de produits' which implies the page parameter controls pagination, and 'query' is self-explanatory as the search term. For only 2 simple parameters, this marginal coverage is adequate. The description adds some meaning inferable beyond schema, but doesn't explicitly document either parameter.

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 description clearly states the verb (recherche/searches), resource (catalogue Greenweez), and the output (une page de produits avec les prix observés). This is a specific public catalog search. However, it doesn't explicitly distinguish itself from siblings like get_product, though 'recherche publique' + pagination ('une page de produits') helps differentiate the list/search scope from a single-product fetch.

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

Usage Guidelines3/5

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

The description implies usage context ('Recherche publique dans le catalogue') but provides no explicit when-to-use guidance or alternatives. It doesn't state when to use this vs get_product or against the cart operations. The 'publique' qualifier hints it's a no-auth search, which is useful, but no exclusion or comparison to sibling tools is given.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 8 tool updatesv0.2.1
    • First observedconfirm_add_to_cart
    • First observedconfirm_remove_from_cart
    • First observedconnect_greenweez
    • First observedget_cart
    • First observedget_product
    • First observedpreview_add_to_cart
    • First observedpreview_remove_from_cart
    • First observedsearch_products

TDQS

A3.6/5.0

Scored across 8 tools

Disambiguation4/5

Most tools are clearly distinct: search vs get product, add vs remove, preview vs confirm. However, the preview/confirm pairs (4 tools) could cause an agent to misselect between the add and remove variants without careful reading, and connect_greenweez vs get_cart have somewhat related 'session/account' purposes.

Naming Consistency4/5

The tool names follow a consistent verb_noun pattern: get_, search_, connect_, preview_, confirm_ prefixes all with clear object names (cart, product, add_to_cart, remove_from_cart). The naming is largely consistent, with preview/confirm pairs being well-paired. Minor deviation: connect_greenweez uses verb_domain-service instead of verb_noun, depa...

Tool Count4/5

8 tools is a reasonable, well-scoped count for an e-commerce cart/catalog server. Each tool maps to a distinct part of the shopping workflow (connect, search, browse, add, remove). Slightly on the larger side but appropriate for the domain.

Completeness4/5

The server covers the core shopping flow: connecting, searching, viewing products, adding and removing from cart. Notable gaps include a dedicated 'update cart quantity' tool (only add-one/remove-whole-line exist) and no checkout/order placement, but the stated scope (browse and manage cart) is largely covered.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers