Skip to Content
Icône de MCP Server for Odoo — AI assistant connector

MCP Server for Odoo — AI assistant connector

Free Odoo 20 Connector Quality check: Verified OPL-1 (Odoo proprietary)

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

Screenshots

MCP Server for Odoo

Branchez Claude, ChatGPT ou Cursor sur votre ERP — servi par Odoo lui-même

MCP Server for Odoo

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é>.

Journal d'audit

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

  1. Créez un utilisateur dédié avec le minimum de droits, cochez le groupe MCP User.
  2. Onglet Sécurité du compte › Nouvelle clé API, scope odoo.mcp.
  3. MCP Server › Modèles exposés : ajoutez les modèles que l'IA pourra lire ou écrire.
  4. 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.

Amorce animée du parcours de dyo_mcp_server
Amorce GIF — 43 ko. Enregistrement réel du client Odoo 19 sur une base dédiée à ce module, avec les données de démonstration livrées avec lui.

Découvrir les applications Dyonysos en vidéo

Démonstrations courtes, cas d'usage et nouveautés Odoo 20.

Voir la playlist Odoo Apps FR

MCP Server for Odoo — AI assistant connector — capture 1
MCP Server for Odoo — AI assistant connector — capture 1
MCP Server for Odoo — AI assistant connector — capture 2
MCP Server for Odoo — AI assistant connector — capture 2
MCP Server for Odoo — AI assistant connector — capture 3
MCP Server for Odoo — AI assistant connector — capture 3
MCP Server for Odoo — AI assistant connector — capture 4
MCP Server for Odoo — AI assistant connector — capture 4
MCP Server for Odoo — AI assistant connector — capture 5
MCP Server for Odoo — AI assistant connector — capture 5

What this app does not do

  • 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.

Store apps required

None.

Odoo Community modules used

basebase_setup

SeriesVersionStatusPublished on
20.020.0.1.1.0 Available 02/10/2026
19.019.0.1.1.1 Available

Listing generated from the publisher's code (private repository, branch 20.0): the source code is not published.

Automatic store check (separate from the publisher's), applied to all apps. Conforme.

CheckResultEffect if absent
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.

Reviews from signed-in customers. One rated review per customer; the publisher can reply. Sign in to leave a review.

Publisher
DYONYSOS
Email
contact@omnifloo.com
Omnifloo customers
Support included with your plan: help centre.