About MCP Server for Personal Mailer
MCP Server for Personal Mailer is a Rust example server for sending email through prompts in LLM chat interfaces. It uses lettre as its SMTP client and also demonstrates creating and using email templates.
Key features
- 01Send email from chat prompts
- 02Create and use email templates
- 03Send through an SMTP client
- 04Built with the Rust MCP SDK
Use cases
- 01Draft and send an invitation email
- 02Create a reusable customer greeting
- 03Send a message using a saved template
MCP support
It exposes email-sending and template actions to MCP clients, so an LLM chat interface can turn natural-language requests into email operations.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMCP Server for Personal Mailer
An example project for a rust-based MCP (Model Context Protocol) server for personal mailer. It enables the users to send emails simply making prompts to the LLM chat interfaces such as Cursor and Copilot.
This is implemented by using the official rust sdk for MCP (in active development). It mainly uses the crate lettre as the SMTP client under the hood.
Usage
This section describes some use cases to show that the MCP server is more interesting than the traditional email programs.
Traditional email programs require the user know how to input the data to the program in order to work (e.g. sending an email). Here, we can just use simple words and the LLM will help us to create the input data so that it can be fitted into the "program".
Example 1:
send an formal email to Bob ([email protected]). invite him to my friend Chris's wedding. closing with my name "Alvin"
Sample Output
LLM:
Email sent successfully!
SMTP:
From: [email protected]
Subject: Invitation to Chris's Wedding
Content-Type: text/plain; charset=utf-8
To: [email protected]
Content-Transfer-Encoding: quoted-printable
Date: Sun, 18 May 2025 12:59:33 +0000
X-Peer: ('127.0.0.1', 58769)
Dear Bob,
I hope this message finds you well. I am writing to formally invite you to =
my friend Chris's wedding. It would be a pleasure to have you join us for t=
his special occasion.
Please let me know if you are able to attend.
Best regards,
Alvin
Example 2:
add a email template named "greeting". It is a greeting to a new customer.
Sample Output
LLM:
Email template created successfully!
Template:
Hello {customer_name},
Welcome to our service! We are excited to have you as a new customer.
Best regards,
The Team
send greeting email to customer "abc"
Sample Output
LLM:
Email sent with template successfully!
SMTP:
From: [email protected]
Subject: Welcome to our service!
Content-Type: text/plain; charset=utf-8
To: [email protected]
Content-Transfer-Encoding: 7bit
Date: Sun, 18 May 2025 12:28:52 +0000
X-Peer: ('127.0.0.1', 58333)
Hello abc,
Welcome to our service! We are excited to have you as a new customer.
Best regards,
The Team
Local Run for Testing
This section describes how to run the MCP server locally for testing purposes.
Prerequisites:
- python module
aiosmtpdas the SMTP server - visual studio code with github copilot as the LLM chat interface and the MCP client
Follow the steps:
- Run the SMTP server.
python -m aiosmtpd -n -l 127.0.0.1:2525 - Follow this guide to set up the MCP agent in your VSCode.
- Start the MCP agent by clicking the "start" button in the file
mcp.jsonin VSCode. - Run the MCP server:
cargo run
Finally, try typing the prompt in the chat interface, e.g. "send an email to [email protected] with subject 'test' and body 'hello world'".
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.