Email MCP Server
A minimal, production-ready MCP (Model Context Protocol) server that enables Claude Desktop to send emails via Mailjet's API over Server-Sent Events (SSE).
🚀 Quick Start
1. Deploy the Server
Local Development:
Production Deploy (Railway/Render/Vercel):
Fork this repository
Connect to your hosting platform
Set environment variables:
VALID_API_TOKENS=your-secure-tokens-hereHOST=0.0.0.0PORT=8000
2. Get Your API Token
Visit your deployed server at https://your-domain.com and get a valid API token from the VALID_API_TOKENS environment variable.
3. Configure Claude Desktop
Add this to your Claude Desktop MCP configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
4. Get Mailjet Credentials
Sign up at Mailjet.com (free tier available)
Go to Account Settings → API Keys
Copy your API Key and Secret Key
5. Send Emails with Claude
Now you can ask Claude to send emails:
"Send an email to john@example.com with the subject 'Meeting Follow-up' saying 'Thanks for the great discussion today. Let's schedule a follow-up for next week.'"
Claude will ask for your Mailjet credentials the first time.
🛡️ Security Features
API Token Authentication: Each request requires a valid token
User-Provided Credentials: Server never stores user email credentials
Input Validation: Email format validation and error handling
CORS Protection: Configurable origin restrictions
📡 API Endpoints
GET /- Server status and informationGET /sse?api_token=TOKEN- SSE endpoint for MCP protocolPOST /mcp?api_token=TOKEN- Direct MCP message handling (debugging)
🔧 Environment Variables
📝 Usage Examples
Basic Email:
With HTML:
Multiple Recipients (coming soon): Currently supports single emails only. Bulk email functionality planned for v2.
🚨 Troubleshooting
Common Issues:
"Invalid API token" - Check your token in the SSE URL
"Invalid Mailjet credentials" - Verify your API key and secret
"Invalid email format" - Ensure email addresses are properly formatted
Connection timeouts - Check your server deployment status
🏗️ Architecture
FastAPI - Modern Python web framework
SSE Transport - Real-time MCP protocol communication
Mailjet API - Reliable email delivery service
In-Memory Auth - Simple token validation (no database required)
📄 License
MIT License - feel free to use in your own projects!
🤝 Contributing
Fork the repository
Create a feature branch
Make your changes
Submit a pull request
For major changes, please open an issue first to discuss the proposed changes.
This server cannot be installed