What it is
An MCP server for real mailboxes over IMAP and SMTP, on Windows, macOS and Linux. Reading is deliberately two-stage — metadata first, bodies only for the ids you ask for — and the mailbox management surface covers flags, moves, archiving, deletion and attachments. Sending is gated by a recipient allowlist you configure outside the model. Accounts are set up through an authenticated local browser UI or the CLI; there is no MCP tool that adds an account, by design.
Requirements
Python 3.11 or later, IMAP credentials for reading and SMTP credentials if the account must send. Run uvx mcp-email-server@latest stdio from the client, and configure accounts first with the ui command: it binds to 127.0.0.1 on an ephemeral port and opens a one-time browser link. Credentials go into a private SQLite store on Linux and Windows, the system keyring on macOS, and never through the MCP connection or the chat. Two settings decide the blast radius: with no allowed recipients configured, sending is off; with no allowed senders, reading is unrestricted. Installations on PyPI 0.16.0 and earlier keep working in legacy mode, but they expose the older add_email_account tool that this version removes — drop it from prompts and allowlists before upgrading, and restart clients so they refresh the tool list.
Setup effort
One command plus credentials — uvx mcp-email-server@latest stdio, then supply credentials