imap-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@imap-mcpshow me unread emails from my work account"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
imap-mcp
A live IMAP + SMTP MCP server. It lets an LLM read, search, send and manage email across multiple accounts over a real mail connection — with sending that is safe by default.
You: "Reply to the vendor confirming we approved the quote, attach the PO."
LLM: → mail_send(..., confirm=false) # returns a preview, sends nothing
You: "Looks good, send it."
LLM: → mail_send(..., confirm=true) # now it actually goes outWhy another email MCP
Email is the one integration where a careless agent does real damage — a wrong auto-send can't be unsent. This server is built around that:
Confirm before send.
mail_sendreturns a preview and sends nothing unless you passconfirm=true. No message ever leaves on the first call.Read-only accounts. Mark an account
readonlyand every mutating tool (send, flag, move, delete) is refused for it — useful for mailboxes you only want the model to read.No secrets on disk. The config file contains no passwords. Each account says where its password comes from — an environment variable or a command (your password manager) — and it's read on demand, held only in memory.
Multi-account. Personal, work and shared mailboxes side by side, each with its own host and credentials.
Related MCP server: Email Send/Receive MCP Server
Tools
Tool | What it does |
| Recent messages (headers only) |
| Search From / Subject / body |
| Full message: body + attachment names |
| Save attachments to disk |
| Send — |
| Mark seen / unseen / flagged / deleted |
| Move between folders |
| List IMAP folders |
| List configured accounts and credential status |
Install
Requires Python 3.11+.
git clone https://github.com/agimenez-dev/imap-mcp
cd imap-mcp
uv sync # or: pip install -e .Configure
Create ~/.config/imap-mcp/accounts.toml (or set IMAP_MCP_CONFIG to any path).
Start from accounts.example.toml:
[[account]]
address = "you@example.com"
host = "imap.example.com" # used for IMAP (993) and SMTP (465)
password_env = "MY_MAIL_PASSWORD" # read the password from this env var
[[account]]
address = "shared@example.com"
host = "imap.example.com"
password_command = "rbw get 'Shared Mailbox'" # ...or from a command's stdout
readonly = true # read-only: no send/flag/moveEach account resolves its password from either password_env (an environment
variable) or password_command (a shell command whose first line of stdout is
the password). The file itself never contains a secret.
Use with Claude Desktop / Claude Code
{
"mcpServers": {
"imap": {
"command": "uv",
"args": ["--directory", "/path/to/imap-mcp", "run", "imap-mcp"]
}
}
}Security notes
Passwords are never written to disk by this server. They live in memory only for the duration of a connection (cached per process to avoid re-prompting a password manager on every call).
Reads use
BODY.PEEK[], so reading a message does not mark it as seen.readonlyaccounts reject send/flag/move/delete at the application layer, before any connection is opened.IMAP and SMTP use implicit TLS (ports 993 / 465) with certificate verification.
Development
uv sync --extra dev
uv run pytest # config + MIME layers are covered without a mail server
uv run ruff check .The IMAP/SMTP transport is a thin wrapper over the standard library; the tested logic is the parts that are easy to get wrong — config/credential resolution and MIME decoding.
License
MIT — see LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
- mailOAuthcom.anymailmcp
Read, send, organize, watch email on any IMAP mailbox: Gmail, iCloud, OVH, Zoho, Fastmail + CalDAV.
Read, send, file and search email in any Gmail, Microsoft 365 or IMAP mailbox, plus its calendar.
Never-stored live email: read, send, organize, schedule and auto-triage Gmail or any IMAP mailbox.
Email infrastructure for AI agents — send, receive, search, and reply to email over MCP.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables comprehensive email management through IMAP/SMTP protocols with tools for searching, organizing, moving, flagging, and sending emails across various email providers. Features safe preview mode for destructive operations and supports multiple email providers including Gmail, Outlook, and Chinese email services.9 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables sending and receiving emails through SMTP, IMAP, and POP3 protocols with support for attachments, HTML content, and email validation.MIT
- AlicenseAqualityFmaintenanceEnables email management through SMTP and IMAP protocols with support for sending emails with attachments, searching and filtering messages, replying/forwarding with threading, organizing mailboxes, and managing multiple email accounts.5229 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables email management through IMAP and SMTP protocols, supporting reading, sending, replying to emails with proper threading, and downloading attachments. Supports multiple email accounts with flexible configuration options.1BSD 3-Clause