एजेंट बनाने वाले
Maintenance Due पर Personal Agent Protocol
एक पर्सनल एजेंट Personal Agent Protocol v0.1 के ज़रिए मालिक के ड्यू बोर्ड और सर्विस लॉग तक पहुँच सकता है। मालिक हमारे पेज पर साइन इन करता है और देखना या बदलना चुनता है। Maintenance Due मुफ़्त है, और ड्यू का हिसाब किसी मॉडल को कॉल नहीं करता।
यह पेज पर्सनल एजेंट बनाने वालों के लिए है। अगर आप बस चाहते हैं कि Muse वैन का तेल समय पर रखे, तो for-your-agent पर प्रॉम्प्ट कॉपी करें। स्पेसिफ़िकेशन personalagentprotocol.org पर है।
खोज
GET https://maintenancedue.com/.well-known/poppy.json संगठन (maintenancedue.com), इश्यूअर https://maintenancedue.com, poppy:read और poppy:write वाला Direct Sign-In, और दो API बताता है: https://maintenancedue.com/mcp पर MCP सर्वर, और /api/v1 के तहत REST के लिए https://maintenancedue.com/openapi.json पर OpenAPI विवरण। /.well-known/oauth-authorization-server पर इश्यूअर मेटाडेटा poppy_domains में maintenancedue.com सूचीबद्ध करता है और /oauth/ के तहत टोकन, ऑथराइज़ेशन और रिवोकेशन एंडपॉइंट देता है।
Session और साइन इन
- अपना क्लाइंट प्रकाशित करें। आपका
client_idएक https URL है जो आपका क्लाइंट मेटाडेटा डॉक्यूमेंट देता है, औरjwks_uriवredirect_urisउसी डोमेन पर होते हैं। हर टोकन अनुरोध में उसीjwks_uriकी कुंजी से साइन किया गयाprivate_key_jwtक्लाइंट असर्शन होता है। - एक Session शुरू करें।
POST /oauth/tokenपरgrant_type=urn:ietf:params:oauth:grant-type:jwt-bearerभेजें, ऐसे असर्शन के साथ जिसकाissआपकाclient_id,subUser ID, औरaudएक ही स्ट्रिंगhttps://maintenancedue.com/oauth/tokenहो, साथ में एक DPoP प्रूफ़। आपको साइन-आउट Session Token (token_typeDPoP, एक घंटा) और एकsession_idमिलता है। नवीनीकरण के लिए नए असर्शन के साथsession_idभेजें। - मालिक को हमारे पेज पर भेजें।
/oauth/authorizeखोलें,response_type=code, अपनेclient_idऔरredirect_uri,scope=poppy:read poppy:write(या सिर्फ़poppy:read), एकstate, और PKCE S256code_challengeके साथ। मालिक आपका नाम और डोमेन देखता है, View only या View and change चुनता है, फिर एक मुफ़्त शॉप बनाता है या अपने मौजूदा मेंबरशिप टोकन से साइन इन करता है। रीडायरेक्टcode,stateऔरissलौटाता है। जाँचें किisshttps://maintenancedue.comहै। - कोड बदलें।
POST /oauth/tokenपरgrant_type=authorization_code,code,redirect_uri,code_verifierऔर अपनाsession_idभेजें, साथ में क्लाइंट असर्शन और DPoP प्रूफ़। जवाब मेंrefresh_tokenमें Account Token (pat_…, 30 दिन), एक साइन-इन Session Token, और दिया गयाscopeहोता है। आपने बदलने की पहुँच माँगी हो तब भी मालिक सिर्फ़ देखना चुन सकता है, इसलिएscopeपढ़ें। - बाद में साइन-इन के साथ शुरू करें।
POST /oauth/tokenपरgrant_type=refresh_tokenऔर Account Token भेजें,session_idके साथ या उसके बिना। किसी खोज के लिए रीड-ओनली टोकन पाने कोscope=poppy:readजोड़ें। Account Token घुमाया नहीं जाता, इसलिए समानांतर Session उसे साझा कर सकते हैं। - साइन आउट करें।
POST /oauth/revokeपर Account Token और अपना क्लाइंट असर्शन भेजें। उससे साइन इन हर Session अपनी अगली कॉल पर साइन आउट हो जाता है और साइन-आउट के रूप में नवीनीकृत होता है।
बोर्ड को कॉल करना
REST, DPoP लेता है: /api/v1 की हर कॉल पर Authorization: DPoP <token> के साथ htm, htu और ath वाला नया DPoP प्रूफ़। MCP, Bearer लेता है: DPoP प्रूफ़ के बिना और resource=https://maintenancedue.com/mcp के साथ नवीनीकरण करें, फिर /mcp पर Authorization: Bearer <token> भेजें। Bearer Session Token सिर्फ़ /mcp पर चलता है, और वहाँ DPoP टोकन अस्वीकार होता है। MCP टूल, उनके स्कीमा, और MCP-Protocol-Version 2025-06-18 हेडर वही हैं जो ChatGPT इस्तेमाल करता है।
देखना या बदलना
poppy:read से /api/v1 पर हर GET और readOnlyHint वाला हर MCP टूल खुलता है, जैसे get_due, get_history और list_assets। poppy:write से बाकी हर REST मेथड और MCP टूल खुलता है, जैसे append_event, append_reading, create_service और set_rule, साथ में events/subscribe। scope न होने पर 403 मिलता है, और WWW-Authenticate में error="insufficient_scope" तथा ज़रूरी scope होता है। अकाउंट कॉल पर साइन-आउट टोकन 403 sign_in_required है। समय-सीमा पार टोकन, या साइन आउट से पहले जारी टोकन, 401 invalid_token है। संगठन के सदस्यों को आमंत्रित करना, हटाना या संगठन छोड़ना सदस्य के अपने टोकन से ही होता है।
mcp scope के साथ /oauth/authorize से बने ChatGPT कनेक्शन, और मौजूदा Muse मेंबरशिप टोकन, पहले की तरह काम करते रहते हैं। फ़ील्ड नाम skill.md पर हैं, REST अनुबंध openapi.json पर, और एजेंट इंडेक्स llms.txt पर।