Email-mcp Server

A unified MCP server for email access across Gmail, Outlook, iCloud, and generic IMAP providers.

Local serverstdioMIT

What is the Email-mcp Server?

Email Mcp is an MCP project maintained in the marlinjai/email-mcp repository. The maintainer describes its purpose as “A unified MCP server for email access across Gmail, Outlook, iCloud, and generic IMAP providers”. Read the project documentation for the complete scope.

Installation

The documented npm package is @marlinjai/email-mcp. The configuration below comes from the maintainer’s example; adapt its paths and account values to your environment.

Source

Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
email_list_accountsList all configured accounts with connection status
email_add_accountAdd a new IMAP or iCloud account (Gmail/Outlook require setup wizard)
email_remove_accountRemove an account and its stored credentials; revokes the Google grant for Gmail, removes Outlook tokens from the local token cache, and reports the outcome
email_test_accountTest connection to an account
email_list_foldersList all folders/labels for an account
email_searchSearch emails with filters. Returns compact results by default (returnBody=false). Set returnBody=true to include full email bodies
email_getGet full email content by ID (headers, body, attachment metadata). sourceFolder names the folder on iCloud/IMAP when the message is not in INBOX
email_get_threadGet an entire email thread/conversation. On iCloud/IMAP a thread is searched in one folder: INBOX, or the one named in sourceFolder
email_get_attachmentDownload a specific attachment by ID (returns base64 data). sourceFolder names the folder on iCloud/IMAP when the message is not in INBOX
email_save_attachmentDownload an attachment directly to disk, returning metadata only, which avoids the token cost of round-tripping large files as base64. outputPath is relative…
email_sendCompose and send a new email (to, cc, bcc, subject, body, attachments)
email_replyReply to an email in its thread. replyAll addresses the sender and all To/Cc recipients except your own address, each once. Optional to/cc/bcc overrides and…
email_forwardForward an email to new recipients (to, cc, bcc, optional text on top, attachments). The original's attachments are left out unless includeOriginalAttachments:
email_draft_createSave a draft without sending (attachments supported). inReplyToEmailId saves it as a reply inside that message's thread (inReplyToSourceFolder names that…
email_draft_updateUpdate an existing draft in place. A reply draft stays in its thread. On Gmail/Outlook the draft id is unchanged; on iCloud/generic IMAP there's no in-place…
email_draft_listList all drafts
email_moveMove an email to a different folder. Supports sourceFolder for IMAP/iCloud
email_transferMove or copy emails between accounts, preserving the original message (sender, date, threading) via raw MIME transfer. deleteAfter=true trashes the source only
email_deleteDelete an email (trash or permanent). Supports sourceFolder for IMAP/iCloud
email_markMark as read/unread, starred, or flagged. Supports sourceFolder for IMAP/iCloud
email_labelAdd/remove labels (Gmail only)
email_folder_createCreate a new folder
email_get_labelsList all labels with counts (Gmail only)
email_get_categoriesList all categories (Outlook only)
email_batch_deleteDelete multiple emails at once (up to 1000 for Gmail, batches of 20 for Outlook, UID ranges for IMAP)
email_batch_moveMove multiple emails to a folder in a single call
email_batch_markMark multiple emails read/unread, starred, or flagged at once
email_batch_labelAdd or remove labels on multiple emails at once (native batch call on Gmail, one by one elsewhere)
email_report_spamReport an email as spam/junk, training the provider's own filter — the same signal the "Report Junk" button sends in Gmail/Outlook. This is different from…
email_batch_report_spamReport multiple emails as spam/junk at once
email_create_block_ruleCreate a standing rule that intercepts future mail matching a pattern (sender domain/address, subject, or arbitrary header content) and either deletes it or…
email_list_block_rulesList the standing block rules on an account, for auditing or before deleting one
email_delete_block_ruleDelete a standing block rule — use to undo a rule that turned out too broad
email_create_forward_ruleCreate a standing rule that forwards future mail matching a pattern (sender domain/address, subject, or header content) to another address, for example…
email_list_forward_rulesList every rule on an account that forwards mail elsewhere, including rules made by hand in Gmail or Outlook: an audit of where mail is being sent
email_delete_forward_ruleDelete a forwarding rule by id

How to install the Email-mcp Server

{
  "mcpServers": {
    "email": {
      "command": "npx",
      "args": [
        "@marlinjai/email-mcp"
      ]
    }
  }
}

From the project documentation. Replace placeholders and example paths before connecting.