Greenweez MCP

Greenweez MCP

Unofficial MCP server for Greenweez that enables searching the catalog, reading product details, and managing a real shopping cart with safe confirmations, without ever placing orders or handling payment.

Category
访问服务器

README

🛒 Greenweez MCP

<p align="center"> <img src="assets/greenweez-mcp-banner.svg" alt="Greenweez MCP — catalogue et panier sécurisé" width="760" /> </p>

<p align="center"> <a href="https://github.com/ncleton-petitmaker/greenweez-mcp/actions/workflows/ci.yml"><img src="https://github.com/ncleton-petitmaker/greenweez-mcp/actions/workflows/ci.yml/badge.svg" alt="CI" /></a> <a href="https://github.com/ncleton-petitmaker/greenweez-mcp/releases"><img src="https://img.shields.io/github/v/release/ncleton-petitmaker/greenweez-mcp?display_name=tag&sort=semver" alt="GitHub release" /></a> <a href="LICENSE"><img src="https://img.shields.io/github/license/ncleton-petitmaker/greenweez-mcp" alt="MIT License" /></a> <a href="https://nodejs.org/"><img src="https://img.shields.io/badge/Node.js-%3E%3D22.12.0-339933?logo=nodedotjs&logoColor=white" alt="Node.js 22.12+" /></a> <a href="https://modelcontextprotocol.io/"><img src="https://img.shields.io/badge/MCP-stdio-10a37f" alt="Model Context Protocol over stdio" /></a> </p>

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.

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.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选