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/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/greenweez-mcp#v0.2.1 greenweez search "pâte à tartiner" 1
npx -y --package=github:ncleton/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/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.

Inputs: confirmationToken (required).

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.

Inputs: confirmationToken (required).

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.

Inputs: no named parameters.

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.

Inputs: no named parameters.

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.

Inputs: slug (required), reference (required).

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.

Inputs: slug (required), reference (required).

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.

Inputs: reference (required).

search_productsRechercher des produits GreenweezA
Read-onlyIdempotent

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

Inputs: query (required), page.

Tool Schema Changelog

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

Loading tool schema changelog…

    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 recent community issues

    Related MCP Connectors

    Related MCP Servers