MCP — connecter un agent IA externe à Omniscol
PremiumLe Model Context Protocol (MCP) est un standard ouvert qui permet à un assistant IA compatible MCP de consommer des outils métier exposés par un service externe. Omniscol expose une grande partie de son API sous forme de serveur MCP : un agent IA peut interroger votre compte avec les points d'accès API ou permissions autorisés, une fois authentifié — par OAuth2, le mode standard de MCP, ou par un jeton.
Ce que l'agent peut faire
L'agent MCP fonctionne très bien sur les questions de consultation où la donnée est dans Omniscol :
- « Donne-moi le taux d'occupation des salles par rapport aux horaires d'ouverture cette semaine. »
- « Trouve-moi une salle disponible trois lundis d'octobre sur le même créneau de 2 heures. »
- « Combien d'heures de cours Jean Dupont a-t-il données sur l'année scolaire courante ? »
- « Quels sont tous les cours de maths d'aujourd'hui ? »
- « Liste les professeurs qui ont fait moins de 70 % de leurs heures de service ce trimestre. »
Ces requêtes croisent typiquement plusieurs outils : EDT, tableaux de bord statistiques, disponibilités calculées, fiches professeurs. L'agent orchestre les appels et formule la réponse en langage naturel.
Les outils exposés
Le serveur MCP construit ses outils à partir des routes API Omniscol autorisées pour MCP. Les routes ignorées explicitement, et certains modules techniques (par exemple, relatifs à l'authentification des utilisateurs) ne deviennent pas des outils. La liste reflète donc l'API exposée au MCP, pas l'intégralité interne de l'application. C'est cependant une très grande partie. Qui plus est, il existe un certain nombre de routes dédiées au MCP et non utilisées par Omniscol. C'est le cas d'outils de recherche avancée pour que le texte libre désignant une entité ("professeur Jean Dupont", "classe 6A") soit retrouvée par Omniscol avec son identifiant technique servant ensuite à requéter précisément les données. C'est aussi le cas d'outils complexes où Omniscol ne possède pas d'interface graphique, parce que cela se prête mieux à du prompt : la recherche d'occupation et de disponibilité d'entité, par exemple ("trouve-moi une salle disponible pour 2 heures l'après-midi 3 lundi d'affilée", "est-ce qu'un professeur de maths est disponible la semaine du 14 octobre pour 3 heures ?").
Les outils couvrent notamment :
- module Administration (utilisateurs, matières, années scolaires, paramètres),
- module Gestion des EDT (configuration, sites, salles, classes, cours),
- module EDT (planning, tableaux de bord, recherches),
- module Gestion des absences (déclaration, statistiques),
- recherche globale.
Les routes de lecture sont les plus adaptées à un usage agentique. Certaines opérations d'écriture peuvent exister dans le catalogue, selon les droits du jeton et l'API disponible, mais elles doivent rester encadrées : une requête qui modifie plusieurs objets métier doit être vérifiée par un utilisateur avant d'être considérée comme fiable.
Activer le serveur MCP
Le serveur MCP est disponible sur les comptes Premium. Tout part de l'écran MCP, ouvert depuis le module Administration avec Configurer : il affiche l'URL du serveur selon le périmètre choisi (global ou restreint à un module) et fournit, prêts à copier, les éléments de configuration de votre client.
L'authentification standard de MCP est OAuth2. Un client compatible (comme Claude) se connecte simplement à l'URL du serveur, y découvre la configuration OAuth2 du compte, et l'utilisateur approuve l'accès via un écran de consentement : il n'y a rien d'autre à fournir que l'URL. Le périmètre accordé suit les droits du compte et ses restrictions de visibilité. Le serveur OAuth2 d'Omniscol, son écran de gestion des clients et le détail du consentement sont décrits sur OAuth2 / OIDC (fournisseur).
Pour un client qui ne gère pas OAuth2, le même écran génère un jeton
(clé API, expiration, utilisateur associé optionnel, droits d'écriture à
cocher) puis propose, prêts à coller, les formats utiles selon le cas :
en-tête Authorization: Bearer, URL avec jeton, bloc de configuration
Claude Desktop (mode gratuit) et commande de proxy local. Le jeton
s'appuie sur le système de clés décrit dans API Omniscol.
Bonnes pratiques de sécurité
- Authentification OAuth2 — plus pratique et à préférer quand votre agent le supporte (Claude version payante).
- Jeton dédié à l'IA — créez un jeton avec un libellé
parlant (
Agent IA — Claude desktop) que vous pouvez révoquer si nécessaire. - Périmètre minimal — avec un jeton API, ne sélectionnez que les points d'accès API nécessaires. Avec un jeton OAuth, limitez les scopes au besoin réel.
- Journaux d'activité (logs) — un appel apparaît dans les journaux associés au jeton lorsque la route concernée est journalisée. Ces journaux tracent l'appel ; ils ne conservent ni le détail des données renvoyées ni le contenu rejouable de la requête.
- Restrictions de visibilité — l'agent voit ce qu'Omniscol lui renvoie. Si vous avez configuré des restrictions de visibilité strictes pour le rôle du jeton, elles s'appliquent.
Procédure
Connecter Claude à Omniscol
La voie recommandée est l'authentification OAuth2 : vous branchez Claude sur le serveur MCP par son URL, sans manipuler de jeton.
-
Activez le serveur MCP sur votre compte Premium et récupérez son URL (typiquement
https://votre-ecole.omniscol.com/mcp). L'écran MCP (module Administration, bouton Configurer) l'affiche selon le périmètre choisi, avec un bouton de copie. -
Ajoutez Omniscol comme connecteur dans Claude. Dans les réglages de connecteurs de Claude, ajoutez un connecteur personnalisé et collez l'URL du serveur MCP Omniscol.
-
Approuvez l'accès. Claude vous redirige vers l'écran de consentement Omniscol : connectez-vous et autorisez l'accès. Le périmètre accordé suit les droits de votre compte et les restrictions de visibilité éventuelles.
-
Les outils apparaissent dans Claude, qui les appelle quand votre requête s'y prête.
-
Premier test : « Combien d'heures de cours Jean Dupont a-t-il données cette année ? » — Claude croise les données accessibles et répond en langage naturel.
Méthode alternative par jeton. Pour un client MCP qui ne gère pas
OAuth2, générez un jeton dédié depuis l'écran MCP (libellé parlant,
points d'accès limités au besoin réel, droits d'écriture cochés
explicitement) et transmettez-le en en-tête Authorization: Bearer.
L'écran MCP fournit le bloc de configuration correspondant. Préférez
OAuth2 dès que votre client le prend en charge.