Mailgun
ทางการโต้ตอบกับ Mailgun API
คุณทำอะไรได้บ้างด้วย Mailgun MCP?
- ส่งอีเมล — ให้ผู้ช่วยของคุณส่งอีเมลธุรกรรมหรือการตลาดผ่านโดเมน Mailgun ของคุณ
- ตรวจสอบที่อยู่ — ตรวจสอบไวยากรณ์ของที่อยู่อีเมลและความเสี่ยงในการจัดส่งก่อนส่งด้วย
validate - วินิจฉัยการจัดส่ง — ดึงข้อมูลการจำแนกประเภทการตีกลับ ผลการทดสอบตำแหน่งในกล่องจดหมาย (
optimize) และตัวอย่างอีเมลข้ามไคลเอนต์ (inspect) - จัดการโดเมนและ DNS — ตรวจสอบการกำหนดค่า DNS ของโดเมน และเปิด/ปิดการตั้งค่าการติดตามการคลิก การเปิด และการยกเลิกการสมัคร
- สอบถามข้อมูลวิเคราะห์และสถิติ — ดึงข้อมูลเมตริกการส่ง สถิติการใช้งาน และมุมมองรวมตามโดเมน แท็ก ผู้ให้บริการ อุปกรณ์ หรือประเทศ
- จัดการเทมเพลต รายการ เส้นทาง และเว็บฮุค — สร้างหรืออัปเดตเทมเพลตอีเมล รายชื่ออีเมลและสมาชิก เส้นทางขาเข้า และเว็บฮุคเหตุการณ์
เอกสาร
Mailgun MCP Server
ภาพรวม
เซิร์ฟเวอร์ Model Context Protocol (MCP) สำหรับ Mailgun ที่มอบอินเทอร์เฟซที่เน้นเวิร์กโฟลว์ให้แก่เอเจนต์ AI สำหรับการส่งอีเมล วินิจฉัยความสามารถในการส่ง และจัดการการดำเนินงานของบัญชี
[!NOTE] เซิร์ฟเวอร์ MCP นี้ทำงานภายในเครื่องของคุณและสื่อสารผ่าน stdio ปัจจุบัน Mailgun ไม่มีเวอร์ชันโฮสต์ของเซิร์ฟเวอร์นี้
ความสามารถ
- การส่งข้อความ — ส่งอีเมล, ดึงข้อความที่เก็บไว้, ส่งข้อความซ้ำ
- โดเมน — ดูรายละเอียดโดเมน, ตรวจสอบการกำหนดค่า DNS, จัดการการตั้งค่าการติดตาม (การคลิก, การเปิด, การยกเลิกการสมัคร)
- Webhooks — แสดงรายการ, สร้าง และอัปเดต event webhooks
- เส้นทาง — ดูและอัปเดตกฎการกำหนดเส้นทางอีเมลขาเข้า
- รายชื่อผู้รับจดหมาย — สร้าง, ดู และอัปเดตรายชื่อผู้รับจดหมายและสมาชิก
- เทมเพลต — สร้าง, ดู และอัปเดตเทมเพลตอีเมลพร้อมการกำหนดเวอร์ชัน
- การวิเคราะห์ — สอบถามเมตริกการส่ง, เมตริกการใช้งาน และบันทึก
- สถิติ — ดูสถิติรวมตามโดเมน, แท็ก, ผู้ให้บริการ, อุปกรณ์ และประเทศ
- การระงับ — ดูการตีกลับ, การยกเลิกการสมัคร, การร้องเรียน และรายการที่อนุญาต
- IP และ IP Pools — ดูการกำหนด IP และการกำหนดค่า IP pool เฉพาะ
- การจำแนกประเภทการตีกลับ — วิเคราะห์ประเภทการตีกลับและปัญหาการส่ง
- การตรวจสอบ — ตรวจสอบความสามารถในการส่งและไวยากรณ์ของที่อยู่อีเมลก่อนส่ง (
validate) - Optimize (Inbox Placement) — ดึงผลการทดสอบ inbox placement / seed test เพื่อประเมินความสามารถในการส่ง (
optimize) - Inspect (Email Preview) — ดึงผลการทดสอบการแสดงผลและตัวอย่างอีเมลในไคลเอนต์ต่างๆ (
inspect) - ขีดจำกัดของบัญชี — ดูขีดจำกัดการส่งรายเดือนที่กำหนดเอง
ป้ายกำกับในวงเล็บด้านบน (validate, optimize, inspect) คือแท็กผลิตภัณฑ์ที่ใช้โดย การกรองแท็ก ความสามารถอื่นๆ ทั้งหมดลงทะเบียนภายใต้แท็ก send
[!NOTE] เครื่องมือถูกจำกัดไว้ที่การดำเนินการอ่านและอัปเดต — ไม่มีการดำเนินการลบใดๆ ซึ่งช่วยลดขอบเขตความเสียหายจากการกระทำที่ไม่ได้ตั้งใจ ดู ข้อควรพิจารณาด้านความปลอดภัย
วิธีการทำงาน
เซิร์ฟเวอร์ขับเคลื่อนด้วย OpenAPI เมื่อเริ่มต้นระบบจะแยกวิเคราะห์สเปก Mailgun OpenAPI ที่รวมมาและลงทะเบียนรายการปลายทางที่อนุญาตเป็นเครื่องมือ MCP โดยสร้างสคีมาอินพุตของแต่ละเครื่องมือ (ผ่าน Zod) จากสเปก เครื่องมือทุกตัวมีคำอธิบายประกอบด้วยแท็กผลิตภัณฑ์ Mailgun (send, validate, optimize, หรือ inspect) เครื่องมือที่ตรงกันทั้งหมดจะถูกลงทะเบียนล่วงหน้า — ไม่มีการโหลดแบบ Lazy หรือตามความต้องการ การกรองแท็ก จะถูกใช้เมื่อเริ่มต้นระบบเพื่อกำหนดขอบเขตว่าเครื่องมือ ใด จะถูกลงทะเบียน เพื่อให้เวิร์กโฟลว์ที่กำหนดสามารถเปิดเผยเฉพาะผลิตภัณฑ์ที่ต้องการ
ข้อกำหนดเบื้องต้น
- Node.js (v20.12 หรือสูงกว่า)
- บัญชี Mailgun และ API key
การติดตั้ง
เซิร์ฟเวอร์ถูกเผยแพร่ไปยัง npm ในชื่อ @mailgun/mcp-server และทำงานผ่าน stdio ไคลเอนต์ส่วนใหญ่สามารถเปิดใช้งานได้ตามต้องการด้วย npx ดังนั้นจึงไม่จำเป็นต้องติดตั้งแบบโกลบอล ในแต่ละตัวอย่างด้านล่าง ให้แทนที่ YOUR-mailgun-api-key ด้วยคีย์จาก การตั้งค่าความปลอดภัย Mailgun API ของคุณ
[!TIP] หากบัญชีของคุณโฮสต์อยู่ในภูมิภาค EU ของ Mailgun ให้เพิ่ม
"MAILGUN_API_REGION": "eu"ลงในบล็อกenv(หรือ-e MAILGUN_API_REGION=euบน CLI) ค่าเริ่มต้นคือus
Claude Code
claude mcp add mailgun -e MAILGUN_API_KEY=YOUR-mailgun-api-key -- npx -y @mailgun/mcp-server
จากนั้นรัน /mcp ใน Claude Code เพื่อยืนยันว่าเซิร์ฟเวอร์ 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
เปิด command palette และเลือก 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 | ไม่ | (ทั้งหมด) | แท็กผลิตภัณฑ์ที่คั่นด้วยเครื่องหมายจุลภาคเพื่อเปิดใช้งาน เทียบเท่ากับ --tags แฟล็ก CLI มีความสำคัญกว่า |
ตัวเลือก CLI
ส่งแฟล็กหลังชื่อแพ็คเกจใน args ของไคลเอนต์ของคุณ (เช่น ["-y", "@mailgun/mcp-server", "--tags", "validate,inspect"])
| แฟล็ก | คำอธิบาย |
|---|---|
--tags <list> | แท็กผลิตภัณฑ์ที่คั่นด้วยเครื่องหมายจุลภาคเพื่อเปิดใช้งาน (ค่าเริ่มต้น: ทั้งหมด) ค่าที่ใช้ได้: send, validate, optimize, inspect |
--list-tags | พิมพ์ค่าแท็กที่ใช้ได้และออก |
--help, -h | แสดงวิธีใช้และออก |
การกรองแท็ก
คุณสามารถกำหนดขอบเขตเครื่องมือที่เซิร์ฟเวอร์ลงทะเบียนให้เป็นแท็กผลิตภัณฑ์ Mailgun หนึ่งรายการขึ้นไป สิ่งนี้มีประโยชน์สำหรับการจำกัดชุดเครื่องมือที่แสดงต่อโมเดล — ตัวอย่างเช่น การเปิดเผยเฉพาะเครื่องมือตรวจสอบไปยังเวิร์กโฟลว์ที่ไม่ต้องการความสามารถในการส่ง
แท็กที่ใช้ได้: send, validate, optimize, inspect เมื่อไม่ได้ระบุ เครื่องมือทุกตัวจะถูกลงทะเบียน (ค่าเริ่มต้นปัจจุบัน)
การกรองใช้ ความหมายแบบ OR: เครื่องมือจะถูกลงทะเบียนหากแท็กใดๆ ของมันปรากฏในชุดที่ใช้งานอยู่
ผ่านแฟล็ก CLI — ส่ง --tags ใน args ของการกำหนดค่าไคลเอนต์ MCP ของคุณ:
{
"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.
ตรวจสอบ Inbox Placement (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พร้อมใช้งาน -
ให้คอมไพเลอร์ TypeScript ทำงานต่อไปเพื่อบิลด์
dist/ใหม่ทุกครั้งที่บันทึก: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
เปิด UI ของ Inspector คลิก Connect จากนั้นใช้ List Tools เพื่อตรวจสอบว่าเซิร์ฟเวอร์ทำงานอยู่ หากต้องการทดสอบชุดเครื่องมือที่กรองแล้ว ให้เพิ่มแฟล็กหลังพาธเซิร์ฟเวอร์:
MAILGUN_API_KEY=YOUR-mailgun-api-key npx @modelcontextprotocol/inspector node dist/mailgun-mcp.js --tags validate,inspect
Pre-commit hooks
npm install ติดตั้ง git pre-commit hook (ผ่าน husky) ที่รัน oxlint --fix และ oxfmt บนไฟล์ TypeScript/JavaScript ที่ staged และรัน npm run check:versions ปัญหาที่แก้ไขได้จะถูกแก้ไขอัตโนมัติและ staged ใหม่; คอมมิตที่ทำให้เกิดข้อผิดพลาด lint ที่แก้ไขไม่ได้หรือความไม่ตรงกันของเวอร์ชันซิงค์จะถูกปฏิเสธ หากคุณมีโคลนภายในเครื่องอยู่แล้วก่อนการเปลี่ยนแปลงนี้ ให้รัน npm install หนึ่งครั้งเพื่อติดตั้ง hook
หมายเหตุเกี่ยวกับการเพิ่ม endpoints
เมื่อเพิ่ม endpoint ใหม่ หากคุณใช้สตริงธรรมดาสำหรับคำจำกัดความของมัน ค่าเริ่มต้นจะถูกแท็กด้วยประเภทผลิตภัณฑ์ send ในฟิลด์ _meta หากคุณต้องการแท็กเป็นผลิตภัณฑ์อื่น ให้ใช้เวอร์ชันอ็อบเจกต์ของประเภท EndpointEntry
ข้อควรพิจารณาด้านความปลอดภัย
การแยก API key
Mailgun API key ของคุณถูกส่งเป็นตัวแปรสภาพแวดล้อมและไม่เคยถูกเปิดเผยต่อโมเดล AI เอง — มันถูกใช้โดยกระบวนการเซิร์ฟเวอร์ MCP เพื่อตรวจสอบสิทธิ์คำขอเท่านั้น เซิร์ฟเวอร์ไม่บันทึก API key, พารามิเตอร์คำขอ หรือข้อมูลการตอบสนอง
การดำเนินการภายในเครื่อง
เซิร์ฟเวอร์ทำงานภายในเครื่องของคุณ การสื่อสารทั้งหมดกับ Mailgun API ผ่าน HTTPS โดยบังคับใช้การตรวจสอบใบรับรอง TLS ไม่มีข้อมูลถูกส่งไปยังบริการของบุคคลที่สามนอกเหนือจาก Mailgun API
สิทธิ์ของ API key
ใช้ Mailgun API key เฉพาะที่มีสิทธิ์จำกัดเฉพาะการดำเนินการที่คุณต้องการ เซิร์ฟเวอร์เปิดเผยการดำเนินการอ่านและอัปเดต แต่ไม่เปิดเผยการดำเนินการลบใดๆ ซึ่งจำกัดขอบเขตความเสียหายจากการกระทำที่ไม่ได้ตั้งใจ
การจำกัดอัตรา
เซิร์ฟเวอร์ไม่ได้ใช้การจำกัดอัตราฝั่งไคลเอนต์ การเรียกใช้เครื่องมือแต่ละครั้งจาก AI จะแปลเป็นคำขอ Mailgun API โดยตรง เซิร์ฟเวอร์อาศัยการจำกัดอัตราฝั่งเซิร์ฟเวอร์ของ Mailgun เพื่อป้องกันการละเมิด — คำขอที่เกินขีดจำกัดเหล่านั้นจะส่งคืนข้อผิดพลาดไปยังผู้ช่วย AI
การแทรกพร้อมท์
เช่นเดียวกับเซิร์ฟเวอร์ MCP ใดๆ พร้อมท์ที่สร้างขึ้นหรือเป็นปฏิปักษ์อาจหลอกให้ผู้ช่วย AI เรียกใช้การดำเนินการที่คุณไม่ได้ตั้งใจ — ตัวอย่างเช่น การแก้ไขการตั้งค่าการติดตามหรือการอ่านสมาชิกรายชื่อผู้รับจดหมาย ตรวจสอบการยืนยันการเรียกใช้เครื่องมือของผู้ช่วย AI ของคุณก่อนอนุมัติการกระทำ โดยเฉพาะอย่างยิ่งในบริบทพร้อมท์ที่ไม่น่าเชื่อถือ
URL ของ Webhook
การดำเนินการสร้างและอัปเดต Webhook ยอมรับ URL ตามอำเภอใจที่ให้มาผ่านผู้ช่วย AI เซิร์ฟเวอร์ MCP ส่ง URL เหล่านี้ไปยัง Mailgun API โดยไม่มีการตรวจสอบเพิ่มเติม Mailgun รับผิดชอบในการตรวจสอบปลายทางของ webhook ตรวจสอบให้แน่ใจว่าผู้ช่วย AI ของคุณไม่ได้ตั้งค่า URL ของ webhook ไปยังที่อยู่ภายในหรือที่อยู่ที่ละเอียดอ่อนโดยไม่ได้ตั้งใจ
การตรวจสอบอินพุต
พารามิเตอร์เครื่องมือทั้งหมดถูกตรวจสอบกับสเปก Mailgun OpenAPI โดยใช้สคีมา Zod อย่างไรก็ตาม การตรวจสอบขึ้นอยู่กับความถูกต้องของสเปก OpenAPI และพารามิเตอร์บางกรณีอาจใช้การตรวจสอบแบบผ่อนปรน Mailgun API ดำเนินการตรวจสอบฝั่งเซิร์ฟเวอร์ของตัวเองเป็นชั้นการป้องกันเพิ่มเติม
การดีบัก
เซิร์ฟเวอร์ MCP สื่อสารผ่าน stdio อ้างอิง MCP Debugging Guide สำหรับการแก้ไขปัญหา
ใบอนุญาต
Apache 2.0 — ดู LICENSE สำหรับรายละเอียด
การมีส่วนร่วม
เรายินดีรับการมีส่วนร่วม! โปรดส่ง Pull Request หรือเปิด Issue ได้ตามสบาย