MCP Server for Odoo — AI assistant connector
MCP Server for Odoo — serveur MCP natif dans Odoo : connectez Claude, ChatGPT, Cursor ou tout client MCP à votre ERP, avec vos droits d'accès Odoo et un journal d'audit
Schermafbeeldingen
MCP Server for Odoo
Branchez Claude, ChatGPT ou Cursor sur votre ERP — servi par Odoo lui-même

Un point de terminaison, zéro middleware
Le module ajoute la route /mcp à votre Odoo : un serveur Model Context Protocol
complet (JSON-RPC 2.0 sur HTTP streamable, protocole 2025-06-18). Aucun service Python à héberger,
aucun conteneur supplémentaire, aucune synchronisation de données : l'assistant interroge Odoo en direct.
Dans votre client MCP, une seule ligne de configuration : l'URL https://votre-odoo/mcp
et l'en-tête Authorization: Bearer <clé>.

Sécurité par construction
Authentification par clé API Odoo native (scope odoo.mcp), révocable et expirable.
Chaque appel s'exécute avec les droits de l'utilisateur porteur : groupes, règles d'accès, règles
d'enregistrement et multi-société s'appliquent. Jamais de superutilisateur.
Vous décidez du périmètre
Liste blanche de modèles, opérations autorisées au cas par cas (lecture, création, écriture, suppression), domaine de restriction, liste de champs exposés, méthodes appelables et limites de pagination. Un interrupteur global coupe toute écriture.
Tout est tracé
Journal d'audit de chaque appel : outil, modèle, enregistrements touchés, durée, adresse IP, arguments et erreur éventuelle. Purge automatique après la durée de rétention choisie.
Outils exposés à l'assistant
odoo_list_models · odoo_model_fields · odoo_search ·
odoo_read · odoo_count · odoo_read_group (agrégations de type
tableau croisé) et, si vous les activez, odoo_create, odoo_write,
odoo_unlink et odoo_call_method (liste blanche de méthodes métier comme
action_post). Les schémas des modèles autorisés sont aussi publiés comme
ressources MCP.
Mise en route
- Créez un utilisateur dédié avec le minimum de droits, cochez le groupe MCP User.
- Onglet Sécurité du compte › Nouvelle clé API, scope
odoo.mcp. - MCP Server › Modèles exposés : ajoutez les modèles que l'IA pourra lire ou écrire.
- Collez l'URL et la clé dans votre client MCP.
Compatibilité : Odoo 20 Community et Enterprise. Aucune dépendance Python supplémentaire.
Développé par DYONYSOS — intégration Odoo, automatisation et IA pour PME.
Support : welcome@dyonysos.fr
L’application en mouvement
Le module en marche, enregistré dans le vrai client Odoo 19 : mcp model config, mcp model config (fiche) puis mcp access log. Ce n’est pas un montage — ce sont les trames du navigateur sur le module livré, pris sur sa propre base.
Vidéo MP4 — 62 ko, 1280 px, 2.5 s, 3 écrans. Une amorce animée est aussi livrée en GIF (43 ko, 560 px) pour les contextes qui n’affichent pas la balise vidéo.
Découvrir les applications Dyonysos en vidéo
Démonstrations courtes, cas d'usage et nouveautés Odoo 20.
Wat deze app niet doet
- Il n'ouvre aucun accès anonyme : sans clé valide, /mcp ne répond rien d'utile.
- Il n'appelle aucun modèle de langage et ne consomme aucun crédit : c'est le client MCP qui
- Il n'expose aucun modèle par défaut, y compris après mise à jour.
Vereiste applicaties van de appstore
Geen.
Gebruikte Odoo Community-modules
basebase_setup
| Serie | Versie | Status | Gepubliceerd op |
|---|---|---|---|
| 20.0 | 20.0.1.1.0 | Beschikbaar | 02-10-2026 |
| 19.0 | 19.0.1.1.1 | Beschikbaar |
Fiche gegenereerd uit de code van de uitgever (privé-repository, branch 20.0): de broncode is niet gepubliceerd.
Automatische controle van de appstore (los van de uitgever), toegepast op alle applicaties. Conforme.
| Controle | Resultaat | Effect indien afwezig |
|---|---|---|
| Manifeste lisible sans exécution | conforme | bloquant |
| Licence reconnue (OPL-1) | conforme | bloquant |
| Aucune dépendance vers Odoo Enterprise | conforme | bloquant |
| Aucun import de code Enterprise | conforme | bloquant |
| Aucun en-tête de licence Enterprise | conforme | bloquant |
| Icône static/description/icon.png | conforme | déclasse |
| Description (static/description/index.html ou README) | conforme | déclasse |
| Tests automatisés (tests/test_*.py) | conforme | déclasse |
| Traduction française (i18n/fr.po) | conforme | info |
| Section « Ce que le module ne fait pas » | conforme | info |
| Titre de 70 caractères au plus (44 actuellement) | conforme | info |
| Résumé en français | conforme | info |
Guide utilisateur — Serveur MCP pour Odoo (DYONYSOS)
Brancher Claude, ChatGPT, Cursor ou tout client Model Context Protocol sur votre Odoo, avec vos droits et un journal d'audit.
1. Activer le point de terminaison
Paramètres → Paramètres généraux → Serveur MCP :
| Réglage | Ce qu'il fait |
|---|---|
| Activer le point de terminaison MCP | Tant que la case est décochée, /mcp ne répond rien. Elle l'est par défaut. |
| Autoriser les opérations d'écriture | Interrupteur global. Décoché, aucun create, write ou unlink ne passe, même si un modèle les autorise. |
| Journaliser les arguments d'appel | Enregistre les arguments reçus. Utile au diagnostic, à peser : ils peuvent contenir des données clients. |
| Rétention du journal (jours) | Purge automatique au-delà. |
| Appels par minute et par clé | Limitation de débit. Une boucle d'assistant emballée ne met pas votre serveur à genoux. |
Commencez écritures désactivées. Vous les ouvrirez quand la lecture vous aura convaincu.
2. Choisir ce qui est exposé — rien ne l'est par défaut
Paramètres → Technique → Modèles exposés au MCP → Nouveau.
Pour chaque modèle : cochez Lecture, Écriture, Création, Suppression séparément.
Le domaine de restriction est optionnel et s'ajoute à vos règles Odoo : par exemple
[('state', '=', 'sale')] sur les commandes pour ne jamais exposer les devis.
Commencez petit : res.partner en lecture seule suffit à valider le branchement.
Aucun modèle n'est exposé à l'installation, ni après une mise à jour. Un modèle absent de cette liste est invisible pour l'assistant, quels que soient les droits de l'utilisateur.
3. Créer une clé
Sur la fiche de l'utilisateur qui portera les appels, bouton Nouvelle clé MCP.
La clé s'affiche une seule fois : copiez-la immédiatement. Elle porte le scope odoo.mcp,
peut recevoir une date d'expiration, et se révoque à tout moment. Seule une clé de ce scope ouvre
/mcp : une clé API globale (RPC) est refusée (401), et un utilisateur sans le groupe
MCP User est refusé (403) même avec une clé valide.
Le point /mcp est désactivé à l'installation (404) : allumez-le dans
Paramètres → Généraux → MCP Server une fois les modèles choisis.
Mise à jour depuis la 1.0.0. Les anciennes clés API globales ne donnent plus accès à /mcp
(401) et ne sont pas converties (elles ouvrent aussi XML-RPC) : chaque utilisateur MCP crée une
nouvelle clé avec le bouton Nouvelle clé MCP. Les trois modèles exposés par défaut en 1.0.0
(contacts, utilisateurs, sociétés) sont archivés avec leurs réglages : réexaminez-les et
réactivez ceux que vous voulez garder. Les champs one2many (lignes, contacts enfants…) ne s'écrivent
pas par MCP : toute commande y crée, modifie ou supprime des enregistrements liés. Sur un
many2many, seules les commandes de liaison (3, 4, 5, 6, 1 000 ids au plus) passent. Sur un modèle
dont les champs exposés sont restreints, seules les méthodes listées explicitement dans sa
configuration sont appelables.
Le point à comprendre : les appels s'exécutent avec les droits de cet utilisateur. Groupes, règles d'enregistrement, multi-société — tout s'applique. Créez donc un utilisateur dédié aux droits volontairement étroits plutôt que d'utiliser un compte administrateur.
4. Brancher le client
Pointez le client MCP sur https://votre-odoo/mcp, avec la clé en authentification.
Outils disponibles : odoo_list_models, odoo_model_fields, odoo_search, odoo_read,
odoo_count, odoo_read_group, odoo_create, odoo_write, odoo_unlink,
odoo_call_method (liste blanche de méthodes) et odoo_search_partners.
Le client découvre aussi le schéma de chaque modèle autorisé : il sait donc quels champs existent sans que vous ayez à le lui dire.
5. Relire le journal d'accès
Paramètres → Technique → Journal d'accès MCP.
Chaque appel : l'outil, le modèle, les enregistrements touchés, la durée, l'adresse IP, l'erreur éventuelle. C'est ce que vous relisez après la première journée pour voir ce que l'assistant a réellement fait — et ce qui justifie, ou non, d'ouvrir les écritures.
Ce que ce module ne fait pas
Il n'appelle aucun modèle de langage et ne consomme aucun crédit : c'est le client MCP qui porte l'IA et la facture. Il n'ouvre aucun accès anonyme. Et il n'élargit jamais les droits d'un utilisateur : il ne peut que les restreindre.
Beoordelingen van ingelogde klanten. Eén beoordeling per klant; de uitgever kan erop reageren. Log in om een beoordeling te plaatsen.
- Uitgever
- DYONYSOS
- contact@omnifloo.com
- Omnifloo-klanten
- Support inbegrepen volgens uw formule: helpcentrum.

