The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.
Mail MCP
Secure IMAP/SMTP/EWS/Graph API MCP server in Rust — Microsoft 365, Hotmail, Gmail, Zoho, OAuth2, multi-account
Install
git clone https://github.com/tecnologicachile/mail-mcpInstall command taken from the project's README or registry entry. Always review code before running it.
README excerpt
Read full README on GitHub →mail-mcp
<strong>Production-ready email MCP server for AI agents</strong>
IMAP + SMTP + EWS + Microsoft Graph API — built in Rust
Most email MCP servers only do IMAP reads. This one does everything: read, search, send, reply, forward, bulk operations, Microsoft Graph API, and Exchange Web Services — with real OAuth2, multi-account, and multi-provider support. Written in Rust for speed and safety.
What's New in v0.5.0
- New: draft tools (
draft_create,draft_update,draft_send,draft_delete,draft_list) closing #3 and #17. An agent can save a message in the account's own Drafts folder, revise it, and send it later, so a person can review it in their mail client first. The same five tools work on every backend: IMAP + SMTP, Exchange Web Services and Microsoft Graph, picked per account (EWS config, else Graph config, else IMAP).list_all_accountsreports the backend asdrafts_with. - Separate gate:
MAIL_DRAFTS_ENABLED(defaultfalse). It is independent ofMAIL_IMAP_WRITE_ENABLED: every operation on an existingdraft_idfirst checks that the target really is a draft (IMAP Drafts folder, EWSIsDraft, GraphisDraft), so enabling drafts never grants move or delete on other mail.draft_sendalso requiresMAIL_SMTP_WRITE_ENABLED. - Graph accounts need the
Mail.ReadWritescope for drafts; see account setup. The EWS attachment flow (CreateItemwithSaveOnly, thenCreateAttachment) follows the approach proposed by @verdelyi in #14. - Fix: SMTP messages now carry a Message-ID on the sender's domain (#7). Before, lettre sent no Message-ID of its own, so the id returned by the send tools was empty and the Sent copy had none.
- Verified live on IMAP (Zoho) and Microsoft Graph; the EWS draft path is covered by unit tests.
What's New in v0.4.17
- New:
imap_search_all_mailboxesby @tdabasinskas in #35. Runs one search in every selectable mailbox of an account and returns the newest matches, each labelled with its mailbox. Built for providers without an "All Mail" folder (iCloud), where one conversation is spread over INBOX, Sent Messages and project folders. The work is spread overMAIL_IMAP_SEARCH_CONCURRENCYconnections (default4, clamped to1..=8); a mailbox that fails is reported and does not abort the search. Scope it withinclude_mailboxes/exclude_mailboxes. - Thread search by Message-ID by
@tdabasinskas in
#34.
imap_search_messagestakes a newthread_message_idcriterion that matches a message and every message whoseIn-Reply-ToorReferencescarries it, so an agent can pull a whole conversation in one search.
What's New in v0.4.16
Similar plugs
Reverse engineer anything with agents, from app behavior down to native binaries.
Build Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from prototype…
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io