ncleton

Carrefour Drive MCP

Community ncleton
Updated

Carrefour Drive MCP and CLI backed exclusively by an isolated Carrefour web session in Camoufox

Carrefour Drive MCP

Serveur MCP et CLI non officiels pour piloter Carrefour Drive sur carrefour.fr dans un profil web Chrome persistant appartenant à l’utilisateur.

Il ne se connecte à aucun téléphone et n’utilise aucune application mobile. Le navigateur web local conserve le magasin, la session et le panier ; le client MCP ne retourne que les champs utiles.

Capacités

  • doctor_carrefour : vérifie le navigateur web local et le magasin configuré ;
  • session_status_carrefour : vérifie le Drive et l’état de connexion visible ;
  • connect_carrefour : ouvre un wizard local vers la connexion ou la création de compte sur le site officiel ;
  • search_carrefour_products : recherche le catalogue web actuel du Drive ;
  • get_carrefour_product : relit prix, disponibilité, EAN et ingrédients ;
  • get_carrefour_cart : relit le panier et calcule son empreinte ;
  • add_to_carrefour_cart : prévisualise, confirme, ajoute une unité sur le web et réconcilie le panier.

Le MCP ne choisit aucun créneau, ne valide aucune commande et ne paie jamais. Une page ou un état non reconnu provoque une erreur explicite, sans donnée fictive ni bascule vers un autre backend.

Le panier appartient à un magasin, pas seulement au compte

Relevé le 2026-08-04 en conditions réelles. Le panier Carrefour est porté par uncouple magasin plus mode de retrait, exposé par facilityServiceId etpickupMode :

facilityServiceId : <magasin>-<service>-<etablissement>
pickupMode        : PICKING_DRIVE

Sur un même compte et une même session, un navigateur réglé sur un magasin etune application réglée sur un autre ne partagent pas le même panier. Un ajouteffectué sur le mauvais couple réussit côté serveur et reste invisible pourl'utilisateur, sans qu'aucune erreur ne soit levée.

Le connecteur refuse donc toute écriture si le magasin observé ne correspond pasà CARREFOUR_STORE_ID, avec le code cart_store_mismatch. Alignez ce réglagesur le magasin que vous consultez réellement.

Prérequis

  • Node.js 22.12 ou supérieur ;
  • Google Chrome, que le connecteur démarre lui-même sur un profil dédié ;
  • un compte Carrefour autorisé par son propriétaire ;
  • un Drive sélectionné sur carrefour.fr dans ce profil.

Rien d’autre à installer. Le connecteur ouvre Chrome avec un profil qui lui estpropre, séparé de votre navigateur quotidien : il n’y voit ni vos autres ongletsni vos autres comptes.

La connexion à Carrefour se fait une seule fois, à la main, dans cette fenêtre.Elle ne peut pas être automatisée : le site refuse sa page de connexion à toutnavigateur piloté. La session reste ensuite dans le profil.

Installation

git clone https://github.com/ncleton/carrefour-drive-mcp.git
cd carrefour-drive-mcp
npm ci
npm run build
cp .env.example .env

Renseignez localement .env. Aucun secret n'y figure : le connecteur ne manipule ni identifiant, ni mot de passe, ni jeton de compte.

Première utilisation

node dist/cli.js doctor
node dist/cli.js connect
node dist/cli.js session

Le wizard loopback ne possède aucun champ d’identifiant. Il ouvre la page officielle de connexion ou de création dans la fenêtre Chrome dédiée ; le mot de passe, le code et le CAPTCHA éventuel restent exclusivement dans cette fenêtre.

Sélectionnez ensuite votre Drive sur Carrefour si nécessaire, puis utilisez :

node dist/cli.js search --query tofu --limit 5
node dist/cli.js product --product-ref 'URL-retournée-par-search'
node dist/cli.js cart
node dist/cli.js add --product-ref 'URL-retournée-par-search'

La première commande add prévisualise l’opération et retourne l’empreinte du panier. Après vérification, relancez-la avec --confirm-cart-fingerprint <empreinte>. Dans MCP, le premier appel retourne un jeton à usage unique valable cinq minutes ; le second reprend exactement la référence, la quantité et le jeton. Toute modification intermédiaire invalide la confirmation.

Configuration MCP

{
  "mcpServers": {
    "carrefour-drive": {
      "command": "node",
      "args": ["/chemin/absolu/carrefour-drive-mcp/dist/mcp/server.js"],
      "env": {
        "CARREFOUR_CHROME_DEBUG_PORT": "9222",
        "CARREFOUR_STORE_ID": "<votre magasin>",
        "CARREFOUR_STORE_NAME": "Mon Carrefour Drive"
      }
    }
  }
}

Le magasin doit être celui que vous consultez réellement : le panier appartient à un couple magasin plus mode de retrait, et le connecteur refuse d'écrire ailleurs.

Validation

npm run verify

Cette commande exécute le typage, les tests client et MCP avec le SDK officiel, l’audit de confidentialité et l’inspection du paquet npm.

Statut juridique

Projet non officiel, sans affiliation ni approbation de Carrefour. N’utilisez que votre propre compte, votre propre session et votre propre panier, dans le respect des conditions du fournisseur.

MCP Server · Populars

MCP Server · New