Mailgun
आधिकारिकMailgun API के साथ इंटरैक्ट करें।
Mailgun MCP के साथ आप क्या कर सकते हैं?
- ईमेल भेजें — सहायक से चुने हुए भेजने वाले डोमेन और पते से ईमेल भेजने के लिए कहें।
- पते सत्यापित करें — भेजने से पहले
validateसे ईमेल पते के सिंटैक्स और डिलीवर होने की संभावना की जाँच करें। - इनबॉक्स में पहुँच की जाँच करें —
optimizeसे सीड टेस्ट के नतीजे प्राप्त करें और प्रदाता के अनुसार बताएँ कि संदेश कहाँ पहुँचे। - रेंडरिंग का पूर्वावलोकन करें — अलग-अलग क्लाइंट में संदेश कैसा दिखता है, यह देखने के लिए
inspectसे ईमेल पूर्वावलोकन के नतीजे प्राप्त करें। - डिलीवर होने की समस्या की जाँच करें — किसी डोमेन के लिए बाउंस वर्गीकरण के आँकड़ों, सदस्यता रद्द करने और शिकायतों की समीक्षा करें।
- टेम्पलेट और सूचियाँ प्रबंधित करें — सदस्यों सहित ईमेल टेम्पलेट और मेलिंग सूचियाँ बनाएँ या अपडेट करें।
दस्तावेज़
Mailgun MCP Server
अवलोकन
Mailgun के लिए Model Context Protocol (MCP) सर्वर, जो AI एजेंटों को ईमेल भेजने, डिलिवरेबिलिटी की समस्याओं का पता लगाने और खाते से जुड़े कामकाज को प्रबंधित करने के लिए एक व्यावहारिक, वर्कफ़्लो-आधारित इंटरफ़ेस देता है।
[!NOTE] यह MCP सर्वर आपकी मशीन पर स्थानीय रूप से चलता है और stdio के ज़रिए संचार करता है। Mailgun फ़िलहाल इस सर्वर का होस्ट किया गया संस्करण उपलब्ध नहीं कराता।
क्षमताएँ
- मैसेजिंग — ईमेल भेजें, संग्रहीत संदेश प्राप्त करें और संदेश दोबारा भेजें
- डोमेन — डोमेन का विवरण देखें, DNS कॉन्फ़िगरेशन सत्यापित करें और ट्रैकिंग सेटिंग (क्लिक, ओपन, अनसब्सक्राइब) प्रबंधित करें
- वेबहुक — इवेंट वेबहुक की सूची बनाएँ, उन्हें बनाएँ और अपडेट करें
- रूट — आने वाले ईमेल के रूटिंग नियम देखें और अपडेट करें
- मेलिंग सूचियाँ — मेलिंग सूचियाँ और उनके सदस्य बनाएँ, देखें और अपडेट करें
- टेम्पलेट — वर्शनिंग के साथ ईमेल टेम्पलेट बनाएँ, देखें और अपडेट करें
- एनालिटिक्स — भेजने के मेट्रिक्स, उपयोग के मेट्रिक्स और लॉग की क्वेरी करें
- आँकड़े — डोमेन, टैग, प्रोवाइडर, डिवाइस और देश के अनुसार समेकित आँकड़े देखें
- सप्रेशन — बाउंस, अनसब्सक्राइब, शिकायतें और अनुमति-सूची की प्रविष्टियाँ देखें
- IP और IP पूल — IP असाइनमेंट और समर्पित IP पूल कॉन्फ़िगरेशन देखें
- बाउंस वर्गीकरण — बाउंस के प्रकारों और डिलिवरी संबंधी समस्याओं का विश्लेषण करें
- सत्यापन — भेजने से पहले ईमेल पते की डिलिवरेबिलिटी और सिंटैक्स सत्यापित करें (
validate) - Optimize (इनबॉक्स प्लेसमेंट) — डिलिवरेबिलिटी का आकलन करने के लिए इनबॉक्स प्लेसमेंट / सीड टेस्ट के नतीजे प्राप्त करें (
optimize) - Inspect (ईमेल प्रीव्यू) — अलग-अलग क्लाइंट पर ईमेल रेंडरिंग और प्रीव्यू टेस्ट के नतीजे प्राप्त करें (
inspect) - खाते की सीमाएँ — कस्टम मासिक भेजने की सीमाएँ देखें
ऊपर दिए गए लेबल (validate, optimize, inspect) टैग फ़िल्टरिंग में इस्तेमाल होने वाले प्रोडक्ट टैग हैं। बाकी सभी क्षमताएँ send टैग के अंतर्गत रजिस्टर की जाती हैं, जिसे send.<group> टूलसेट में बाँटा गया है।
[!NOTE] टूल केवल पढ़ने और अपडेट करने की कार्रवाइयों तक सीमित हैं — कोई डिलीट कार्रवाई उपलब्ध नहीं है, जिससे अनचाही कार्रवाई का संभावित प्रभाव सीमित रहता है। सुरक्षा संबंधी विचार देखें।
यह कैसे काम करता है
यह सर्वर OpenAPI पर आधारित है। स्टार्टअप के समय यह Mailgun OpenAPI स्पेक को पार्स करता है और एंडपॉइंट की चुनी हुई अनुमति-सूची को MCP टूल के रूप में रजिस्टर करता है। हर टूल का इनपुट स्कीमा स्पेक से (Zod के ज़रिए) बनाया जाता है। हर टूल पर Mailgun का एक प्रोडक्ट टैग (send, validate, optimize, या inspect), उससे संबंधित टूलसेट और यह जानकारी दी जाती है कि वह केवल डेटा पढ़ता है या नहीं।
डिफ़ॉल्ट रूप से, सर्वर स्टार्टअप पर सभी टूल लोड करता है। --tags dynamic के साथ, यह टूल का एक छोटा मुख्य सेट और तीन ऐसे टूल लोड करता है जिनका इस्तेमाल मॉडल ज़रूरत पड़ने पर और टूलसेट लोड करने के लिए करता है। इससे मॉडल को भेजी जाने वाली टूल परिभाषाएँ छोटी रहती हैं। इसके बजाय, टैग फ़िल्टरिंग स्टार्टअप पर टूल का एक तय सेट लोड करती है, ताकि किसी वर्कफ़्लो में ठीक वही प्रोडक्ट उपलब्ध कराए जा सकें जिनकी उसे ज़रूरत है।
आवश्यकताएँ
- Node.js (v20.12 या उससे नया)
- Mailgun खाता और API key
इंस्टॉलेशन
यह सर्वर npm पर @mailgun/mcp-server के रूप में प्रकाशित है और stdio के ज़रिए चलता है। ज़्यादातर क्लाइंट इसे ज़रूरत पड़ने पर npx के साथ लॉन्च कर सकते हैं, इसलिए इसे वैश्विक रूप से इंस्टॉल करने की ज़रूरत नहीं है। नीचे दिए गए हर स्निपेट में, YOUR-mailgun-api-key की जगह अपनी Mailgun API सुरक्षा सेटिंग्स से मिली key डालें।
[!TIP] अगर आपका खाता Mailgun के EU क्षेत्र में होस्ट किया गया है, तो
envब्लॉक में"MAILGUN_API_REGION": "eu"जोड़ें (या CLI पर-e MAILGUN_API_REGION=euजोड़ें)। इसका डिफ़ॉल्ट मानusहै।
Claude Code
claude mcp add mailgun -e MAILGUN_API_KEY=YOUR-mailgun-api-key -- npx -y @mailgun/mcp-server
फिर Claude Code में /mcp चलाकर पुष्टि करें कि mailgun सर्वर कनेक्ट है।
Claude Desktop
Settings → Developer → Edit Config खोलें, या फ़ाइल को सीधे संपादित करें:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"mailgun": {
"command": "npx",
"args": ["-y", "@mailgun/mcp-server"],
"env": {
"MAILGUN_API_KEY": "YOUR-mailgun-api-key",
"MAILGUN_API_REGION": "us"
}
}
}
}
Cursor
कमांड पैलेट खोलें और Cursor Settings → MCP → Add new global MCP server चुनें, फिर यह जोड़ें:
{
"mcpServers": {
"mailgun": {
"command": "npx",
"args": ["-y", "@mailgun/mcp-server"],
"env": {
"MAILGUN_API_KEY": "YOUR-mailgun-api-key"
}
}
}
}
Codex
codex mcp add mailgun \
--env MAILGUN_API_KEY=YOUR-mailgun-api-key \
-- npx -y @mailgun/mcp-server
VS Code (GitHub Copilot)
अपने settings.json में यह जोड़ें:
{
"mcp": {
"servers": {
"mailgun": {
"command": "npx",
"args": ["-y", "@mailgun/mcp-server"],
"env": {
"MAILGUN_API_KEY": "YOUR-mailgun-api-key"
}
}
}
}
}
Windsurf
{
"mcpServers": {
"mailgun": {
"command": "npx",
"args": ["-y", "@mailgun/mcp-server"],
"env": {
"MAILGUN_API_KEY": "YOUR-mailgun-api-key"
}
}
}
}
Gemini CLI
~/.gemini/settings.json में जोड़ें:
{
"mcpServers": {
"mailgun": {
"command": "npx",
"args": ["-y", "@mailgun/mcp-server"],
"env": {
"MAILGUN_API_KEY": "YOUR-mailgun-api-key"
}
}
}
}
कॉन्फ़िगरेशन
पर्यावरण वेरिएबल
| वेरिएबल | आवश्यक | डिफ़ॉल्ट | विवरण |
|---|---|---|---|
MAILGUN_API_KEY | हाँ | — | आपकी Mailgun API key |
MAILGUN_API_REGION | नहीं | us | API क्षेत्र: us या eu |
MAILGUN_API_HOSTNAME | नहीं | (क्षेत्र से निर्धारित) | API होस्टनेम को ओवरराइड करें (उदा. api.eu.mailgun.net)। इसे क्षेत्र पर प्राथमिकता दी जाती है। |
MAILGUN_MCP_TAGS | नहीं | (सभी) | लोड करने के लिए कॉमा से अलग किए गए टैग या टूलसेट, या ज़रूरत पड़ने पर और टूल लोड करने के लिए dynamic। यह --tags के बराबर है। CLI फ़्लैग को प्राथमिकता दी जाती है। |
CLI विकल्प
अपने क्लाइंट के args में पैकेज नाम के बाद फ़्लैग दें (उदा. ["-y", "@mailgun/mcp-server", "--tags", "validate,inspect"])।
| फ़्लैग | विवरण |
|---|---|
--tags <list> | लोड करने के लिए कॉमा से अलग किए गए टैग या टूलसेट (डिफ़ॉल्ट: सभी)। मान्य: all, dynamic, core, send, validate, optimize, inspect, और send.<group> टूलसेट। |
--list-tags | हर मान्य --tags मान का विवरण दिखाकर बाहर निकलें। |
--help, -h | उपयोग की जानकारी दिखाकर बाहर निकलें। |
ज़रूरत पड़ने पर टूलसेट लोड करना
--tags dynamic (या MAILGUN_MCP_TAGS=dynamic) के साथ, सर्वर इन मुख्य टूल के साथ शुरू होता है:
| टूल | उद्देश्य |
|---|---|
post-v3-domain-messages | ईमेल भेजें |
get-v4-domains | डोमेन की सूची बनाएँ |
get-v4-domains-name | डोमेन का विवरण और DNS रिकॉर्ड |
put-v4-domains-name-verify | डोमेन के DNS रिकॉर्ड फिर से जाँचें |
get-v3-domains-name-tracking | ट्रैकिंग सेटिंग |
get_metrics_summary | भेजने के मुख्य मेट्रिक्स का सारांश |
post-v1-analytics-metrics | खाते के मेट्रिक्स की क्वेरी करें |
post-v1-analytics-logs | इवेंट लॉग की क्वेरी करें |
post-v2-bounce-classification-metrics | बाउंस वर्गीकरण मेट्रिक्स |
get-v3-domain-bounces | बाउंस की सूची बनाएँ |
get-v3-domain-bounces-address | बाउंस रिकॉर्ड खोजें |
get-v3-domain-unsubscribes | अनसब्सक्राइब की सूची बनाएँ |
get-v3-domain-complaints | शिकायतों की सूची बनाएँ |
get-v3-domain-templates | टेम्पलेट की सूची बनाएँ |
validate_email | ईमेल पता सत्यापित करें |
हर टूल किसी न किसी टूलसेट का हिस्सा होता है। किसी काम के लिए ज़रूरत पड़ने पर मॉडल बाकी टूलसेट लोड करता है:
| टूलसेट | टूल | सामग्री |
|---|---|---|
send.messages | 3 | ईमेल भेजें; संग्रहीत संदेश प्राप्त करें और दोबारा भेजें |
send.domains | 8 | डोमेन, DNS सत्यापन, भेजने की कतारें, ट्रैकिंग सेटिंग |
send.webhooks | 4 | डोमेन वेबहुक |
send.account | 8 | खाते के IP, समर्पित IP पूल, कस्टम भेजने की सीमाएँ |
send.message_tags | 8 | संदेश टैग, टैग के अनुसार आँकड़े, टैग सीमाएँ |
send.analytics | 12 | आँकड़े और समेकित डेटा, एनालिटिक्स मेट्रिक्स और लॉग, बाउंस वर्गीकरण |
send.suppressions | 8 | बाउंस, अनसब्सक्राइब, शिकायतें, अनुमति-सूची |
send.routes | 3 | आने वाले ईमेल के रूट |
send.lists | 8 | मेलिंग सूचियाँ और सदस्य |
send.templates | 8 | टेम्पलेट और टेम्पलेट वर्शन |
validate | 1 | ईमेल पता सत्यापन |
optimize | 1 | इनबॉक्स प्लेसमेंट टेस्ट के नतीजे |
inspect | 1 | ईमेल प्रीव्यू टेस्ट के नतीजे |
मॉडल तीन अतिरिक्त टूल की मदद से टूलसेट लोड करता है:
mailgun_list_toolsetsहर टूलसेट और उसके टूल की सूची देता है और बताता है कि कौन-से लोड हैं और कौन-से डेटा बदलते हैं। टूल का नाम देने पर, यह उस टूल का इनपुट स्कीमा लौटाता है।mailgun_enable_toolsetएक या अधिक टूलसेट लोड करता है। इसके बाद सर्वर क्लाइंट को सूचित करता है कि उसकी टूल सूची बदल गई है (notifications/tools/list_changed), और नए टूल मुख्य टूल के साथ दिखाई देते हैं। जवाब में नए टूल की सूची उनके इनपुट स्कीमा के बिना होती है; स्कीमा अपडेट की गई टूल सूची के साथ आते हैं।mailgun_call_toolनाम से केवल-पढ़ने वाला टूल चलाता है, चाहे उसका टूलसेट लोड हो या नहीं। यह उन क्लाइंट के लिए वैकल्पिक तरीका है जो बदलाव के बाद अपनी टूल सूची रीफ़्रेश नहीं करते। यह मुख्य टूल और डेटा बदलने वाले टूल चलाने से मना करता है, इसलिए वे हमेशा अपने अलग टूल कॉल के रूप में चलते हैं।
लोड किए गए टूलसेट क्लाइंट के डिस्कनेक्ट होने तक उपलब्ध रहते हैं। ज़रूरत पड़ने पर टूल लोड करने के लिए ऐसा क्लाइंट चाहिए जो सर्वर द्वारा बदलाव की सूचना दिए जाने पर अपनी टूल सूची रीफ़्रेश करे; Claude Code ऐसा करता है। जो क्लाइंट ऐसा नहीं करते, उनमें नए लोड किए गए टूल दिखाई नहीं देंगे: केवल-पढ़ने वाले टूल फिर भी mailgun_call_tool के ज़रिए काम करते हैं, जबकि डेटा बदलने वाले टूल के लिए डिफ़ॉल्ट (सभी टूल) या --tags चाहिए, उदाहरण के लिए --tags core,send.templates।
टैग फ़िल्टरिंग
--tags या MAILGUN_MCP_TAGS को dynamic के अलावा किसी भी मान पर सेट करने से, लोडिंग टूल के बिना, स्टार्टअप पर केवल मेल खाने वाले टूल लोड होते हैं। इसका उपयोग मॉडल को दिखाए जाने वाले टूल सीमित करने के लिए करें (उदाहरण के लिए, ऐसे वर्कफ़्लो के लिए केवल सत्यापन टूल, जिसमें ईमेल नहीं भेजा जाता)।
मान्य मान (विवरण के लिए --list-tags चलाएँ):
all— हर टूल (डिफ़ॉल्ट)dynamic— मुख्य टूल, और बाकी टूलसेट ज़रूरत पड़ने पर लोड किए जाते हैं। इसे अकेले इस्तेमाल करें; इसे अन्य मानों के साथ मिलाने पर स्टार्टअप विफल हो जाता है।core— केवल ऊपर सूचीबद्ध मुख्य टूलsend,validate,optimize,inspect— उस प्रोडक्ट के सभी टूल (sendमें हरsend.<group>टूलसेट शामिल है)- टूलसेट ID, जैसे
send.templates
फ़िल्टरिंग में OR semantics का इस्तेमाल होता है: सूची में दिए गए किसी भी मान से मेल खाने पर टूल लोड होता है। उदाहरण के लिए, core,send.templates मुख्य टूल और हर टेम्पलेट टूल लोड करता है।
CLI फ़्लैग के ज़रिए — अपने MCP क्लाइंट कॉन्फ़िगरेशन के args में --tags दें:
{
"mcpServers": {
"mailgun": {
"command": "npx",
"args": ["-y", "@mailgun/mcp-server", "--tags", "validate,inspect"],
"env": {
"MAILGUN_API_KEY": "YOUR-mailgun-api-key"
}
}
}
}
पर्यावरण वेरिएबल के ज़रिए — MAILGUN_MCP_TAGS सेट करें (दोनों मौजूद होने पर CLI फ़्लैग को प्राथमिकता दी जाती है):
"env": {
"MAILGUN_API_KEY": "YOUR-mailgun-api-key",
"MAILGUN_MCP_TAGS": "validate,inspect"
}
[!TIP] हर मान्य मान प्रिंट करने के लिए बाइनरी को
--list-tagsके साथ चलाएँ, या पूरी उपयोग जानकारी के लिए--helpके साथ चलाएँ। अज्ञात मानों को स्टार्टअप पर स्पष्ट त्रुटि संदेश के साथ अस्वीकार कर दिया जाता है।
नमूना प्रॉम्प्ट
ईमेल भेजें
Can you send an email to EMAIL_HERE with a funny email body that makes it sound
like it's from the IT Desk from Office Space? Please use the sending domain
DOMAIN_HERE, and make the email from "postmaster@DOMAIN_HERE"!
[!NOTE] कुछ MCP क्लाइंट को डेटा भेजने वाले टूल चलाने के लिए सशुल्क प्लान की आवश्यकता होती है। अगर भेजना बिना किसी सूचना के विफल हो जाए, तो अपने क्लाइंट का प्लान जाँचें।
भेजने के आँकड़े प्राप्त करें और विज़ुअलाइज़ करें
Would you be able to make a chart with email delivery statistics for the past week?
टेम्पलेट प्रबंधित करें
Create a welcome email template for new signups on my domain DOMAIN_HERE.
Include a personalized greeting and a call-to-action button.
डिलिवरेबिलिटी की जाँच करें
Can you check the bounce classification stats for my account and tell me
what the most common bounce reasons are?
DNS समस्याओं का निवारण करें
Check the DNS verification status for my domain DOMAIN_HERE and tell me
if anything needs fixing.
सप्रेशन की समीक्षा करें
Are there any unsubscribes or complaints for DOMAIN_HERE? Summarize the
top offenders.
रूटिंग नियम प्रबंधित करें
List all my inbound routes and explain what each one does.
मेलिंग सूची बनाएँ
Create a mailing list called announcements@DOMAIN_HERE and add these
members: alice@example.com, bob@example.com.
डोमेन की तुलना करें
Compare my sending volume and delivery rates across all my domains for
the past month.
क्षेत्र के अनुसार सहभागिता
Break down my email engagement by country and device for DOMAIN_HERE.
ट्रैकिंग सेटिंग की समीक्षा करें
List all my domains and show which ones have tracking enabled for clicks
and opens.
ईमेल पते की पुष्टि करें
Validate the email address EMAIL_HERE and tell me whether it's safe to send to.
इनबॉक्स प्लेसमेंट जाँचें (Optimize)
Pull the inbox placement results for seed test RESULT_ID_HERE and summarize
where my message landed (inbox, spam, or missing) by provider.
ईमेल का पूर्वावलोकन करें (Inspect)
Get the email preview results for test TEST_ID_HERE and tell me if the email
renders correctly across clients.
विकास
स्रोत से चलाएँ
सर्वर TypeScript में लिखा गया है। क्लोन करें, इंस्टॉल करें, बिल्ड करें और परीक्षण करें:
git clone https://github.com/mailgun/mailgun-mcp-server.git
cd mailgun-mcp-server
npm install
npm run build
npm test
npm run build src/ को dist/ में कंपाइल करता है और बंडल किए गए OpenAPI स्पेक की कॉपी बनाता है। अपने MCP क्लाइंट को npx के बजाय बिल्ड किए गए एंट्री पर इंगित करें (पूर्ण पथ का उपयोग करें):
{
"mcpServers": {
"mailgun": {
"command": "node",
"args": ["/absolute/path/to/mailgun-mcp-server/dist/mailgun-mcp.js"],
"env": {
"MAILGUN_API_KEY": "YOUR-mailgun-api-key"
}
}
}
}
संपादन के दौरान लाइव परीक्षण
MCP सर्वर लंबे समय तक चलने वाली stdio प्रक्रियाएँ हैं, जो हॉट-रीलोड नहीं होतीं। इसलिए प्रक्रिया यह है: सेव करने पर फिर से बिल्ड करें, फिर बदलाव लागू करने के लिए क्लाइंट को दोबारा कनेक्ट करें।
-
npm run buildएक बार चलाएँ, ताकिdist/openapi.yamlमौजूद हो। -
हर सेव पर
dist/को फिर से बिल्ड करने के लिए TypeScript कंपाइलर चालू रखें:npx tsc --watch -
किसी अलग MCP क्लाइंट (या नीचे दिए गए MCP Inspector) को
dist/mailgun-mcp.jsपर इंगित करें। बदलाव के बाद नया बिल्ड लोड करने के लिए MCP क्लाइंट सत्र को रीस्टार्ट करें।
MCP Inspector से परीक्षण
MCP Inspector आपको पूर्ण क्लाइंट के बिना टूल आज़माने देता है। पहले बिल्ड करें, फिर इसे बिल्ड किए गए सर्वर के साथ लॉन्च करें:
npm run build
MAILGUN_API_KEY=YOUR-mailgun-api-key npx @modelcontextprotocol/inspector node dist/mailgun-mcp.js
Inspector UI खोलें, Connect पर क्लिक करें, फिर सर्वर के काम करने की पुष्टि के लिए List Tools का उपयोग करें। फ़िल्टर किए गए टूलसेट का परीक्षण करने के लिए, सर्वर पथ के बाद फ़्लैग जोड़ें:
MAILGUN_API_KEY=YOUR-mailgun-api-key npx @modelcontextprotocol/inspector node dist/mailgun-mcp.js --tags validate,inspect
प्री-कमिट हुक
npm install एक git प्री-कमिट हुक (husky के माध्यम से) इंस्टॉल करता है, जो स्टेज की गई TypeScript/JavaScript फ़ाइलों पर oxlint --fix और oxfmt चलाता है और npm run check:versions भी चलाता है। जिन समस्याओं को ठीक किया जा सकता है, उन्हें अपने-आप ठीक करके फिर से स्टेज किया जाता है; ऐसे कमिट अस्वीकार कर दिए जाते हैं जिनसे ठीक न हो सकने वाली lint त्रुटियाँ या संस्करण-सिंक में विसंगतियाँ आती हैं। अगर इस बदलाव से पहले आपके पास स्थानीय क्लोन था, तो हुक इंस्टॉल करने के लिए एक बार npm install चलाएँ।
एंडपॉइंट जोड़ने पर ध्यान दें
एंडपॉइंट को endpointGroups में टूलसेट के अनुसार समूहित किया जाता है। साधारण स्ट्रिंग एंट्री अपने टूलसेट से प्रोडक्ट टैग लेती है (send.templates → send) और उसे केवल तभी रीड-ओनली माना जाता है, जब वह GET हो। टूल का नाम सेट करने, किसी टूल को core (डायनेमिक मोड में स्टार्टअप पर लोड किया जाता है) के रूप में चिह्नित करने, या केवल डेटा क्वेरी करने वाले POST को readOnly: true के रूप में चिह्नित करने के लिए EndpointEntry का ऑब्जेक्ट फ़ॉर्म इस्तेमाल करें।
सुरक्षा संबंधी विचार
API कुंजी का पृथक्करण
आपकी Mailgun API कुंजी को पर्यावरण चर के रूप में पास किया जाता है और यह AI मॉडल के सामने कभी उजागर नहीं होती—इसका उपयोग केवल MCP सर्वर प्रक्रिया अनुरोधों को प्रमाणित करने के लिए करती है। सर्वर API कुंजियाँ, अनुरोध पैरामीटर या प्रतिक्रिया डेटा लॉग नहीं करता।
स्थानीय निष्पादन
सर्वर आपकी मशीन पर स्थानीय रूप से चलता है। Mailgun API के साथ सभी संचार HTTPS पर होते हैं और TLS प्रमाणपत्र सत्यापन लागू होता है। Mailgun API के अलावा किसी तृतीय-पक्ष सेवा को कोई डेटा नहीं भेजा जाता।
API कुंजी की अनुमतियाँ
ऐसी समर्पित Mailgun API कुंजी का उपयोग करें जिसकी अनुमतियाँ केवल उन कार्रवाइयों तक सीमित हों जिनकी आपको आवश्यकता है। सर्वर पढ़ने और अपडेट करने की कार्रवाइयाँ उपलब्ध कराता है, लेकिन हटाने की कोई कार्रवाई उपलब्ध नहीं कराता। इससे अनचाही कार्रवाइयों का संभावित प्रभाव सीमित रहता है।
दर सीमित करना
सर्वर क्लाइंट-साइड दर सीमित करने की सुविधा लागू नहीं करता। AI की ओर से किया गया हर टूल कॉल सीधे Mailgun API अनुरोध में बदल जाता है। दुरुपयोग रोकने के लिए सर्वर Mailgun की सर्वर-साइड दर सीमाओं पर निर्भर करता है—इन सीमाओं से अधिक अनुरोध AI सहायक को त्रुटि लौटाएँगे।
प्रॉम्प्ट इंजेक्शन
किसी भी MCP सर्वर की तरह, तैयार किया गया या दुर्भावनापूर्ण प्रॉम्प्ट AI सहायक को ऐसे ऑपरेशन करने के लिए बहका सकता है जिनका आपका इरादा नहीं था—उदाहरण के लिए, ट्रैकिंग सेटिंग बदलना या मेलिंग सूची के सदस्यों को पढ़ना। कार्रवाइयों को मंज़ूरी देने से पहले अपने AI सहायक के टूल-कॉल पुष्टिकरणों की समीक्षा करें, खासकर अविश्वसनीय प्रॉम्प्ट वाले संदर्भों में।
टूल लोड करना और अनुमोदन
हर टूल पर MCP readOnlyHint एनोटेशन होता है, जिससे क्लाइंट केवल डेटा पढ़ने वाले टूल और डेटा बदलने वाले टूल में अंतर कर सकते हैं (उदाहरण के लिए, अनुमोदन माँगते समय)। mailgun_list_toolsets और mailgun_call_tool केवल पढ़ने के लिए हैं। mailgun_enable_toolset यह बदलता है कि सत्र को कौन-से टूल दिखाई देते हैं, इसलिए इसे रीड-ओनली के रूप में चिह्नित नहीं किया गया है, लेकिन यह Mailgun में कोई बदलाव नहीं करता। mailgun_call_tool केवल ऐसे रीड-ओनली टूल चलाता है जो कोर सेट में नहीं हैं, इसलिए इसे मंज़ूरी देने से कभी ईमेल नहीं भेजा जा सकता और न ही खाता सेटिंग बदली जा सकती हैं। डेटा बदलने वाले टूल हमेशा अपने अलग टूल कॉल के रूप में चलते हैं।
माँग पर टूलसेट लोड करने से मॉडल को दिखाई देने वाली जानकारी कम होती है; यह एक्सेस कंट्रोल नहीं है, क्योंकि मॉडल कोई भी टूलसेट लोड कर सकता है। सर्वर द्वारा उपलब्ध कराए जाने वाले टूल सीमित करने के लिए --tags का उपयोग करें।
Webhook URL
Webhook बनाने और अपडेट करने की कार्रवाइयाँ AI सहायक के माध्यम से दिए गए मनमाने URL स्वीकार करती हैं। MCP सर्वर इन URL को बिना किसी अतिरिक्त सत्यापन के Mailgun API को भेजता है। Webhook गंतव्यों का सत्यापन Mailgun करता है। सुनिश्चित करें कि आपका AI सहायक webhook URL को अनचाहे आंतरिक या संवेदनशील पतों पर सेट न करे।
इनपुट सत्यापन
सभी टूल पैरामीटर को Zod स्कीमा का उपयोग करके Mailgun OpenAPI स्पेसिफ़िकेशन के विरुद्ध सत्यापित किया जाता है। हालाँकि, सत्यापन OpenAPI स्पेक की सटीकता पर निर्भर करता है और कुछ विशेष मामलों के पैरामीटर के लिए उदार सत्यापन अपनाया जा सकता है। सुरक्षा की एक अतिरिक्त परत के रूप में Mailgun API अपना सर्वर-साइड सत्यापन भी करता है।
डीबगिंग
MCP सर्वर stdio के माध्यम से संचार करता है। समस्या निवारण के लिए MCP Debugging Guide देखें।
लाइसेंस
Apache 2.0 — विवरण के लिए LICENSE देखें।
योगदान
हम योगदान का स्वागत करते हैं! कृपया Pull Request सबमिट करें या Issue खोलें।