MCP से AI एजेंट कनेक्ट करें
एक Model Context Protocol सर्वर जो मौजूदा प्रोजेक्ट कुंजी से MCP क्लाइंट को वास्तविक Postline API से जोड़ता है।
OpenAPI 3.1 डाउनलोड करेंयह क्या है
Postline का hosted MCP server https://api.srs-postline.com/mcp पर उपलब्ध है और email, domain, suppression तथा webhook के लिए typed tools देता है।
कोई भी कोड लिखने से पहले
- उपयोगकर्ता से एक प्रोजेक्ट API key माँगें, या उन्हें https://app.srs-postline.com/hi/login पर एक sandbox key बनाने के लिए कहें — किसी अन्य प्रोजेक्ट की key कभी न गढ़ें, अनुमान न लगाएं, या पुनः उपयोग न करें।
- key को एक सर्वर-साइड environment variable में रखें। इसे frontend कोड, मोबाइल ऐप बंडल, सार्वजनिक repo, या कमिट किए गए .env फ़ाइल में न रखें।
- एक sandbox प्रोजेक्ट के विरुद्ध srs_test_ key से शुरुआत करें। Sandbox केवल उन प्राप्तकर्ताओं को डिलीवर कर सकता है जिन्हें उपयोगकर्ता ने सत्यापित किया है, इसलिए वास्तविक इनबॉक्स डिलीवरी के लिए एक समीक्षित live प्रोजेक्ट चाहिए — उस समीक्षा के पूरा होने से पहले live भेजने के काम करने का वादा न करें।
- रिक्वेस्ट कोड बनाने से पहले /llms.txt और openapi/postline.yaml पढ़ें; फ़ील्ड के नाम या एंडपॉइंट का अनुमान न लगाएं।
कनेक्ट करें
Postline Bearer key से hosted endpoint जोड़ें; download या local build की जरूरत नहीं है।
claude mcp add --scope user --transport http postline \
https://api.srs-postline.com/mcp \
--header "Authorization: Bearer srs_live_xxx"
export POSTLINE_API_KEY='srs_live_xxx'
codex mcp add postline --url https://api.srs-postline.com/mcp \
--bearer-token-env-var POSTLINE_API_KEYहर भेजने से पहले चलाने वाली जाँचें
- हमेशा ट्रिगर करने वाली क्रिया (order ID, event ID) से प्राप्त एक Idempotency-Key भेजें ताकि पुनः प्रयास से डबल-सेंड न हो।
- OTP कोड, पासवर्ड-रीसेट टोकन, या अन्य गुप्त जानकारी को कभी भी किसी ऐसे फ़ील्ड में न डालें जो लॉग हो या संदेश के मुख्य भाग के बाहर फॉरवर्ड हो।
- कार्य के लिए आवश्यक सबसे संकीर्ण API key scope माँगें (भेजने के लिए emails:send पर्याप्त है; जब तक कार्य को इसकी आवश्यकता न हो, domains:write या api_keys:write न माँगें)।
- हर कॉल में अधिकतम 100 प्राप्तकर्ता रखें। मौजूदा API attachment या custom header स्वीकार नहीं करता; फ़ाइल अस्वीकार करें या लिंक दें, उसे संलग्न बताकर प्रस्तुत न करें।
- 4xx प्रतिक्रियाओं पर चुपचाप पुनः प्रयास न करें। केवल 429 और 503 को ही पुनः प्रयास करना सुरक्षित है, और वह भी केवल backoff के साथ।
हर प्रतिक्रिया कोड को संभालें
- 202 — कतार में डाला गया, डिलीवर नहीं हुआ। यदि बाद में स्थिति जाँचनी हो तो लौटाई गई id को सेव करें।
- 400 — अमान्य payload; अनुरोध को ठीक करें, बिना बदलाव के पुनः प्रयास न करें।
- 401 — अमान्य या समाप्त हो चुकी key; रुकें और यह उपयोगकर्ता को दिखाएं, नई key न गढ़ें।
- 403 — scope अनुपस्थित है या भेजने वाला डोमेन अभी सत्यापित नहीं हुआ है; उपयोगकर्ता को आगे बढ़ने से पहले डोमेन सत्यापित करने के लिए कहें।
- 409 — idempotency संघर्ष; मूल अनुरोध को पहले से भेजा हुआ मानें।
- 422 — प्राप्तकर्ता suppressed है (पिछला bounce/complaint); उस प्राप्तकर्ता के लिए पुनः प्रयास न करें।
- 429 — rate limited; रुकें और बाद में पुनः प्रयास करें, tight loop में न फंसें।
- 503 — कतार अनुपलब्ध; backoff के साथ पुनः प्रयास करें, किसी अनौपचारिक ट्रांसपोर्ट पर न जाएं।
मशीन-रीडेबल संदर्भ
- /llms.txt — एजेंट कॉन्टेक्स्ट विंडो के लिए इन नियमों का संक्षिप्त इंडेक्स।
- /openapi/postline.yaml — हर एंडपॉइंट के लिए पूर्ण OpenAPI 3.1 स्कीमा।
- /hi/api/ — मानव-पठनीय API reference।
- /hi/webhooks/ — webhook हस्ताक्षर और पुनः प्रयास विवरण।