by egyptianego17
Email MCP Server is a simple Model Context Protocol (MCP) server that enables AI agents to send emails and attach files through SMTP, acting as a bridge for AI assistants to interact with email services.
Email MCP Server is a simple Model Context Protocol (MCP) server that enables your AI agent to send emails and attach files through SMTP. It acts as a bridge, allowing AI assistants to interact with email services.
To use Email MCP Server, follow these steps:
uv
(Python package manager) by running curl -LsSf https://astral.sh/uv/install.sh | sh
and then source ~/.bashrc
.email-mcp-server
directory and run uv sync
.uv run python test_email.py
or run the server directly with uv run main.py
.SMTP_HOST
, SMTP_PORT
, SMTP_SECURE
, SMTP_USER
, SMTP_FROM
, SMTP_PASS
).test_smtp_connection_tool
to verify email setup.send_email
for simple sending and send_custom_email
for advanced features.Q: What if I encounter "Missing Configuration"? A: Ensure all environment variables are set in the Claude Desktop config, verify the directory path is correct and absolute, and restart Claude Desktop after making changes.
Q: What if "Authentication Failed"? A: For Gmail/Yahoo, use app passwords instead of regular passwords. Enable 2-Factor Authentication first, then generate an app password. Double-check your username and password.
Q: What if there are "Connection Issues"? A: Verify that the SMTP host and port are correct. Check your internet connection. Be aware that some networks might block SMTP ports.
Q: What if "Server Not Found"?
A: Make sure uv
is installed and in your PATH. Check that the directory path exists and verify that the project dependencies are installed with uv sync
.
This MCP (Model Context Protocol) server lets your AI assistant send emails for you.
Your AI assistant can:
send_email
- Simple Email SendingSend emails quickly using your environment configuration:
send_custom_email
- Advanced Email FeaturesSend emails with full control:
test_smtp_connection_tool
- Check SetupTest your email settings before sending important emails.
# Install uv (Python package manager)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Restart your terminal or run:
source ~/.bashrc
cd email-mcp-server
uv sync
# Test your email setup
uv run python test_email.py
# Run the server directly (for testing)
uv run main.py
Add this to your Claude Desktop configuration or Cursor file:
{
"mcpServers": {
"mcp-server": {
"command": "uv",
"args": [
"--directory",
"path/to/the/app/email-mcp-server",
"run",
"main.py"
],
"env": {
"SMTP_HOST": "",
"SMTP_PORT": "",
"SMTP_SECURE": "",
"SMTP_USER": "",
"SMTP_FROM": "",
"SMTP_PASS": ""
}
}
}
}
Important: Change the directory path to match your actual installation location.
Send a basic email:
"Send an email to john@company.com saying the meeting is tomorrow at 2 PM"
Send with HTML formatting:
"Send an HTML email to team@company.com with subject 'Weekly Update' and create a nice formatted message about this week's progress"
Test your setup:
"Test the email connection to make sure it's working"
Send to multiple people with attachments:
"Send a custom email to the team about the project update. Send to team@company.com, CC manager@company.com, and attach the project report"
"env": {
"SMTP_HOST": "smtp.gmail.com",
"SMTP_PORT": "587",
"SMTP_SECURE": "false",
"SMTP_USER": "your-email@gmail.com",
"SMTP_FROM": "your-email@gmail.com",
"SMTP_PASS": "your-app-password"
}
Gmail Setup Steps:
"env": {
"SMTP_HOST": "smtp-mail.outlook.com",
"SMTP_PORT": "587",
"SMTP_SECURE": "false",
"SMTP_USER": "your-email@outlook.com",
"SMTP_FROM": "your-email@outlook.com",
"SMTP_PASS": "your-password"
}
Replace the SMTP settings with your provider's details. Most providers use:
Variable | Description | Example |
---|---|---|
SMTP_HOST |
Your email server | smtp.gmail.com |
SMTP_PORT |
Server port | 587 |
SMTP_SECURE |
Use SSL (true/false) | false |
SMTP_USER |
Your username | user@gmail.com |
SMTP_FROM |
Sender address | noreply@company.com |
SMTP_PASS |
Your password | your-password |
uv
is installed and in your PATHuv sync
# Test configuration and connection
uv run python test_email.py
# Send a real test email to yourself
uv run python test_email.py --send-real
MIT License - Feel free to use and modify as needed.
Please log in to share your review and rating for this MCP.