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-here
HOST=0.0.0.0
PORT=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
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Enables Claude Desktop to send emails through Mailjet's API using the Model Context Protocol over Server-Sent Events. Provides secure email sending capabilities with API token authentication and user-provided credentials.