M
Mailgun MCP
作者 @lesleslie
MCP server by lesleslie
创建于 10/11/2025
更新于 5 months ago
README
Repository documentation and setup instructions
Mailgun MCP Server
This project implements a comprehensive MCP server for the Mailgun API using FastMCP.
Features
The server provides access to the full Mailgun API including:
- Email Management: Send emails with attachments, tags, and scheduled delivery
- Domain Management: List, create, update, delete, and verify domains
- Event Tracking: Get email events (opens, clicks, deliveries, etc.)
- Statistics: Get email statistics and metrics
- Suppression Lists: Manage bounces, complaints, and unsubscribes
- Route Management: Create and manage routing rules
- Template Management: Create and manage email templates
- Webhook Management: Configure webhooks for event notifications
Architecture Overview
graph TD
A[FastMCP Server<br/>mailgun-mcp] --> B[Email Management]
A --> C[Domain Management]
A --> D[Event Tracking]
A --> E[Statistics]
A --> F[Suppression Lists]
A --> G[Route Management]
A --> H[Template Management]
A --> I[Webhook Management]
B --> B1[send_message<br/>attachments/tags/schedule]
C --> C1[get_domains<br/>create/verify/delete]
D --> D1[get_events<br/>opens/clicks/deliveries]
E --> E1[get_stats<br/>metrics/analytics]
F --> F1[bounces<br/>complaints<br/>unsubscribes]
G --> G1[get/create/update<br/>delete routes]
H --> H1[get/create/update<br/>delete templates]
I --> I1[get/create/delete<br/>webhooks]
style A fill:#4A90E2,color:#fff
style B fill:#50C878,color:#fff
style C fill:#50C878,color:#fff
style D fill:#50C878,color:#fff
style E fill:#50C878,color:#fff
style F fill:#50C878,color:#fff
style G fill:#50C878,color:#fff
style H fill:#50C878,color:#fff
style I fill:#50C878,color:#fff
Usage
-
Set environment variables:
export MAILGUN_API_KEY="YOUR_API_KEY" export MAILGUN_DOMAIN="YOUR_DOMAIN" -
Run the server:
uvicorn mailgun_mcp.main:app --reload -
Send a test email:
Use the Mailgun API to send an email via an HTTP POST request with proper authentication. For detailed instructions, see the Mailgun API documentation.
flowchart TD Start([Client Request]) --> CheckCreds{API Key?<br/>Domain?} CheckCreds -->|No| Error([Return Error]) CheckCreds -->|Yes| BuildPayload[Build email payload<br/>from/to/subject/html] BuildPayload --> HasAttachments{Has<br/>attachments?} HasAttachments -->|Yes| EncodeAttach[Base64 encode<br/>attachments] HasAttachments -->|No| HasTags{Has tags?} EncodeAttach --> HasTags HasTags -->|Yes| AddTags[Add tags to<br/>delivery:recipient] HasTags -->|No| IsScheduled{Scheduled<br/>delivery?} AddTags --> IsScheduled IsScheduled -->|Yes| SetSchedule[Set delivery<br/>time] IsScheduled -->|No| SendAPI[Send to Mailgun API] SetSchedule --> SendAPI SendAPI --> Success([Return message ID]) style Error fill:#E74C3C,color:#fff style Success fill:#50C878,color:#fff style CheckCreds fill:#F39C12,color:#fff style HasAttachments fill:#F39C12,color:#fff style HasTags fill:#F39C12,color:#fff style IsScheduled fill:#F39C12,color:#fff
Available Tools
The MCP server exposes the following tools:
Email Management
send_message: Send an email message via Mailgun API with support for:- Basic email fields (from, to, subject, text)
- Optional fields (cc, bcc, html)
- Attachments
- Tags
- Scheduled delivery
Domain Management
get_domains: Get a list of domains from Mailgunget_domain: Get information about a specific domain from Mailguncreate_domain: Create a new domain in Mailgundelete_domain: Delete a domain from Mailgunverify_domain: Trigger verification of a domain in Mailgun
Events & Logs
get_events: Get email events (opens, clicks, deliveries, etc.) from Mailgun
Statistics
get_stats: Get email statistics from Mailgun
Suppression Management
get_bounces: Get email bounces from Mailgunadd_bounce: Add an email address to the bounce list in Mailgundelete_bounce: Remove an email address from the bounce list in Mailgunget_complaints: Get email complaints from Mailgunadd_complaint: Add an email address to the complaints list in Mailgundelete_complaint: Remove an email address from the complaints list in Mailgunget_unsubscribes: Get unsubscribed email addresses from Mailgunadd_unsubscribe: Add an email address to the unsubscribes list in Mailgundelete_unsubscribe: Remove an email address from the unsubscribes list in Mailgun
Route Management
get_routes: Get routes from Mailgunget_route: Get a specific route from Mailguncreate_route: Create a new route in Mailgunupdate_route: Update an existing route in Mailgundelete_route: Delete a route from Mailgun
Template Management
get_templates: Get a list of templates from Mailgunget_template: Get information about a specific template from Mailguncreate_template: Create a new template in Mailgunupdate_template: Update an existing template in Mailgundelete_template: Delete a template from Mailgun
Webhook Management
get_webhooks: Get all webhooks from Mailgunget_webhook: Get a specific webhook from Mailguncreate_webhook: Create or update a webhook in Mailgundelete_webhook: Delete a webhook from Mailgun
快速设置
此服务器的安装指南
安装命令 (包未发布)
git clone https://github.com/lesleslie/mailgun-mcp
手动安装: 请查看 README 获取详细的设置说明和所需的其他依赖项。
Cursor 配置 (mcp.json)
{
"mcpServers": {
"lesleslie-mailgun-mcp": {
"command": "git",
"args": [
"clone",
"https://github.com/lesleslie/mailgun-mcp"
]
}
}
}