Nothing an MCP tool returns includes them, and even a delete is a move to a folder you named, with the trash folder excluded from every query afterwards. The shadow copy also buys things raw IMAP cannot do: instant full-text search across every folder and account at once, filtered by read status, attachments, date and sender.
A sync engine plus MCP server: it mirrors your IMAP mailboxes into a local SQLite database with full-text search, and the AI agent only ever queries that copy.
- list_accounts_and_folders — every synced account and its folders
- get_recent_activity — the most recent emails, filterable by read status and attachments
- get_email_content — full body text, read and replied status, and the attachment list for one email
- search_emails — FTS5 full-text search with subject, sender, date, folder and read-status filters
- get_thread — every email in a thread, sorted by date
- download_attachments and get_download_link
- delete_mail — a soft delete that moves the email to a folder you designate; nothing is permanently deleted
- Several mailboxes at once, with optional IMAP IDLE for near-instant new-mail sync
Docker is the recommended path — the ghcr.io/dryas/mail-shadow-mcp:latest container writes an annotated config.yaml on first run. Fill in each account's host, port and credentials, set trash_folder for soft deletes, and set http_bearer_token to protect the HTTP endpoint. A prebuilt binary with stdio transport is on the releases page.
One command plus a key — docker pull ghcr.io/dryas/mail-shadow-mcp:latest, then supply credentials
