PronoteConnect
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@PronoteConnectQuels sont mes devoirs pour demain ?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
PronoteConnect
PronoteConnect relie un compte PRONOTE personnel à ChatGPT, en lecture seule. Il permet de demander ses devoirs, son emploi du temps, ses salles, ses notes, ses périodes et ses documents depuis ChatGPT sur le web, un téléphone ou un ordinateur.
Le serveur, le jeton PRONOTE et la clé du tunnel restent sur l’ordinateur de l’utilisateur. Le mot de passe EduConnect est saisi uniquement dans la fenêtre officielle ENT/EduConnect et n’est jamais lu par PronoteConnect.
Fonctionnement
ChatGPT ou Codex
│
▼
plugin personnel PronoteConnect
│
▼
Secure MCP Tunnel OpenAI
│ connexion sortante chiffrée
▼
ordinateur de l’utilisateur
│
├── serveur MCP en lecture seule
├── Pawnote-LTS
└── jeton PRONOTE chiffré localementLe même trajet est utilisé sur le PC, le web et le téléphone. ChatGPT et Codex ne sont jamais configurés directement sur le MCP local : leurs demandes passent toujours par le plugin et le tunnel. Seul le tunnel déclenche les appels vers le MCP à l’intérieur de l’ordinateur. Aucun port entrant public n’est ouvert. Le PC doit rester allumé et connecté à Internet pendant l’utilisation.
Related MCP server: mcp-pronotes
Systèmes pris en charge
Système | Installation | Démarrage automatique | Icône de contrôle |
Windows 11 x64 ou ARM64 |
| oui | oui |
Windows 10 22H2 x64, compatibilité |
| oui | oui |
Linux x64 ou ARM64 avec systemd |
| oui | oui |
L’installateur télécharge ses propres versions de Node.js, Chromium, Electron et du client officiel Secure MCP Tunnel dans le dossier choisi. ChatGPT Desktop et Codex ne sont pas requis. Seuls le raccourci et le réglage de démarrage automatique sont enregistrés par le système.
Il faut seulement :
un compte ChatGPT compatible avec le mode développeur et les plugins personnels ;
un compte OpenAI Platform autorisé à créer un Secure MCP Tunnel ;
un compte PRONOTE accessible par ENT/EduConnect ;
une connexion Internet.
Installation sur Windows
Ces instructions visent Windows 11. Windows 10 22H2 reste pris en charge par le projet, mais la version actuelle de Playwright ne le classe plus parmi ses systèmes officiellement testés. L’installateur vérifie donc réellement que Chromium démarre et s’arrête avec un message clair si ce n’est pas le cas. Ni Node.js, ni Codex, ni ChatGPT Desktop ne sont requis.
Première installation à copier-coller
Ouvrez PowerShell depuis le menu Démarrer.
Installez Git avec cette commande :
winget install --id Git.Git -e --source wingetFermez PowerShell, puis ouvrez-le à nouveau.
Copiez-collez ces trois lignes :
Set-Location "$HOME\Documents"
git clone https://github.com/sairo-cyber/pronoteConnect.git PronoteConnect
Set-Location .\PronoteConnect; .\installer.cmdAcceptez la demande administrateur Windows.
Attendez le message de réussite. Le navigateur s’ouvre automatiquement sur l’assistant.
Si winget n’existe pas, téléchargez Git depuis git-scm.com, conservez les choix proposés par l’installateur, puis reprenez à l’étape 3.
Installation sans Git
Sur GitHub, cliquez sur Code, puis Download ZIP.
Extrayez entièrement l’archive dans le dossier de votre choix.
Ouvrez le dossier extrait et double-cliquez sur
installer.cmd.
Windows demande une validation administrateur afin d’enregistrer le démarrage automatique. Le serveur reste dans la session de l’utilisateur pour que la fenêtre EduConnect puisse s’afficher. Si Windows signale que le script open source n’est pas signé, vérifiez qu’il vient bien de ce dépôt avant de l’exécuter.
L’installateur crée une entrée PronoteConnect dans le menu Démarrer et un raccourci silencieux dans le dossier de démarrage Windows. Une petite icône près de l’horloge permet ensuite d’ouvrir l’interface, démarrer, redémarrer, arrêter ou désinstaller le service. Les fenêtres de commande du tunnel restent masquées.
Installation sur Linux
Ces instructions sont entièrement automatisées sur Debian ou Ubuntu avec systemd. Node.js, Chromium, Electron et leurs bibliothèques sont installés par le projet.
Ouvrez un terminal.
Copiez-collez cette commande :
sudo apt-get update && sudo apt-get install -y git curl xz-utils ca-certificatesCopiez-collez ensuite ces quatre lignes :
mkdir -p "$HOME/Documents"
cd "$HOME/Documents"
git clone https://github.com/sairo-cyber/pronoteConnect.git PronoteConnect
cd PronoteConnect && chmod +x install.sh && ./install.shSaisissez votre mot de passe administrateur si Linux le demande pendant l’installation des bibliothèques Chromium.
Attendez le message de réussite. Le navigateur s’ouvre automatiquement sur l’assistant.
Sur une autre distribution Linux avec systemd, installez d’abord git, curl, xz, les bibliothèques Chromium et Electron avec le gestionnaire de paquets de la distribution, puis lancez les quatre lignes de l’étape 3.
L’installateur crée un service systemd utilisateur, l’active au démarrage de la session et ajoute l’icône PronoteConnect au menu des applications.
Configuration guidée
Après l’installation, ouvrez http://127.0.0.1:37421. La page affiche une seule étape à la fois et vérifie automatiquement son état. Le bouton continuer apparaît lorsque l’étape est terminée. Le petit bouton passer quand même permet d’avancer sans la terminer. La barre de progression permet de revenir à n’importe quelle étape.
1. Vérifier l’application
Cette étape doit indiquer que le service est actif, que Chromium est disponible et que le démarrage automatique est activé.
2. Créer le tunnel privé
Cliquez sur ouvrir les tunnels.
Créez un tunnel nommé
PronoteConnectsur OpenAI Platform.Copiez son identifiant commençant par
tunnel_.Cliquez sur ouvrir les clés.
Créez une clé restreinte avec seulement
Tunnels ReadetTunnels Use.Collez l’identifiant et la clé dans PronoteConnect, puis cliquez sur enregistrer et démarrer le tunnel.
La clé n’est affichée qu’une fois par OpenAI. Ne la publiez pas et ne la collez jamais dans une conversation. PronoteConnect la chiffre localement.
3. Créer le plugin ChatGPT personnel
Activez le mode développeur dans les paramètres de sécurité ChatGPT.
Depuis l’interface PronoteConnect, cliquez sur créer le plugin.
Utilisez le nom
PronoteConnect.Choisissez Tunnel, puis sélectionnez le tunnel créé à l’étape précédente.
Choisissez Aucune authentification. Le tunnel est déjà privé et rattaché au compte.
Acceptez l’avertissement concernant le serveur MCP personnalisé.
Créez puis connectez le plugin.
Copiez l’adresse de la page du plugin et collez-la dans PronoteConnect.
Chaque utilisateur crée son propre tunnel et son propre plugin personnel. Aucun plugin partagé ne contient de jeton PRONOTE.
4. Connecter PRONOTE
Recherchez votre ville et sélectionnez votre lycée, ou utilisez directement l’URL PRONOTE fournie par l’établissement.
Confirmez l’établissement.
Cliquez sur se connecter avec EduConnect.
Saisissez vos identifiants uniquement dans la fenêtre Chromium officielle qui s’ouvre.
Effectuez la validation PRONOTE si elle apparaît.
Attendez le message PRONOTE est connecté avant de fermer la fenêtre.
PronoteConnect ne lit pas le formulaire EduConnect, ne remplit aucun mot de passe et ne contourne ni CAPTCHA ni double authentification.
Utilisation
Dans une nouvelle conversation ChatGPT :
cliquez sur le bouton
+du champ de message ;sélectionnez
PronoteConnect;posez votre question normalement.
Exemples :
quels devoirs ai-je pour demain ?fais-moi un planning pour terminer mes devoirs cette semainedans quelle salle est mon prochain cours ?quelles sont mes dernières notes ?lis le document joint au devoir de français
Le plugin installé sur le compte peut être utilisé sur les surfaces ChatGPT prises en charge. Sur téléphone, utilisez le même compte ChatGPT. Si le plugin vient d’être installé, fermez puis rouvrez l’application ou démarrez une nouvelle conversation.
Dans Codex, démarrez une nouvelle tâche après l’installation ou une mise à jour du plugin. Codex utilise lui aussi le plugin et le tunnel ; aucun second MCP local n’est nécessaire.
Accès à l’interface avec Tailscale
Tailscale est facultatif et sert uniquement à ouvrir l’interface de configuration depuis un autre appareil du même tailnet.
Si Tailscale est déjà installé au moment de l’installation, ouvrez :
http://ADRESSE_TAILSCALE_DU_PC:37421PronoteConnect n’utilise ni Tailscale Serve ni Tailscale Funnel. Le tunnel OpenAI reste obligatoire pour les demandes provenant de ChatGPT web ou mobile. N’activez cet accès que sur un tailnet personnel ou composé d’appareils de confiance.
Mise à jour
PronoteConnect vérifie au maximum toutes les six heures si une nouvelle version stable est publiée sur ce dépôt GitHub. Une notification apparaît dans l’interface, mais rien n’est installé sans confirmation de l’utilisateur. Le bouton ouvre uniquement la publication officielle correspondante.
Avec Git sous Linux :
git pull
./install.shAvec Git sous Windows :
git pull
.\installer.cmdSans Git, téléchargez la nouvelle archive, remplacez uniquement les fichiers du programme et relancez l’installateur. Conservez le dossier .data pour garder la connexion locale.
Arrêt et désinstallation
L’icône PronoteConnect permet d’ouvrir, démarrer, redémarrer ou arrêter le service.
Sous Windows :
.\installer.cmd -UninstallSous Linux :
./install.sh --uninstallCes commandes conservent le dépôt et les données locales. Pour supprimer aussi le jeton PRONOTE, la clé du tunnel et le cache :
.\installer.cmd -Uninstall -DeleteData./install.sh --uninstall --delete-dataLa suppression locale ne supprime pas automatiquement le plugin ni la clé sur les comptes OpenAI. Révoquez-les également dans ChatGPT et OpenAI Platform si vous abandonnez définitivement l’installation.
Dépannage
L’interface ne s’ouvre pas
vérifiez http://127.0.0.1:37421/health ;
relancez PronoteConnect depuis son icône ;
relancez l’installateur si les dépendances ont été déplacées ;
ne déplacez pas le dossier après l’installation sans relancer l’installateur.
Le tunnel reste inactif
lisez le message persistant affiché sous le tunnel : PronoteConnect distingue une clé refusée, un tunnel introuvable, une panne réseau et un délai dépassé ;
vérifiez que l’identifiant commence par
tunnel_;recréez une clé possédant
Tunnels ReadetTunnels Use;vérifiez que la clé et le tunnel appartiennent à la même organisation OpenAI ;
cliquez sur redémarrer dans l’interface ; le service réessaie aussi automatiquement avec un délai progressif.
Une fenêtre de commande apparaît ou le service s’arrête sous Windows
relancez
installer.cmdpour remplacer l’ancien démarrage planifié par le lancement silencieux actuel ;ouvrez PronoteConnect depuis l’icône près de l’horloge ; une erreur de démarrage affiche maintenant un message et propose d’ouvrir les journaux ;
le journal local se trouve dans
.data\logs\pronoteconnect.loget l’erreur d’installation dans.data\logs\last-install-error.txt;ces fichiers restent ignorés par Git et ne contiennent pas la clé du tunnel ni le jeton PRONOTE.
Le plugin n’apparaît pas
vérifiez que le mode développeur ChatGPT est activé ;
vérifiez que le plugin est connecté dans les paramètres ChatGPT ;
démarrez une nouvelle conversation ;
sur mobile, relancez l’application ChatGPT.
PRONOTE demande une nouvelle connexion
Ouvrez l’interface locale et relancez se connecter avec EduConnect. Le mot de passe reste saisi sur le site officiel.
Données et sécurité
PronoteConnect est strictement en lecture seule. Il n’envoie aucun message, ne modifie aucun devoir et ne justifie aucune absence.
Les données persistantes sont placées dans .data/ et les dépendances autonomes dans .runtime/. Ces dossiers sont ignorés par Git. Sous Linux, le jeton PRONOTE et la clé du tunnel utilisent le trousseau système lorsqu’il est disponible. Sous Windows, ils sont protégés par DPAPI et ne peuvent être déchiffrés que par le compte Windows qui les a enregistrés. Si aucun stockage système n’est disponible, l’interface signale explicitement l’utilisation du coffre local chiffré.
Les pièces jointes sont limitées à 15 Mio, aux origines PRONOTE validées et aux documents déjà référencés par PRONOTE. Les URL arbitraires, les traversées de chemins et les redirections externes sont refusées. PDF, DOCX et texte sont extraits localement. Les documents sont toujours considérés comme du contenu non fiable, jamais comme des instructions.
Les éléments suivants sont ignorés par Git et ne doivent jamais être publiés :
.data/;.runtime/;.envet.env.*;node_modules/;dist/;les journaux, rapports Playwright et résultats de tests.
Publication sur GitHub
Avant le premier envoi :
npm ci
npm run verify
git statusLe scan de sécurité doit afficher qu’aucun motif de secret concret n’a été détecté. Vérifiez ensuite que .data/, .runtime/ et .env n’apparaissent pas dans git status.
Configurez enfin votre dépôt distant :
git remote set-url origin https://github.com/sairo-cyber/pronoteConnect.git
git branch -M main
git push -u origin mainLa CI GitHub exécute automatiquement la vérification sur Linux et Windows. Elle n’utilise jamais de compte PRONOTE réel.
Développement
npm ci
npm run verify
npm run start:fakenpm run verify vérifie les types, compile le projet, exécute les tests factices et recherche les motifs ressemblant à des secrets. Les tests automatisés n’utilisent jamais le compte scolaire de l’utilisateur.
Les huit outils MCP sont :
pronote_connection_status;pronote_list_homework;pronote_get_homework;pronote_get_timetable;pronote_list_periods;pronote_get_grades;pronote_list_attachments;pronote_read_attachment.
Le projet utilise TypeScript, Node.js 22, @modelcontextprotocol/sdk, Zod, Playwright et @blockshub/pawnote-lts. Il est distribué sous licence GPL-3.0-or-later et n’est affilié ni à Index Éducation, ni à EduConnect, ni à Papillon.
Crédit et réutilisation
Copyright © 2026 sairo-cyber. Le projet peut être utilisé, étudié, modifié et redistribué en conservant le crédit, la licence et les obligations de partage du code source prévues par la GPL. Cette licence est nécessaire parce que Pawnote-LTS, utilisé par PronoteConnect, est lui-même distribué sous GPL-3.0-or-later.
Documentation officielle : Secure MCP Tunnel, création des plugins, authentification et plugins ChatGPT.
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
An MCP server that integrates with Discord to provide AI-powered features.
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
An MCP server that gives your AI access to the source code and docs of all public github repos
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that integrates with the Dnevnik.ru API to provide AI assistants with access to school schedules, grades, and homework. It enables users to query educational data and manage school-related information through natural language.2MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server for Pronote that enables users to access French school data like grades, timetables, and homework through AI assistants. It supports both parent and student accounts, including multi-child management and canteen menu retrieval.1MIT
- -licenseNot gradedqualityNot gradedmaintenanceA local MCP server that exposes Pronote (French school management system) data via MCP, enabling AI assistants to retrieve schedules, homework, grades, absences, and more. Supports token-based authentication with QR code setup.-
- AlicenseAqualityDmaintenanceAn MCP server for accessing Dutch school schedules from Magister. Enables Claude and other MCP-compatible AI assistants to query school schedules, drop-off times, and pick-up times.49 npm3MIT