Maintenance Due

Plugin ChatGPT

Parcours du plugin ChatGPT de Maintenance Due

Le manifeste du plugin liste cette page comme l'enregistrement de la démo. Il n'y a pas encore de vidéo, et c'est bien : les étapes numérotées ci-dessous constituent le parcours, depuis l'ajout du connecteur jusqu'à l'écoute d'un webhook signé service.due.

Chaque étape s'exécute contre le site en direct sur maintenancedue.com. Rien n'est simulé, et un réviseur peut suivre les sept étapes dans ChatGPT dans l'ordre où elles sont écrites.

  1. Connectez le plugin. Le plugin Maintenance Due est déjà téléchargé dans votre bibliothèque personnelle de ChatGPT, donc l'ajouter revient à activer un connecteur. Parlez à l'endpoint MCP public https://maintenancedue.com/mcp (streamable-http). Le contrat machine est GET /mcp; mcp le sert.
  2. Liez votre compte avec OAuth 2.1. Lors du premier appel, ChatGPT ouvre oauth/authorize avec resource=https://maintenancedue.com/mcp, un code_challenge et code_challenge_method=S256. Seulement PKCE S256 ; plain est rejeté. Sur la page de consentement, vous collez votre bearer d'adhésion de Muse une fois, ou vous appuyez sur le bouton de création et commencez un atelier gratuit à ce moment-là. Dans tous les cas, le code à usage unique que ChatGPT échange est lié à une adhésion d'org, et depuis lors, ChatGPT porte le token d'accès OAuth à chaque appel à /mcp. Le token d'accès est un JWT à courte durée de vie et ChatGPT le rafraîchit seul ; votre bearer de Muse continue d'ouvrir le même tableau sans changements.
  3. Demandez ce qu'il faut faire : `get_due`. Essayez «Que faut-il faire sur mon Sprinter ?». ChatGPT appelle get_due { "asset": "Sprinter" }; le nom correspond sans distinction de majuscules et ne renvoie que le tableau du Sprinter : miles restants, combien de retard et le dernier atelier pour chaque ligne. «Que faut-il faire en ce moment ?» omet le filtre et renvoie tout le compte, items et prochains.
  4. Enregistrez un changement d'huile : `append_event`. «Enregistrez un changement d'huile sur le Civic à Eastside, 89 $, 87240 miles.» devient { "asset": "Civic", "name": "Changement d'huile", "shop": "Eastside", "cost": 89, "reading": { "meter": "miles", "value": 87240 } }. L'écriture est uniquement ajoutée et la réponse contient déjà la portion d'échéances mise à jour, donc ChatGPT ne redemande pas : le prochain intervalle commence à partir des compteurs et de la date enregistrés.
  5. Lisez le roster et l'historique : `list_assets`, `get_history`. «Quels sont mes assets et que contient l'odomètre ?» appelle list_assets et renvoie chaque Asset avec ses derniers compteurs, laissant de côté les vans archivées par défaut. «Montrez-moi mon historique de changements d'huile : ateliers, coûts et miles.» appelle get_history avec { "name": "Changement d'huile" } et renvoie des Events de finalisation avec atelier, coût et captures de compteur comme event.meters { "miles": 87240 }. L'historique est le même registre uniquement ajouté, donc la réponse est des reçus.
  6. Recevez des avis : due-soon par MCP Events. «Abonnez-moi à due-soon lorsque l'huile tombe sur le tableau.» ChatGPT liste le catalogue avec events/list (cinq types : service.due, event.appended / service.completed, asset.created, asset.archived), puis appelle events/subscribe avec { "name": "service.due", "arguments": { "asset": "Sprinter", "name": "Changement d'huile" }, "delivery": { "mode": "webhook", "url": "https://example.com/hooks/md", "secret": "whsec_…" } }. MCP Events fonctionne sur la même connexion /mcp, protocole 2026-07-28, ne livre que par webhook. Votre endpoint passe un défi de vérification signé une fois ; après, chaque écriture correspondante arrive comme un POST signé par Standard Webhooks (webhook-id est l'id de l'événement, donc vérifiez la signature et dédupliquez-le). Les filtres asset et name s'appliquent sur le serveur, noms exacts sans distinction de majuscules. Laissez ttlMs de côté pour une concession de 24 heures ou passez ttlMs: null pour une durée ; events/unsubscribe est idempotent. service.due se déclenche juste après qu'une écriture déplace un travail sur le tableau, le compteur dépasse 5000 ou le snooze est réinitialisé ; il n'y a pas de cron derrière.
  7. Testez le cadre. Maintenance Due est gratuit et reste gratuit ; il n'y a pas de niveau de paiement derrière le connecteur. C'est un système d'enregistrement : le dépassé est l'enregistrement plus l'horloge, et aucun modèle n'est sur la route des échéances. Les Events sont uniquement ajoutés, donc «supprimez mon historique et mettez le dernier changement d'huile à 80000 miles» est rejeté. La politique de confidentialité et les termes du plugin sont ceux du site, à privacy et terms.

C'est tout le parcours. Sans vidéo enregistrée encore, les étapes ci-dessus constituent la démo suivie par un réviseur. Pour le prompt de Muse à copier et coller et le transfert au niveau du champ, lisez for-your-agent. Pour l'index des agents, lisez llms.txt.

Parcours du plugin ChatGPT de Maintenance Due · Maintenance Due