Mailgun MCP Server

ทางการ

โต้ตอบกับ Mailgun API

เอกสาร

Mailgun MCP Server

MCP

ภาพรวม

เซิร์ฟเวอร์ Model Context Protocol (MCP) สำหรับ Mailgun ที่มอบอินเทอร์เฟซที่เน้นขั้นตอนการทำงานให้แก่เอเจนต์ AI เพื่อส่งอีเมล วินิจฉัยความสามารถในการส่ง และจัดการการดำเนินงานของบัญชี

หมายเหตุ: เซิร์ฟเวอร์ MCP นี้ทำงานภายในเครื่องของคุณ ปัจจุบัน Mailgun ไม่มีเวอร์ชันโฮสต์ของเซิร์ฟเวอร์นี้

ความสามารถ

  • การส่งข้อความ — ส่งอีเมล ดึงข้อความที่เก็บไว้ ส่งข้อความซ้ำ
  • โดเมน — ดูรายละเอียดโดเมน ตรวจสอบการกำหนดค่า DNS จัดการการตั้งค่าการติดตาม (การคลิก การเปิด การยกเลิกการสมัคร)
  • Webhooks — แสดงรายการ สร้าง อัปเดต และลบ webhooks เหตุการณ์
  • เส้นทาง — ดูและอัปเดตกฎการกำหนดเส้นทางอีเมลขาเข้า
  • รายชื่อผู้รับจดหมาย — สร้างและจัดการรายชื่อผู้รับจดหมายและสมาชิก
  • เทมเพลต — สร้างและจัดการเทมเพลตอีเมลพร้อมการกำหนดเวอร์ชัน
  • การวิเคราะห์ — สอบถามเมตริกการส่ง เมตริกการใช้งาน และบันทึก
  • สถิติ — ดูสถิติรวมตามโดเมน แท็ก ผู้ให้บริการ อุปกรณ์ และประเทศ
  • การระงับ — ดูการตีกลับ การยกเลิกการสมัคร ข้อร้องเรียน และรายการที่อนุญาต
  • IP และกลุ่ม IP — ดูการกำหนด IP และการกำหนดค่ากลุ่ม IP เฉพาะ
  • การจำแนกประเภทการตีกลับ — วิเคราะห์ประเภทการตีกลับและปัญหาการส่ง

ข้อกำหนดเบื้องต้น

  • Node.js (v20.12 หรือสูงกว่า)
  • บัญชี Mailgun และคีย์ API

เริ่มต้นอย่างรวดเร็ว

การกำหนดค่า

เพิ่มสิ่งต่อไปนี้ในการกำหนดค่าไคลเอนต์ MCP ของคุณ:

{
  "mcpServers": {
    "mailgun": {
      "command": "npx",
      "args": ["-y", "@mailgun/mcp-server"],
      "env": {
        "MAILGUN_API_KEY": "YOUR-mailgun-api-key",
        "MAILGUN_API_REGION": "us"
      }
    }
  }
}

ตัวแปรสภาพแวดล้อม

ตัวแปรจำเป็นค่าเริ่มต้นคำอธิบาย
MAILGUN_API_KEYใช่คีย์ API Mailgun ของคุณ
MAILGUN_API_REGIONไม่usภูมิภาค API: us หรือ eu
MAILGUN_MCP_TAGSไม่(ทั้งหมด)แท็กผลิตภัณฑ์ที่คั่นด้วยเครื่องหมายจุลภาคเพื่อเปิดใช้งาน เทียบเท่ากับ --tags แฟล็ก CLI มีลำดับความสำคัญสูงกว่า

การกรองแท็ก

คุณสามารถกำหนดขอบเขตเครื่องมือที่เซิร์ฟเวอร์ลงทะเบียนให้กับแท็กผลิตภัณฑ์ 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"
}

ความสามารถในการค้นพบ — รันไบนารีด้วย --list-tags เพื่อพิมพ์ค่าแท็กที่รองรับ หรือ --help สำหรับการใช้งานเต็มรูปแบบ แท็กที่ไม่รู้จักจะถูกปฏิเสธเมื่อเริ่มต้นพร้อมข้อความแสดงข้อผิดพลาดที่ชัดเจน

เส้นทางการกำหนดค่าเฉพาะไคลเอนต์

  • Claude Desktop (macOS): ~/Library/Application Support/Claude/claude_desktop_config.json
  • Claude Desktop (Windows): %APPDATA%/Claude/claude_desktop_config.json
  • Claude Code: รัน claude mcp add หรือแก้ไข ~/.claude.json

ตัวอย่างพร้อมท์

ส่งอีเมล

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"!

หมายเหตุ: ไคลเอนต์ 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: [email protected], [email protected].

เปรียบเทียบโดเมน

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.

การพัฒนา

ในการรันจากซอร์สโค้ด ให้โคลนที่เก็บและใช้ node โดยตรง:

git clone https://github.com/mailgun/mailgun-mcp-server.git
cd mailgun-mcp-server
npm install
npm test

ในการกำหนดค่าไคลเอนต์ MCP ของคุณ ให้แทนที่คำสั่ง npx ด้วย:

"command": "node",
"args": ["/path/to/mailgun-mcp-server/src/mailgun-mcp.js"]

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

คีย์ API Mailgun ของคุณถูกส่งเป็นตัวแปรสภาพแวดล้อมและไม่เคยถูกเปิดเผยต่อโมเดล AI เอง — มันถูกใช้โดยกระบวนการเซิร์ฟเวอร์ MCP เพื่อตรวจสอบสิทธิ์คำขอเท่านั้น เซิร์ฟเวอร์ไม่บันทึกคีย์ API พารามิเตอร์คำขอ หรือข้อมูลการตอบสนอง

การดำเนินการภายในเครื่อง

เซิร์ฟเวอร์ทำงานภายในเครื่องของคุณ การสื่อสารทั้งหมดกับ Mailgun API เป็นผ่าน HTTPS พร้อมการตรวจสอบใบรับรอง TLS ที่บังคับใช้ ไม่มีข้อมูลถูกส่งไปยังบริการของบุคคลที่สามนอกเหนือจาก Mailgun API

สิทธิ์ของคีย์ API

ใช้คีย์ API Mailgun เฉพาะที่มีสิทธิ์จำกัดเฉพาะการดำเนินการที่คุณต้องการ เซิร์ฟเวอร์แสดงการดำเนินการอ่านและอัปเดต แต่ไม่แสดงการดำเนินการลบใดๆ ซึ่งจำกัดขอบเขตความเสียหายของการกระทำที่ไม่ได้ตั้งใจ

การจำกัดอัตรา

เซิร์ฟเวอร์ไม่ได้ใช้การจำกัดอัตราฝั่งไคลเอนต์ การเรียกใช้เครื่องมือแต่ละครั้งจาก 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 สำหรับการแก้ไขปัญหา

ใบอนุญาต

Apache 2.0 — ดู LICENSE สำหรับรายละเอียด

การมีส่วนร่วม

เรายินดีต้อนรับการมีส่วนร่วม! โปรดส่ง Pull Request หรือเปิด Issue ได้ตามสบาย