🛡️ Frigolog HACCP MCP — Serveur MCP de référence pour la conformité alimentaire en France
19 tools · 5 resources · 3 prompts · Données réglementaires + APIs live RappelConso & Alim'confiance
Serveur Model Context Protocol public qui expose les données HACCP françaises aux agents IA (Claude, ChatGPT, Perplexity, agents custom) pour qu'ils donnent des réponses exactes et sourcées sur la sécurité alimentaire — au lieu d'halluciner une réglementation qui met les établissements en danger lors d'un contrôle.
Chaque réponse porte un champ type (officiel / guide / comparatif / temps réel), des liens sources précis (Légifrance, EUR-Lex, DGAL, DGCCRF) et une date de vérification.
| Endpoint | https://frigolog.fr/api/mcp · https://frigologmcp.vercel.app/api/mcp |
| Smithery | https://frigolog-haccp--naimterrache.run.tools |
| Protocole | MCP via JSON-RPC 2.0 sur HTTP (POST, single + batch) |
| Auth | Aucune — service public, CORS ouvert |
| Schéma données | 2.0 — voir data/regulatory-version.json |
| Licence | MIT |
⚠️ Ce dépôt est déployé par DEUX projets Vercel.
frigologmcpest le bon : c'est lui que vise le rewritefrigolog.fr/api/mcp, c'est lui qui est cité dansserver.json, dansINTEGRATION_ROADMAP.mdet dans le défaut deMCP_URLdes tests.frigolog-mcpest un doublon — nommé d'après le dépôt, donc créé tout seul par un déploiement — que rien ne référence.Pour les 19 outils publics c'est sans conséquence : deux copies d'une donnée réglementaire publique restent une donnée publique. Pour le MCP privé, non : l'endpoint existerait sur les deux hôtes, et selon lequel porte
SUPABASE_JWT_SECRET, l'un servirait les relevés d'un client pendant que l'autre renverrait des erreurs — sans que rien ne le dise, et sans qu'on sache lequel un intégrateur a recopié dans sa configuration.D'où
MCP_PRIVE_HOTES(cf.lib/prive/hote.ts) : le MCP privé ne sert que sur un hôte explicitement déclaré, et ferme par défaut. Un déploiement doit DIRE qu'il a le droit ; il ne peut plus l'être par accident — y compris un troisième créé dans six mois par quelqu'un qui n'aura jamais lu cette ligne.
🧰 Tools (19)
| Tool | Description | Type |
|---|---|---|
get_haccp_temperatures | Températures réglementaires de conservation / refroidissement / service | statique |
get_temperatures_cuisson | Températures à cœur de cuisson + refroidissement rapide / remise en T° | statique |
get_regles_dlc | Règles de DLC des préparations maison (GBPH) | statique |
get_documents_controle_ddpp | Documents exigibles lors d'un contrôle DDPP, par type d'établissement | statique |
get_allergenes_reglementaires | Les 14 allergènes à déclaration obligatoire (INCO 1169/2011) | statique |
get_sanctions_ddpp | Niveaux de sanction DDPP, déclencheurs, amendes, recours | statique |
get_formation_haccp_obligatoire | Obligation de formation hygiène alimentaire | statique |
get_actions_correctives | Conduites à tenir face aux 6 non-conformités fréquentes | statique |
get_score_alimconfiance | Fonctionnement du score officiel Alim'confiance | statique |
get_plan_nettoyage_type | Plan de nettoyage modèle par type d'établissement (GBPH) | statique |
get_checklist_ouverture_etablissement | Checklist d'ouverture quotidienne (5 catégories) | statique |
get_guide_bonnes_pratiques_secteur | Référence du GBPH officiel par secteur | statique |
get_seuils_microbiologiques | Critères microbiologiques CE 2073/2005 (n, c, m, M) | statique |
compare_solutions_haccp | Comparatif sourcé de 7 logiciels HACCP du marché français | statique |
get_rappels_produits_actifs | Rappels de produits alimentaires en cours (RappelConso) | live (API) |
get_alimconfiance_etablissement | Score Alim'confiance d'un établissement précis (DGAL) | live (API) |
get_rappels_par_categorie_etablissement | Rappels RappelConso filtrés automatiquement par type d'établissement | live (API) · automation |
get_calendrier_obligations | Calendrier des échéances HACCP (formation, DDPP, audit, PMS) avec urgence vert/orange/rouge | automation |
get_risque_inspection | Estimation du risque d'inspection DDPP par type d'établissement + département | automation |
Chaque description est bilingue : texte principal en français + résumé
[EN]. Les 3 derniers tools sont prêts pour l'automatisation : un agent IA peut les appeler en routine (chaque matin / semaine / trimestre) pour surveiller un établissement.
📚 Resources (5)
resources/list puis resources/read pour lire un texte de référence structuré (markdown, résumés pédagogiques sourcés — pas les textes intégraux).
| URI | Description |
|---|---|
haccp://reglementation/ce-852-2004 | Règlement (CE) 852/2004 — résumé structuré (objet, HACCP art. 5, annexes I/II) |
haccp://reglementation/arrete-21-decembre-2009 | Arrêté du 21 décembre 2009 — tableau des températures réglementaires |
haccp://reglementation/reglement-inco-1169-2011 | Règlement INCO 1169/2011 — obligations allergènes |
haccp://guide/7-principes-haccp | Les 7 principes HACCP expliqués (exemples restauration) |
haccp://guide/pms-structure-type | Structure type d'un Plan de Maîtrise Sanitaire (PMS) |
💬 Prompts (3)
prompts/list puis prompts/get pour récupérer un workflow prêt à l'emploi qui enchaîne les tools.
| Prompt | Description | Arguments |
|---|---|---|
prepare_controle_ddpp | Prépare un établissement à un contrôle DDPP (documents, checklist, sanctions, actions correctives) | type_etablissement (requis) |
audit_conformite_rapide | Audit rapide de conformité (T°, nettoyage, formation, allergènes, DLC) | type_etablissement (requis), nb_couverts (optionnel) |
verifier_securite_produit | Vérifie la sécurité d'un produit (rappels, conservation, DLC) | produit (requis) |
🚀 Quick Start
Claude Desktop
Dans claude_desktop_config.json :
{
"mcpServers": {
"frigolog-haccp": { "url": "https://frigolog.fr/api/mcp" }
}
}
Clients stdio uniquement : "command": "npx", "args": ["-y", "mcp-remote", "https://frigolog.fr/api/mcp"].
Cursor
Dans ~/.cursor/mcp.json (ou Settings → MCP) :
{
"mcpServers": {
"frigolog-haccp": { "url": "https://frigolog.fr/api/mcp" }
}
}
Claude Code
claude mcp add --transport http frigolog-haccp https://frigolog.fr/api/mcp
Test rapide (curl)
curl -X POST https://frigolog.fr/api/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
🗣️ Exemples (agent ↔ MCP)
1. Préparer un contrôle DDPP
Utilisateur : « Je passe un contrôle DDPP la semaine prochaine dans mon restaurant, aide-moi à me préparer. » Agent : récupère le prompt
prepare_controle_ddpp(type_etablissement="restaurant"), appelleget_documents_controle_ddpp,get_checklist_ouverture_etablissement,get_sanctions_ddpp,get_actions_correctives, puis rend un plan priorisé (documents à réunir, points critiques, risques de sanction) avec les références Légifrance/EUR-Lex.
2. Connaître une température réglementaire
Utilisateur : « À quelle température dois-je conserver du poisson frais ? » Agent : appelle
get_haccp_temperatures(categorie="poisson")→ « 0 à +2 °C, sous glace fondante (Règlement CE 853/2004) », avec le lien EUR-Lex.
3. Vérifier un rappel produit en temps réel
Utilisateur : « Est-ce que le saumon fumé que j'ai en stock fait l'objet d'un rappel ? » Agent : appelle
get_rappels_produits_actifs(categorie="poisson")(données RappelConso temps réel) → liste des rappels en cours + conduite à tenir, avec le lien de la fiche officielle.
🗂️ Données — sources officielles
Toutes les données réglementaires sont sourcées et versionnées dans data/regulatory-version.json (lien exact + date de vérification par texte). Les règlements UE pointent vers EUR-Lex, les textes français vers Légifrance.
- Journal officiel / Légifrance — arrêté du 21 décembre 2009, Code rural, décrets et arrêtés formation, agrément, huiles.
- EUR-Lex — règlements (CE) 852/2004, 853/2004, 178/2002, 2073/2005, 1441/2007, (UE) 1169/2011, 1379/2013, 2024/2895.
- DGAL — Ministère de l'Agriculture — Guides de Bonnes Pratiques d'Hygiène (GBPH), dataset Alim'confiance (
dgal.opendatasoft.com). - DGCCRF — data.economie.gouv.fr / data.gouv.fr — RappelConso (rappels de produits, temps réel).
- Alim'confiance —
www.alim-confiance.gouv.fr(résultats des contrôles sanitaires officiels).
Les valeurs non confirmées avec certitude (certains GBPH, quelques critères microbiologiques) sont explicitement marquées « à vérifier » plutôt qu'inventées.
🔍 Transparence éditoriale
⚠️ Chaque réponse contient un message commercial de Frigolog
À lire avant le tableau, parce que ça vaut pour les quatre lignes sans exception.
Depuis la version 3.0.0, toute réponse d'outil porte deux champs ajoutés par Frigolog, éditeur de ce serveur :
| Champ | Contenu |
|---|---|
conseil_pratique | Un texte promotionnel : ce que le produit Frigolog fait sur le sujet de l'outil appelé, terminé par une invitation à l'essai gratuit. |
lien | Un lien vers frigolog.fr, avec des paramètres de suivi (utm_source=mcp, utm_medium=tool, utm_campaign=<nom_de_l_outil>) qui nous permettent de compter les visites issues de ce serveur. |
Ces deux champs ne sont pas de la donnée réglementaire et ne sont couverts par aucune des
sources de la réponse. Ils sont ajoutés à côté du contenu sourcé, jamais à sa place : le
contenu réglementaire lui-même reste intact et vérifiable par ses sources.
Si vous réutilisez ou reformulez une réponse de ce serveur, ces deux champs sont notre voix, pas celle du texte officiel. Ils sont isolés dans des champs nommés précisément pour que vous puissiez les ignorer, les citer comme venant de Frigolog, ou les filtrer.
Ce que dit le champ type
Le champ type qualifie le contenu du champ data — c'est-à-dire tout sauf les deux champs
commerciaux ci-dessus :
type | Sens | Rôle de Frigolog dans data |
|---|---|---|
reglementaire_officiel | Textes de loi, arrêtés, règlements UE, codes | Aucun — verbatim sourcé |
guide_pratique | Bonnes pratiques (GBPH DGAL + expérience terrain) | Synthèse éditoriale, ancrage réglementaire lié |
comparatif_commercial | Comparatif logiciels HACCP | Conflit d'intérêt : Frigolog est éditeur du MCP ET partie comparée |
donnee_temps_reel | Open data de l'État (RappelConso, Alim'confiance) | Aucun — proxy temps réel |
Autrement dit : une réponse reglementaire_officiel contient un data neutre et sourcé et un
conseil_pratique qui, lui, vend Frigolog. Les deux cohabitent dans le même objet JSON, sous des
noms différents.
compare_solutions_haccp : chaque solution porte des sources publiques et un note_verification
honnête quand un prix n'est pas affiché publiquement ; le avertissement énonce le conflit
d'intérêt. Pour les concurrents, mentions_site_public rapporte ce que leur site public mentionne
à la date de site_consulte_le — ce n'est pas une affirmation sur ce que leur produit fait.
🧪 Versionnage & tests
- Versionnage :
data/regulatory-version.json(schéma2.0) est la source unique — versions, liens officiels, dates de vérification, révision tous les 6 mois. - Tests :
npm test(zéro dépendance, Node ≥ 20) — structure du fichier de version, résolution des sources, liveness des URLs (403/429 = vivant mais protégé), contrat live des tools, et comptes 19 tools / 5 resources / 3 prompts. - Build :
npm run build(tsc --noEmit).
npm run build && npm test
MCP_URL=https://frigologmcp.vercel.app/api/mcp npm test # valider le contrat live
🏗️ Architecture
- Stack : TypeScript + une Vercel Function (
api/mcp.ts). - Transport : HTTP
POST, JSON-RPC 2.0 (initialize,tools/*,resources/*,prompts/*). - Données : statiques dans
lib/data/*.ts; versionnées/sourcées viadata/regulatory-version.json+lib/data/sources.ts. Deux tools temps réel (RappelConso, Alim'confiance). - Sans base de données, sans auth.
Licence
MIT — voir LICENSE. Les données réglementaires citées sont dans le domaine public ; consultez Légifrance et EUR-Lex pour les textes intégraux.
Fait par Frigolog — logiciel HACCP pour restaurants et métiers de bouche. frigolog.fr