Introduction
A read-only MCP server for reading your mail over IMAP, provider-agnostic by design.
rubit-mcp-mail
A read-only MCP server for reading your mail. Provider-agnostic: it speaks IMAP, so it works with Outlook.com, Gmail, Fastmail, iCloud, or a self-hosted server — the provider is a line of config, not a code change.
Read-only by construction. Folders are opened with
EXAMINE, never SELECT,
and bodies are fetched with BODY.PEEK, so reading a message does not even mark
it as read. There are no send, move, delete, or flag code paths, and a test
asserts none are ever added. See Security for the full story.What you get
Six tools your assistant can call, all of them reads:
| Tool | What it does |
|---|---|
list_accounts | Configured accounts and whether each is authenticated |
list_folders | Folders with normalized roles and unread counts |
list_messages | Browse a folder, newest first, paginated |
search_messages | Server-side search by text, sender, subject, date range, unread |
read_message | Full headers, body text, attachment metadata |
get_attachment | Save one attachment into the download directory |
Full signatures, arguments and return shapes are in the Tools reference.
Where to start
Requirements
- Using the installer: nothing. Python and every dependency are inside the one file.
- From source: Python 3.11 or newer.
- Platforms: Windows and Linux installers are published. macOS is build-from-source only.