A self-hosted MCP server for IMAP and SMTP. If your provider speaks those two
protocols (Gmail, Fastmail, Proton via Bridge, iCloud, custom domains, Outlook 365),
you're good. You list your accounts in a .env,
then drop one line into your .mcp.json.
Claude Code picks them up from there.
One-time payment with a commercial license. If it doesn't fit your setup, email me and I'll refund you the same day.
$ claude ▌ draft a reply to the last cold email from ACME, polite decline, ▌ ask them to recontact in Q3. Save as draft, don't send. ● mcp-email:list — inbox(main), 12 unread ● mcp-email:search — "ACME" → 1 thread ● mcp-email:get — thread #4912, 3 msgs ● mcp-email:create_draft — saved to Drafts ✓ ✓ Draft saved. Reviewed it before send? It's in main/Drafts as "Re: Partnership opportunity".
mcp-email tool calls in a Claude Code session.
Features
Most MCP email demos do read and
send and call it a server. This one also handles
search across folders, attachments, moves between mailboxes, flagging, drafts,
and threaded replies. It's the boring stuff that matters once you start
automating against a real inbox.
list_folders, list_messages,
search_messages, get_message,
get_thread, get_attachment,
send_message, create_draft,
move_message, copy_message,
delete_message, mark_message,
create_folder, rename_folder,
delete_folder. Each one does what it says on the tin.
You can wire several accounts into one instance. Every tool takes an
account argument on each call, so the
agent isn't guessing which inbox it's reading or sending from. I run three
on mine.
You can run it locally with npm start
or drop it in a Docker container. Credentials live in your
.env and never leave it; the only
outbound traffic is the TLS connection to your provider. Nothing is reported
anywhere.
I run it on Hostinger and Gmail daily. The setup is also documented and tested for Fastmail, Proton via Bridge, iCloud, Outlook 365, Yahoo, and Zoho, plus a generic option for anything else that speaks the protocol. CONFIG.md has the per-provider details.
Setup
# Docker (recommended) docker compose up -d # or npm npm install npm run build npm start
# .env
ACCOUNT_MAIN_EMAIL=hi@you.com
ACCOUNT_MAIN_PASSWORD=app_pw_here
ACCOUNT_MAIN_IMAP_HOST=imap.fastmail.com
ACCOUNT_MAIN_SMTP_HOST=smtp.fastmail.com
ACCOUNT_WORK_EMAIL=you@company.com
ACCOUNT_WORK_PASSWORD=...
// .mcp.json
{
"mcpServers": {
"email": {
"url": "http://localhost:3000/mcp"
}
}
}
Works with Claude Code, or any MCP client. Full setup guide →
My own setup
The address at the bottom of the page is plugged into a live mcp-email
instance. When you email me, Claude reads your message through that server and drafts the reply.
The version you'd be buying is the same code I'm running on the brand inbox right now.
mail-tester: 10/10. SPF, DKIM, and DMARC all pass.
Pricing
Launch price. Gumroad's set up as pay-what-you-want above $49, if you feel like throwing in extra.
Checkout via Gumroad. Stripe and PayPal both work.
FAQ
If it talks IMAP and SMTP, yes. I run it daily on Hostinger and Gmail. The setup is also documented and tested for Fastmail, Proton (via Bridge), iCloud, Outlook 365, Yahoo, and Zoho, with a generic option for anything else. The per-provider steps are in CONFIG.md.
Either is fine. I usually run npm start during dev
and switch to docker compose up -d when I deploy.
The server listens on localhost, and Claude Code talks to it at
http://localhost:3000/mcp by default. You can put it
behind Caddy or nginx if you want to expose it somewhere else.
Google has restricted OAuth to verified apps, which means IMAP and SMTP need an app password. You generate one from your Google account's security settings; CONFIG.md has the screenshots. Outlook 365 and iCloud work the same way.
Your credentials never leave the machine you run this on.
mcp-email talks to your IMAP/SMTP provider over TLS
and that's the only network connection it opens. There's no telemetry of any kind.
As a general habit, use a dedicated app password rather than your main account
password; the steps for each provider are in CONFIG.md.
Every version I ship is yours, forever. That covers new providers as I add them, new MCP tools, security patches, the lot. There's no subscription and no version cap.
Email hello@oneshotforge.com within 24 hours of buying and I'll refund you the $49 through Gumroad. Same day if I'm awake.
Get the container running and point Claude at it. That's the whole setup.
Buy on Gumroad — $49 →