A Model Context Protocol server that provides email functionality. This server enables LLMs to compose and send emails, as well as search for attachments within specified directories.
- Send emails with multiple recipients
- Support for email attachments
- Search for files in directories based on pattern matching
- Secure email transmission using SMTP
-
send_email
- Sends emails based on the provided subject, body, and receiver.receiver
(array of strings, required): List of recipient email addressesbody
(string, required): The main content of the emailsubject
(string, required): The subject line of the emailattachments
(array of strings or string, optional): Email attachments (filenames)
-
search_attachments
- Searches for files in a specified directory that match a given pattern.pattern
(string, required): The text pattern to search for in file names
-
send_email
- Send an email with optional attachments
- Arguments:
receiver
(required): The list of recipient email addressesbody
(required): The main content of the emailsubject
(required): The subject line of the emailattachments
(optional): Email attachments
-
search_attachments
- Search for files matching a pattern
- Arguments:
pattern
(required): The text pattern to search for in file names
Install the required dependencies:
pip install pydantic python-dotenv
An email.json
file with SMTP server configurations:
[
{
"domain": "@gmail.com",
"server": "smtp.gmail.com",
"port": 587
},
{
"domain": "@outlook.com",
"server": "smtp.office365.com",
"port": 587
},
{
"domain": "@yahoo.com",
"server": "smtp.mail.yahoo.com",
"port": 587
}
]
Start the MCP Email Server with:
python -m mcp_email_server (--dir /path/to/attachment/directory)
Add to your Claude settings:
{
"mcpServers": {
"email": {
"command": "D:\\conda\\envs\\mcp\\python.exe",
"args": [
"C:\\Users\\YourUserName\\Desktop\\servers\\src\\email\\src\\mcp_server_email",
"--dir",
"C:\\Users\\YourUserName\\Desktop"
],
"env": {
"SENDER": "[email protected]",
"PASSWORD": "tuogk......."
}
}
}
}
{
"mcpServers": {
"email": {
"command": "uv",
"args": [
"~\\servers\\src\\email\\src\\mcp_server_email",
"--dir",
"C:\\Users\\YourUserName\\Desktop"
],
"env": {
"SENDER": "[email protected]",
"PASSWORD": "tuogk......."
}
}
}
}
- For Gmail and other services, you may need to use an app-specific password
- The server supports a limited set of attachment file types for security reasons
The server supports the following attachment file types:
- Documents: doc, docx, xls, xlsx, ppt, pptx, pdf
- Archives: zip, rar, 7z, tar, gz
- Text files: txt, log, csv, json, xml
- Images: jpg, jpeg, png, gif, bmp
- Other: md
{
"receiver": ["[email protected]"],
"subject": "Test Email from MCP Server",
"body": "This is a test email sent via the MCP Email Server.",
"attachments": ["document.pdf", "image.jpg"]
}
{
"pattern": "report"
}
We encourage contributions to help expand and improve the MCP Email Server. Whether you want to add new tools, enhance existing functionality, or improve documentation, your input is valuable.
For examples of other MCP servers and implementation patterns, see: https://github.com/modelcontextprotocol/servers
Pull requests are welcome! Feel free to contribute new ideas, bug fixes, or enhancements to make the MCP Email Server even more powerful and useful.
MCP Email Server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License.