Labsco
MCP SERVER

Email Reader

by karateboss

IMAP mailbox search for an assistant, with the account password stored encrypted rather than in the clear.

Email: Mailboxes & Delivery
Summary
Read-only by design, which is the right default for a mailbox.

Search, list folders, fetch an attachment — that is the whole surface, and there is no path to sending or deleting anything, which makes it a comfortable thing to point at a real account. The password is held encrypted rather than in plain text; note that the decryption key lives in the same config file, a compromise the author makes because `uvx` running the repo directly leaves nowhere for a `.env` to go.

What it is

A read-side email server: it connects to any IMAP account, searches it, and pulls attachments out of messages. Nothing here sends mail. Tested with Claude Desktop and with LibreChat running against Ollama.

What you get
  • `search_emails` searches the mailbox
  • `list_folders` returns the folders available on the account
  • `download_attachment` retrieves an attachment from a message
  • Works with any IMAP server, so it is not tied to one mail provider
  • The stored password is encrypted, with the key supplied separately at launch
Requirements

Python 3.10 or higher and `uv`; the client runs it straight from the repository with `uvx --from git+https://github.com/karateboss/mcp_email_reader@main`. Four values go in the client config: `IMAP_SERVER`, `EMAIL_ACCOUNT`, `EMAIL_PASSWORD_ENC` and `EMAIL_SECRET_KEY`. The key decrypts the password, so both sitting in the same file means the config file is as sensitive as the password itself — keep it out of anything you sync or back up publicly. Version 0.1.0.