Email SMTP/IMAP MCP: mail across several accounts
Email SMTP/IMAP MCP
A six-tool mail MCP: one local server searches, reads, sends, forwards and files email across any number of IMAP and SMTP accounts
- 24 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- The agent reads mail and attachments, sends email in your name and moves messages between folders
- Mailbox passwords sit in plain text in the .env file or the client config
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/email-smtp-imap-mcpDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The agent reads mail and attachments, sends email in your name and moves messages between folders
- Mailbox passwords sit in plain text in the .env file or the client config
This is third-party code. Review the repository files before installing.
What it does
Email SMTP/IMAP MCP connects an agent to one or more mailboxes through the standard SMTP and IMAP protocols. There is no cap on accounts: work, personal and client mailboxes go into one file, and the right one is picked with the `account_name` parameter. When it is omitted, the server uses `DEFAULT_EMAIL_ACCOUNT` or the first account in the list. There are six tools. `accounts_list` shows accounts and marks the default without exposing passwords. `emails_find` searches by text, sender, recipient, subject, date, read state, flag state and attachments, and can return bodies and attachments. `email_send` sends plain text or HTML with CC, BCC, sender aliases and base64 attachments. `email_respond` replies, replies to all or forwards by UID while keeping the thread. `emails_modify` marks read or unread, sets flags and moves messages to another folder. `folders_list` lists folders with total and unread counts. The server runs locally over stdio with no hosted relay and no control panel. It works with Gmail, iCloud Mail, Fastmail, Outlook, self-hosted mail and other providers with standard SMTP and IMAP.
Who it is for. For people who run several mailboxes and want to give an agent in Claude Desktop a simple set of mail actions without extra features.
Good fit when
- You want to find mail by sender, subject and date across a work and a personal mailbox in one request
- You want to reply to an email or forward it with the original attachments while keeping the thread
- You need to send an email with an attachment from one of several alias addresses
- You want to archive messages, mark them read or flag them based on search results
- You want to check the settings of a new mailbox and see the folder list with unread counts
Not a fit when
- You need drafts, templates, scheduled sending or real-time mailbox watching: this server has none of that, and email-mcp by codefuturist covers it
- The mailbox allows only browser OAuth sign-in: the server accepts a login and password, and Gmail and iCloud need an app password
- You need access from a cloud client without a local install: the server runs only locally over stdio
- You do not have Node.js 20 or newer
Example request
Show the five newest unread emails in my personal account and reply to the one asking for an invoiceMCP
- Transport
- stdio
- Authentication
- API key
Environment variables
EMAIL_ACCOUNTS_JSONrequired, secret- JSON with accounts: each has smtp and imap blocks with host, port, user and password.
DEFAULT_EMAIL_ACCOUNT- Name of the account used when the account_name parameter is omitted.
EMAIL_ENV_FILE- Absolute path to the .env file when it is not in the server's working directory.
Limitations
It needs Node.js 20 or newer. Mailbox passwords sit in plain text in the `.env` file or in the `env` block of the client config, so keep the file in a private folder and use an app password for Gmail and iCloud instead of the main password.
The server speaks stdio and runs on your computer. There is no hosted version and no management interface. The tool list is short: no drafts, templates, scheduling or analytics. Ports 465 and 993 take `secure: true`, port 587 takes `secure: false` and the server upgrades the connection through STARTTLS. The license is MIT.
How to disable. Delete the email block from claude_desktop_config.json and restart the client. Remove the `.env` file with the passwords separately and revoke the app password in your mail provider settings.
FAQ
How do I connect a mail MCP to several accounts?
Describe the accounts in the `EMAIL_ACCOUNTS_JSON` variable, each with its own smtp and imap blocks, and set the default through `DEFAULT_EMAIL_ACCOUNT`. Then pick an account with the `account_name` parameter in any tool. There is no cap on account count.
Does Email SMTP/IMAP MCP work with Gmail?
Yes, with Gmail, iCloud Mail, Fastmail, Outlook and other standard providers. Gmail needs an app password with the hosts smtp.gmail.com:587 and imap.gmail.com:993, and iCloud needs an app-specific password with smtp.mail.me.com and imap.mail.me.com.
How do I add Email SMTP/IMAP MCP to Claude Desktop?
In claude_desktop_config.json add an email block: the command npx, the arguments -y and email-smtp-imap-mcp, and in env the EMAIL_ENV_FILE path to your .env. The path must be absolute. After restarting the client, check by asking it to list the configured accounts.
Can I send an email with an attachment from an alias?
Yes. The `email_send` tool takes base64 attachments, CC, BCC and a sender address. Allowed aliases are set in the `sender_emails` list in the account settings.
How does Email SMTP/IMAP MCP differ from email-mcp?
This one has six tools and no extra modes, and setup takes a single `.env` file. email-mcp has 52 tools, drafts, templates, scheduled sending, IDLE watching and analytics, but also more requirements, including Node.js 24.
Discussion
No questions or reviews yet.
Related
MCP serversAn email MCP with 52 tools: the agent reads, searches, sends and sorts mail across several accounts over IMAP and SMTP, and schedules sends
Email MCP: Yandex, Mail.ru and other providers
Email MCP Server
An HTTP/SSE wrapper around an IMAP MCP server for remote mailbox access from Claude Web: read, search, send, across 15 providers
Mail.ru read-only mail MCP server
Mail.ru MCP
A small read-only MCP server for Mail.ru mail: listing, reading, searching and folders, with no ability to send or delete
Yandex Mail MCP
Yandex Mail MCP Server
Yandex Mail MCP server over IMAP and SMTP: search and read mail, attachments, send, move and delete
Mail.ru mail MCP server
mailru-mcp
An MCP server for Mail.ru mail: reading, search, folder sorting and archiving that works around Mail.ru's IMAP quirks
Yandex Mail MCP server
ymail-mcp
Yandex work mail in Claude Code over IMAP: reading, searching threads and drafting replies without sending
Comparison with similar tools
Entries that share the main search query, and how they differ.
| Entry | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| Email SMTP/IMAP MCP: mail across several accounts (this entry) | no | API key | 24 | |
| email-mcp: an MCP server for IMAP and SMTP mail | no | key is optional | 135 | a large 52-tool server with drafts, scheduling, IDLE watching and analytics, while this one is limited to six tools |
| Email MCP: Yandex, Mail.ru and other providers | no | API key | 0 | an HTTP/SSE wrapper for mail access from Claude Web, while this server runs locally over stdio |
| IMAP mail reading skill | no | 2 | a skill for reading and searching mail through the myl CLI, while this server also sends and replies |
README in short
The description promises one local server for every inbox and lists five properties: no account limit, SMTP and IMAP together, a complete everyday workflow, provider independence and local transport. Quick start has two steps: create a `.env` with the accounts and add the server to the client config. Next come a tool table, four test phrases to verify the setup and a table of provider settings. The repository tree includes tests, a Dockerfile and security policy files.