{"id":"e03f28e2-82b7-4516-9b21-99785cc1858b","slug":"la-fourche-mcp","kind":"mcp","name":"la-fourche-mcp","summary":"MCP et CLI non officiels La Fourche : recherche, fiches produit et panier confirmé pour Codex, Claude Code et tout client MCP.","owner":"ncleton","repoUrl":"https://github.com/ncleton/la-fourche-mcp","license":"MIT","licenseTier":"permissive","trust":"community","stars":1,"match":null,"fewStars":true,"format":"mcp","createdAt":"2026-10-09T10:47:00.000Z","addedAt":"2026-10-21T06:56:09.238Z","logoUrl":"https://avatars.githubusercontent.com/u/171194381?u=a3cbbf3be907f7601ae9dd7d46a7336b2cd55b57&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["developer-tools","memory-knowledge"],"tags":["camoufox","france","grocery","la-fourche","lafourche-next"],"runtime":"node","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-27T00:52:34.649Z","sample":false,"url":"https://conduits.dev/tools/la-fourche-mcp","language":"TypeScript","transports":["stdio"],"install":{"npm":"la-fourche-mcp"},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# La Fourche MCP\n\nServeur MCP et CLI non officiels pour [La Fourche](https://lafourche.fr) : chercher le catalogue actuel, lire les fiches produit et préparer le panier dans une session web Camoufox persistante qui appartient à l’utilisateur.\n\nÉpicerie bio en livraison ou point relais : le panier invité se remplit sans compte, les produits du Marché Frais exigent une adresse éligible choisie sur le site officiel.\n\n## Achat en ligne\n\nModes de réception proposés par La Fourche : livraison à domicile et retrait en magasin ou en point de retrait (click and collect). Livraison à domicile ou en point relais, gratuite à partir de 69 euros. L’adresse ou le point relais, le créneau et le paiement se choisissent sur le site officiel à la validation du panier.\n\nUn compte La Fourche est facultatif pour remplir un panier ; il devient nécessaire pour finaliser la commande et choisir le mode de réception.\n\nLe MCP ne choisit aucun créneau, ne valide aucune commande et ne réalise aucun paiement : il remplit et relit le panier, la commande se termine sur le site officiel.\n\n## Capacités\n\n- `connect_la_fourche` : ouvre La Fourche dans le profil Camoufox isolé et propose le wizard local de connexion ou de création de compte ;\n- `session_status` : prouve Camoufox, le site officiel et l’état de connexion visible ;\n- `search_products` : retourne les produits actuels, leur prix et leur disponibilité ;\n- `get_product` : lit une fiche retournée par la recherche (ingrédients, EAN, nutrition lorsqu’ils sont publiés) ;\n- `get_cart` : lit le panier sans exposer l’identité, l’adresse, le créneau ou le paiement ;\n- `add_to_cart` : prévisualise puis ajoute une fiche fraîche après confirmation ;\n- `remove_from_cart` : prévisualise puis retire un produit présent après confirmation.\n\n## Prérequis\n\n- Node.js 22.12 ou supérieur ;\n- `camofox-browser` 2.4.6 ou une version compatible ;\n- un compte La Fourche autorisé par son propriétaire (facultatif pour remplir un panier) ;\n\nInstallation de Camoufox :\n\n```bash\nnpm install --global camofox-browser@2.4.6\n```\n\nCréez une clé aléatoire forte dans votre gestionnaire de secrets, puis démarrez le service local avec `CAMOFOX_AUTH_MODE=required` et `CAMOFOX_API_KEY` définis dans son environnement :\n\n```bash\ncamofox server start --background\n```\n\nNe transmettez jamais cette clé, vos cookies, votre mot de passe, un code 2FA ou un CAPTCHA à un assistant.\n\n## Installation du MCP\n\n```bash\ngit clone https://github.com/ncleton/la-fourche-mcp.git\ncd la-fourche-mcp\nnpm ci\nnpm run build\ncp .env.example .env\n```\n\nRenseignez localement `.env` :\n\n- `CAMOFOX_USER_ID` : identifiant unique pour cette personne et ce compte ;\n- `CAMOFOX_URL` : normalement http://127.0.0.1:9377 ;\n- `CAMOFOX_AUTH_MODE` : obligatoire ;\n- `CAMOFOX_API_KEY` : la même clé forte que le service Camoufox (32 caractères minimum) ;\n\n## Première connexion\n\n```bash\nnpm run build\nnode dist/cli.js connect\n```\n\nCamoufox ouvre La Fourche dans son profil persistant. Saisissez vous-même vos identifiants et éventuels codes dans la fenêtre du navigateur, puis vérifiez :\n\n```bash\nnode dist/cli.js status\nnode dist/cli.js search \"tofu\" --limit 5\nnode dist/cli.js cart\n```\n\nUne mutation CLI est toujours prévisualisée. Après vérification du delta, relancez exactement la même commande avec `--confirm` :\n\n```bash\nnode dist/cli.js add '<product_url retourné par search>' --quantity 1\nnode dist/cli.js add '<même product_url>' --quantity 1 --confirm\nnode dist/cli.js remove '<product_id retourné par cart>' --quantity 1\nnode dist/cli.js remove '<même product_id>' --quantity 1 --confirm\n```\n\nDans MCP, le premier appel à `add_to_cart` ou `remove_from_cart` retourne un jeton expirant après cinq minutes. Le second appel doit reprendre exactement les mêmes paramètres et ce jeton. Toute modification intermédiaire du panier invalide la confirmation.\n\n## Configuration MCP\n\nExemple recommandé pour un client MCP utilisant directement la release publique `v0.1.0` en `stdio` :\n\n```json\n{\n  \"mcpServers\": {\n    \"la-fourche\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"--package=github:ncleton/la-fourche-mcp#v0.1.0\",\n        \"la-fourche-mcp\"\n      ],\n      \"env\": {\n        \"CAMOFOX_USER_ID\": \"la-fourche-personal\",\n        \"CAMOFOX_URL\": \"http://127.0.0.1:9377\",\n        \"CAMOFOX_AUTH_MODE\": \"required\",\n        \"CAMOFOX_API_KEY\": \"référence-vers-votre-secret-local\"\n      }\n    }\n  }\n}\n```\n\nPréférez le gestionnaire de secrets du client MCP à une clé écrite en clair dans sa configuration.\n\n## Contrat observé\n\n- Application Next.js : la recherche et les fiches interrogent l’index Algolia public du site (clé de recherche lue dans la configuration publique de la page), le panier est celui de la page `/cart`, stocké côté site dans Firestore sous l’identifiant `shoppingCartId`.\n- Les écritures passent par les compteurs de la fiche produit, comme un clic humain : ajout ou retrait d’une unité à la fois, avec relecture du compteur puis du panier réel avant et après chaque écriture.\n- Les produits du Marché Frais (frais et ultra-frais) ouvrent une fenêtre « Suis-je éligible au Marché Frais ? » : le MCP s’arrête avec une erreur explicite au lieu de choisir une adresse à votre place. Saisissez votre adresse dans Camoufox puis relancez.\n- L’adhésion annuelle (essai gratuit puis 59,90 euros par an) proposée dans le panier n’est jamais ajoutée par le MCP : vérifiez-la à la validation sur le site officiel.\n- Les prix publiés sont les prix non adhérents ; les prix adhérents et les frais de livraison s’affichent sur le site officiel.\n\n## Limites et erreurs explicites\n\nCamoufox limite par défaut `evaluate-extended` à 20 appels par profil et par minute. Le client sérialise les lectures. Si la limite est atteinte, il renvoie `rate_limited` et le délai de reprise fourni par Camoufox ; il ne bascule jamais vers un autre compte, un autre périmètre ou des données en cache.\n\nUne page de connexion, un CAPTCHA ou une protection anti-robot produit `authentication_required` avec l’action manuelle attendue. Une évolution du contrat du site produit `contract_changed` au lieu d’inventer une réponse.\n\n## Développement et validation\n\n```bash\nnpm run verify\n```\n\nCette commande exécute le typage, les tests, un échange avec le SDK MCP officiel, l’audit de confidentialité et l’inspection du paquet npm. `npm run live:smoke` ajoute puis retire un produit réel du panier de la session configurée et vérifie le retour exact à l’état initial.\n\n## Statut juridique\n\nProjet non officiel, sans affiliation ni approbation de La Fourche. L’utilisateur reste responsable de respecter les conditions du service et de n’utiliser que son propre compte et ses propres sessions.\n"}