GuideSérie Odoo 20, partie 2 sur 2519 septembre 2026Par Olivia, Architecte Odoo Senior

Le serveur MCP d'Odoo 20 :
connecter Claude, ChatGPT et tout client MCP avec les droits que vous choisissez

Le serveur MCP d'Odoo : capture d'écran d'Odoo 20 derrière le titre de l'article
INTRODUCTION

Un point de terminaison, vos propres droits d'accès et l'assistant que votre équipe utilise déjà

Odoo 20 livre un serveur MCP sous la forme d'un module standard nommé ai_mcp. Le Model Context Protocol, ou MCP, est le standard ouvert que les assistants IA utilisent pour appeler des outils externes. Une fois le module installé, votre base répond à sa propre URL suivie de /mcp, et tout client qui parle MCP, Claude, ChatGPT, un IDE ou un script, peut appeler des outils Odoo avec les droits d'accès de l'utilisateur qui l'a autorisé. Cela concerne le dirigeant qui veut demander à un assistant de bureau la marge du dernier trimestre, et le responsable TI à qui l'on demande de « brancher ChatGPT sur Odoo » et qui veut savoir ce que cela ouvre.

Cet article couvre le point de terminaison, les deux façons pour un client de s'authentifier (une clé API à portée MCP ou une connexion OAuth 2.1), les deux indicateurs qui décident quels outils sont exposés, le modèle de sécurité et une liste de vérifications à faire avant de l'activer. Les outils sont les mêmes actions serveur que les agents d'Odoo utilisent, décrites dans l'article précédent de cette série ; ici, nous regardons seulement comment ils sont ouverts vers l'extérieur, sur la version préliminaire.

Observé sur la version préliminaire d'Odoo 20.0 Enterprise du 23 septembre 2026. Les noms, menus et disponibilités peuvent changer avant la version finale ; nous mettrons cette page à jour le cas échéant.

Une URL, un jeton porteur, les droits de l'utilisateur

Le serveur se trouve à l'URL de la base avec le suffixe /mcp, par exemple https://exemple.odoo.com/mcp. L'authentification passe par un jeton porteur, et Odoo est strict sur le jeton qu'il accepte : une clé API générée par un utilisateur avec la portée réglée sur MCP. Une simple clé RPC est refusée sur cette route, ce qui sépare les clés d'intégration des clés d'assistant. Tout ce que le client fait, il le fait en tant que cet utilisateur : règles d'enregistrement, accès aux sociétés et droits sur les champs s'appliquent comme si la personne avait cliqué dans Odoo.

Transcription de terminal d'appels MCP listant cinq outils en lecture seule et cinq commandes de vente
Vrais appels JSON-RPC à `/mcp` depuis cette démo (initialize, tools/list, tools/call sur les commandes de vente), rendus en transcription de terminal

La transcription ci-dessus montre nos appels au point de terminaison de la démo depuis un terminal. initialize a répondu avec le nom de serveur Odoo et la version de protocole 2025-11-25. tools/list a renvoyé cinq outils, tous marqués en lecture seule : obtenir les modèles, obtenir les champs, rechercher, regrouper et le contexte initial de l'assistant. Un tools/call sur l'outil de recherche, pour les enregistrements sale.order confirmés, a renvoyé un total de 74 et les cinq plus grosses commandes. C'est tout le mécanisme : le client découvre les outils, puis les appelle. Personne n'écrit de schéma à la main.

Jusqu'ici, connecter un LLM à Odoo voulait dire une passerelle sur mesure en XML-RPC ou JSON-RPC, un schéma écrit à la main et une revue de sécurité. Avec ai_mcp, le schéma vient des définitions d'outils, la sécurité de la portée de la clé et des règles d'enregistrement ordinaires, et le protocole est celui que les fournisseurs d'IA maintiennent. Odoo a programmé, pour la même version, la suppression des points de terminaison XML-RPC et JSON-RPC sur lesquels la plupart des intégrations Odoo ont été écrites. Le guide présente MCP comme la voie d'accès des assistants à Odoo et ne dit rien d'un remplacement du RPC ailleurs ; nous traitons donc les deux comme des points distincts de la mise à niveau.

Une clé API à portée MCP, créée par l'utilisateur dans ses préférences

Cliquez sur votre avatar, puis Mes préférences, puis l'onglet Sécurité. Le bloc Clés API, libellé Connexion via RPC ou MCP, liste les clés existantes avec un badge indiquant leur portée et un bouton Créer une clé API. La boîte de dialogue demande un nom de clé, une portée, RPC ou MCP, et une expiration : 1 jour, 1 mois, 1 an ou Jamais. Choisissez MCP. La clé appartient à l'utilisateur qui la crée, donc l'assistant voit ce que cette personne voit, et rien d'autre.

Boîte de dialogue Créer une clé API avec la portée MCP sélectionnée
Créer une clé API avec la portée réglée sur MCP

Après Créer la clé, Odoo affiche la valeur une seule fois, avec une carte intitulée « Pour vous connecter via MCP, ajoutez ces détails aux paramètres de votre assistant IA » : l'URL du serveur terminée par /mcp, un nom de serveur à votre choix et la ligne d'en-tête, Authorization: Bearer suivi de la clé. Copiez-les dans le client ; la valeur ne sera plus jamais affichée. De retour dans l'onglet Sécurité, la clé apparaît avec un badge MCP, ses dates de création et d'expiration et un bouton Supprimer. La supprimer révoque l'accès de l'assistant.

Boîte de dialogue Enregistrez votre clé API avec la carte de connexion MCP, clé masquée
La carte de clé avec l'URL du serveur `…/mcp` et l'en-tête Bearer (clé masquée)
Boîte de dialogue des préférences, onglet Sécurité, clé API « Claude Desktop (MCP) » avec le badge MCP
Mes préférences > Sécurité : la clé MCP listée avec son badge MCP (« Connexion via RPC ou MCP »)

L'expiration est votre alliée

Choisissez 1 mois pour un premier essai, pas Jamais. Une clé qui expire force un renouvellement délibéré, et l'onglet Sécurité liste chaque clé avec ses dates, ce qui vous montre quelles connexions d'assistant sont encore actives.

OAuth 2.1 pour les clients qui préfèrent une connexion

Pour les clients qui préfèrent se connecter plutôt que coller une clé, ai_mcp inclut un serveur d'autorisation OAuth 2.1. Il publie les documents de découverte standard sous /.well-known et affiche une page de consentement où l'utilisateur approuve le client. Les administrateurs le contrôlent depuis Paramètres > Intégrations, sous l'en-tête MCP OAuth. Le bloc énonce sa règle clairement : seuls les clients IA dont l'URL de métadonnées (CIMD) est listée peuvent obtenir des jetons OAuth pour votre serveur MCP ; sur la version préliminaire, la liste est préremplie avec des entrées pour chatgpt.com, claude.ai et grok.com. En dessous, la case Autoriser l'enregistrement dynamique des clients (DCR) « permet à tout client MCP de s'enregistrer lui-même et de demander des jetons » ; elle était décochée sur notre démo.

Bloc de paramètres MCP OAuth avec les URL de métadonnées de clients et une case DCR
Paramètres > Intégrations > MCP OAuth : URL CIMD autorisées et Autoriser l'enregistrement dynamique des clients (DCR)

Les clients enregistrés sont des enregistrements ordinaires. Paramètres > Technique > Sécurité > Clients OAuth liste chacun avec son nom de client, son identifiant client et un indicateur Actif ; archiver un client le met à la porte.

Liste avec le client enregistré Claude Desktop
Paramètres > Technique > Sécurité > Clients OAuth

La page de consentement s'intitule Accorder l'accès. Elle nomme le client et le but, « Claude Desktop demande l'accès à votre compte Odoo pour MCP (Model Context Protocol) », propose le même choix d'expiration que la boîte de dialogue de clé, et se termine par Autoriser et Refuser. C'est l'utilisateur qui décide ici, pas l'administrateur.

Page Accorder l'accès demandant d'autoriser l'accès MCP à Claude Desktop
Page de consentement OAuth 2.1 présentée à l'utilisateur (« Accorder l'accès », choix d'expiration, Autoriser / Refuser)

Ce que l'assistant peut appeler : des outils à deux indicateurs

Les outils exposés par MCP sont des outils IA d'Odoo : des actions serveur dont la case Utiliser dans l'IA est cochée. Sur cette version, ils se trouvent sous IA > Configuration > Outils, et la liste a deux colonnes qui comptent ici, Disponible dans MCP et Outil en lecture seule. Odoo livre les outils natifs que ses propres agents utilisent, et la démo en exposait cinq, tous en lecture seule ; des voisins comme Rechercher des images restent internes. C'est là tout le contrôle : un assistant ne voit que ce qui porte l'indicateur.

Liste des outils filtrée sur « Outil IA : Rechercher » montrant les indicateurs MCP
IA > Configuration > Outils avec les colonnes Disponible dans MCP / Outil en lecture seule

Ouvrez un outil et allez à l'onglet Utilisation. Vous voyez Utiliser dans l'IA avec le nom technique de l'outil, la description de l'outil IA, c'est-à-dire le texte que l'assistant lit pour décider quand l'appeler, et le schéma IA, les arguments avec leur type et leur caractère obligatoire. En bas se trouvent les deux cases, Disponible dans MCP et Outil en lecture seule. Un administrateur peut construire une action serveur sur mesure, cocher Disponible dans MCP, et elle devient un outil que l'assistant externe peut appeler. Outil en lecture seule est transmis au client comme un indice de lecture seule ; restez donc honnête : cochez-le seulement sur des actions qui n'écrivent pas.

Étape 1: Étapes animées montrant comment un outil est exposé dans MCPÉtape 2: Étapes animées montrant comment un outil est exposé dans MCPÉtape 3: Étapes animées montrant comment un outil est exposé dans MCP
IA > Configuration > Outils, ouvrir un outil, indicateurs de l'onglet Utilisation
Formulaire d'action serveur avec Disponible dans MCP et Outil en lecture seule cochés
Formulaire d'outil, onglet Utilisation : Disponible dans MCP et Outil en lecture seule

Le modèle de sécurité, et quoi vérifier avant de l'activer

Trois couches décident de ce qu'un assistant externe peut faire. Qui : la clé ou l'autorisation OAuth appartient à un utilisateur, et le client agit en tant que cet utilisateur, ni plus ni moins. Quoi : seules les actions serveur marquées Disponible dans MCP sont offertes, et chacune déclare si elle est en lecture seule. D'où : la liste CIMD et la case DCR décident quels clients peuvent même demander un jeton OAuth. La description du module ajoute un avertissement : ne partagez jamais le jeton. Quiconque le détient agit en tant que cet utilisateur jusqu'à son expiration ou sa suppression.

  • Choisissez d'abord l'utilisateur. Créez la clé depuis le compte dont l'assistant doit avoir les droits, pas depuis un compte administrateur.
  • Passez en revue la liste des outils. Dans IA > Configuration > Outils, vérifiez quelles actions sont Disponible dans MCP et lesquelles sont Outil en lecture seule. Commencez en lecture seule ; ajoutez un outil d'écriture plus tard, volontairement.
  • Laissez le DCR décoché à moins de savoir quel client en a besoin, et limitez la liste CIMD aux clients que votre équipe utilise.
  • Fixez une expiration sur chaque clé et chaque consentement, notez qui en est responsable, et connaissez l'interrupteur : Supprimer sur la clé, ou archiver le client OAuth.
  • Rappelez-vous où vont les réponses. Tout ce qu'un outil renvoie est lu par le modèle côté client, selon les conditions de ce fournisseur.

Comment l'essayer sur une base de démonstration

  1. Sur une base de démonstration avec l'application IA installée, ouvrez Applications et confirmez que le module Serveur MCP IA est installé.
  2. Cliquez sur votre avatar, puis Mes préférences, puis l'onglet Sécurité. Cliquez sur Créer une clé API, nommez la clé d'après le client, réglez la portée sur MCP et l'expiration sur 1 mois, puis cliquez sur Créer la clé.
  3. Copiez l'URL du serveur et la ligne d'en-tête depuis la carte, puis cliquez sur Terminé, je l'ai enregistrée.
  4. Ouvrez IA > Configuration > Outils et regardez les colonnes Disponible dans MCP et Outil en lecture seule. Ouvrez Outil IA : Rechercher et lisez l'onglet Utilisation.
  5. Ajoutez l'URL et l'en-tête à Claude Desktop ou à un autre client MCP, puis demandez-lui de lister vos commandes de vente ouvertes.
  6. Ouvrez Paramètres > Intégrations > MCP OAuth pour revoir la liste CIMD et la case DCR, puis Paramètres > Technique > Sécurité > Clients OAuth.
Étape 1: Étapes animées de la création d'une clé API MCPÉtape 2: Étapes animées de la création d'une clé API MCPÉtape 3: Étapes animées de la création d'une clé API MCP
Avatar > Mes préférences > Sécurité > Créer une clé API > portée MCP > copier l'URL et l'en-tête

Ce que nous n'avons pas pu vérifier sur la version préliminaire

Notre environnement de capture n'avait aucun client MCP de bureau ; la fenêtre Claude Desktop ou ChatGPT montrant l'appel d'outil Odoo et sa réponse n'a donc pas été capturée, et la transcription de terminal ci-dessus montre à sa place de vrais appels au même point de terminaison. La page de consentement OAuth a été affichée mais pas soumise, faute d'une vraie adresse de redirection de client pour recevoir le code ; nous n'avons donc pas vu de jeton émis par OAuth. Tout le reste de cette page a été parcouru sur la version 20.0 Enterprise du 23 septembre 2026.

Ce que cela change pour une mise à niveau

Si vous êtes sur Odoo 17, 18 ou 19, rien de tout cela n'existe encore dans votre base ; il n'y a donc rien à migrer, mais quelques décisions à prendre avant la mise en production : quels utilisateurs reçoivent une clé MCP, quels outils portent l'indicateur Disponible dans MCP, et si OAuth est ouvert ou non. Si vous exploitez une passerelle LLM maison en XML-RPC ou JSON-RPC, mettez-la sur la liste dès maintenant : Odoo a programmé pour la même version la suppression de ces points de terminaison, et chaque intégration qui les utilise doit être inventoriée avant la mise à niveau, ce que produit notre audit de migration RPC. Nous exploitons notre propre serveur MCP pour des calculateurs Odoo, donc nous connaissons ce protocole du côté client. Notre service de migration couvre le côté Odoo, et l'article central de la série liste les autres changements qui touchent la même mise à niveau.

FAQ

Questions fréquentes

Quelle est l'URL du serveur MCP d'Odoo 20 ?

L'URL de votre base suivie de /mcp, par exemple https://exemple.odoo.com/mcp. Le client envoie un en-tête Authorization: Bearer avec une clé API dont la portée est MCP. Odoo imprime l'URL du serveur et la ligne d'en-tête exactes sur la carte affichée une seule fois à la création de la clé.

Puis-je réutiliser une clé API RPC existante pour MCP ?

Non. La route /mcp n'accepte que les clés créées avec la portée réglée sur MCP ; une simple clé RPC est refusée. Cette séparation est voulue, pour que les clés d'intégration et les clés d'assistant puissent être listées, expirées et supprimées indépendamment dans l'onglet Sécurité de l'utilisateur.

L'assistant voit-il tout dans ma base de données ?

Non. Il agit en tant que l'utilisateur qui a créé la clé ou approuvé le consentement OAuth, avec les règles d'enregistrement, l'accès aux sociétés et les droits sur les champs de cet utilisateur. Il ne peut appeler que les actions serveur marquées Disponible dans MCP, et chacune déclare si elle est en lecture seule.

Ai-je besoin d'OAuth, ou une clé API suffit-elle ?

Une clé API suffit pour un client qui vous laisse coller une URL et un en-tête, comme un assistant de bureau. OAuth 2.1 sert les clients qui préfèrent une page de connexion et de consentement ; l'administrateur le restreint aux URL de métadonnées de clients listées et peut laisser l'enregistrement dynamique désactivé.

Claude ou ChatGPT peuvent-ils modifier des données dans Odoo par MCP ?

Seulement par un outil marqué Disponible dans MCP et non marqué Outil en lecture seule. Les cinq outils natifs exposés sur la démo préliminaire étaient tous en lecture seule. Un outil d'écriture doit être marqué volontairement par un administrateur, et il s'exécute toujours avec les droits de l'utilisateur.

Comment révoquer l'accès d'un assistant ?

Pour une clé, ouvrez Mes préférences, puis l'onglet Sécurité, et cliquez sur Supprimer sur cette clé. Pour un client OAuth, archivez-le sous Paramètres > Technique > Sécurité > Clients OAuth. Fixer une expiration à la création de la clé ou à l'approbation du consentement limite les dégâts si vous oubliez.

Vous voulez un assistant connecté à votre Odoo, avec les droits que vous avez choisis ?

Nous pouvons installer le serveur MCP sur une copie de votre base, choisir avec vous l'utilisateur et les outils en lecture seule, connecter le client que votre équipe utilise déjà, et vous montrer ce qu'il a appelé et ce qu'il a vu.

Réserver une consultation gratuite