LABSCO SUMMARY
The last step of drafting, without leaving the draft.
This is deliberately one job — compose somewhere, send from there — and AWS SES is the right backend for it if you already have a verified domain. The failure mode to know about is SES itself: an unverified sender address is rejected at the service, not by this server, so verify before you wire it up.
What it is
A small MCP server that puts AWS Simple Email Service behind a tool call, so a draft written in your editor gets sent without a copy-paste into a mail client. It handles both plain text and HTML bodies and supports the recipient fields you would expect from a real send.
What you get
Sending a message with a subject and either a text or HTML body, adding CC and BCC recipients, setting a reply-to address, and choosing the sender — subject to that address being verified in SES. Full request and response logging is written out for debugging a rejected send.
Requirements
An AWS SES account with a verified domain or verified sender addresses, plus AWS credentials with SES permissions: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION, SENDER_EMAIL_ADDRESS and REPLY_TO_EMAIL_ADDRESSES. Node.js, with npm install and npm run build from a clone; the client then launches node against build/index.js.
Setup effort
One command plus a key — npx -y @smithery/cli install @omd01/aws-ses-mcp --client claude, then supply credentials
USE CASES
01
Sending a draft you just wrote in the editor
Select the message you have been working on and send it through SES without switching to a mail client.
02
Sending formatted mail
Send an HTML body rather than plain text when the message needs structure.
03
Keeping replies going somewhere else
Set a reply-to address so responses land in a shared inbox rather than on the sending identity.
BEFORE YOU INSTALL
What to know first
Requires
- node on PATH
- AWS_ACCESS_KEY_ID in your environment
- AWS_SECRET_ACCESS_KEY in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
Build from source
TERMINAL
git clone https://github.com/omd01/aws-ses-mcp.git
cd aws-ses-mcp
npm install
npm run buildnpx
TERMINAL
npx -y @smithery/cli install @omd01/aws-ses-mcp --client claudeMCP Clients
Claude Desktop
CLAUDE DESKTOP · JSON
{
"mcpServers": {
"aws-ses-mcp": {
"command": "node",
"args": [
"<YOUR_PATH_TO_MCP_SERVER>/build/index.js"
],
"env": {
"AWS_ACCESS_KEY_ID": "<YOUR_AWS_ACCESS_KEY_ID>",
"AWS_SECRET_ACCESS_KEY": "<YOUR_AWS_SECRET_ACCESS_KEY>",
"AWS_REGION": "<YOUR_AWS_REGION>",
"SENDER_EMAIL_ADDRESS": "<YOUR_SENDER_EMAIL_ADDRESS>",
"REPLY_TO_EMAIL_ADDRESSES": "<YOUR_REPLY_TO_EMAIL_ADDRESSES>"
}
}
}
}<YOUR_PATH_TO_MCP_SERVER> is the full path of the aws-ses-mcp folder you cloned and built in the steps above. <YOUR_AWS_ACCESS_KEY_ID> and <YOUR_AWS_SECRET_ACCESS_KEY> are AWS credentials that have SES permissions, <YOUR_AWS_REGION> the region your SES identity is in, <YOUR_SENDER_EMAIL_ADDRESS> an address verified in AWS SES, and <YOUR_REPLY_TO_EMAIL_ADDRESSES> a comma-separated list of reply-to addresses.