Apple Mail MCP

by patrickfreyer• 246•• Scanned•Claim this listing•Request removal
Research & Analysisaiapple mailapplescriptautomationclaude

MCP server giving AI assistants full access to Apple Mail - read, search, compose, organize & analyze emails via natural language

Apple Mail MCP is an open-source mcp server by patrickfreyer, written mainly in Python, with 246 GitHub stars and the MIT license. Its code was last updated Oct 28, 2026.

Scan summary: scanned Nov 13, 2026 at commit fc1af70. Seen able to read environment and secrets, connect to the internet. Scan policy

Scanned
Full scan at fc1af70 · Nov 13, 2026
Scanned Builds Boots Reproducible
Static code scanwarn
Secrets scanpass
Dependency audit16 known vulnerabilitiesfail
Manifestserver.jsonpass
Buildpass
Boot & handshake28 toolspass
Network egressfail
Reproducible (×3)pass

Findings (13)

  • high
    credential-access issue
    Details are available to the maintainer after claiming this listing.
  • high
    credential-access issue
    Details are available to the maintainer after claiming this listing.
  • high
    credential-access issue
    Details are available to the maintainer after claiming this listing.
  • high
    credential-access issue
    Details are available to the maintainer after claiming this listing.
  • high
    credential-access issue
    Details are available to the maintainer after claiming this listing.
  • high
    credential-access issue
    Details are available to the maintainer after claiming this listing.
  • high
    dependencies issue
    Details are available to the maintainer after claiming this listing.
  • high
    dependencies issue
    Details are available to the maintainer after claiming this listing.
  • high
    dependencies issue
    Details are available to the maintainer after claiming this listing.
  • high
    network issue
    Details are available to the maintainer after claiming this listing.
  • medium
    python-multipart@0.0.9: 8 known vulnerabilities
    PYSEC-2026-1851, PYSEC-2026-1852, PYSEC-2026-3036, PYSEC-2026-3037, PYSEC-2026-3038 +3 more
    plugin/requirements.txt
  • low
    idna@3.9.0: 1 known vulnerability
    PYSEC-2026-215
    plugin/requirements.txt
  • low
    Reads environment variables not listed in the manifest
    USER_EMAIL_PREFERENCES

Network activity

During install
files.pythonhosted.orgpypi.org
While running
pypi.org

Tools exposed (28)

  • list_inbox_emails

    List all emails from inbox across all accounts or a specific account. Replaces the former get_recent_emails tool — use account + max_emails to get recent emails from a single account.

  • get_mailbox_unread_counts

    Get unread counts per mailbox for one account or all accounts. When summary_only=True, returns only per-account inbox unread totals (replaces the former get_unread_count tool).

  • list_accounts

    List all available Mail accounts.

  • list_account_addresses

    List all configured email addresses for each Mail account. Useful for mapping a Mail.app account name (e.g. "Gmail", "Work") to the actual email address(es) it receives mail at — handy when an integration needs to know which inbox a message landed in by address rather than by Mail.app's display nam

  • list_mailboxes

    List all mailboxes (folders) for a specific account or all accounts.

  • get_inbox_overview

    Get a comprehensive overview of your email inbox status across all accounts.

  • search_emails

    Unified search tool with JSON output, pagination, and real date filtering. Consolidates subject search, sender search, body content search, and cross-account search into a single tool.

  • get_email_thread

    Get an email conversation thread - messages linked by Message-ID, not just by subject. Candidates are found by subject (fast, filtered inside Mail), then linked through their Message-ID / In-Reply-To / References headers. Messages that merely share the subject but belong to a different conversation

  • get_email_source

    Return the raw RFC 822 source of a single message. The MCP's other body-extraction paths return Mail.app's rendered content (HTML collapsed to display text, hrefs dropped, embedded objects replaced with U+FFFC). This tool returns the raw source instead — all headers, all MIME parts, all hrefs intac

  • create_rich_email_draft

    Create a rich-text email draft by generating an unsent `.eml` message and optionally opening it in Mail. This is the preferred path for HTML or richly formatted emails because Mail reliably renders `.eml` content, while setting raw HTML through AppleScript often stores the literal markup instead.

  • reply_to_email

    Reply to an email matching a subject keyword.

  • compose_email

    Compose and send a new email from a specific account.

  • forward_email

    Forward an email to one or more recipients.

  • manage_drafts

    Manage draft emails - list, create, send, open, or delete drafts.

  • move_email

    Move email(s) matching filters from one mailbox to another. Supports subject, sender, and date filters. Use dry_run=True to preview matches without moving. Set only_read=True to skip unread emails (useful for archiving). For archiving to "Archive", just set to_mailbox="Archive". Pass message_ids to

  • save_email_attachment

    Save a specific attachment from an email to disk.

  • update_email_status

    Update email status - mark as read/unread or flag/unflag emails. When message_ids is provided, uses exact ID matching (ignores other filters). Otherwise filters by subject, sender, and/or age.

  • manage_trash

    Manage trash operations - delete emails or empty trash. When dry_run=True (default) and action is "move_to_trash", previews what would be deleted without acting. Set dry_run=False to actually move to trash. Mail's AppleScript interface has no command that erases a message: `delete` means "move to

  • create_mailbox

    Create a new mailbox (folder) in the specified account. Supports nested paths via the parent_mailbox parameter (e.g., parent_mailbox="Projects" + name="2024" creates Projects/2024). You can also pass a full slash-separated path as *name* (e.g., "Projects/2024/ClientName") and omit parent_mailbox.

  • synchronize_account

    Force Mail.app to synchronize an account (or every account) with its IMAP / Exchange server right now. Equivalent to clicking the refresh button next to the account or selecting Mailbox → Synchronize. Use after `move_email`, `update_email_status`, or `manage_trash` when downstream clients (iPhone,

  • list_email_attachments

    List attachments for emails matching a subject keyword.

  • get_statistics

    Get comprehensive email statistics and analytics.

  • export_emails

    Export emails to files for backup or analysis.

  • inbox_dashboard

    Get an interactive dashboard view of your email inbox. Returns an interactive UI dashboard resource that displays: - Unread email counts by account (visual cards with badges) - Recent emails across all accounts (filterable list) - Quick action buttons for common operations (Mark Read, Archive, Dele

  • get_awaiting_reply

    Find sent emails that haven't received a reply yet. Scans the Sent mailbox for outgoing emails and cross-references with the Inbox to see if a reply (matching subject) was received from the same recipient. Useful for follow-up tracking.

  • get_needs_response

    Identify unread emails that likely need a response from you. Filters out newsletters, automated emails, and noreply senders. Prioritises direct emails (To: you) with question marks as likely needing a reply.

  • get_top_senders

    Analyse a mailbox to find the most frequent senders. Useful for identifying key contacts, high-volume senders to filter, or newsletter sources to unsubscribe from.

  • read_email

    Read headers, plain-text body and attachment metadata for one message. Use the numeric message_id returned by search_emails, not the RFC Message-ID header. The lookup never scans messages. max_chars caps only the body, with explicit truncation metadata. output_format is text or json. Attachment con

Automated result for the commit shown. See our scan policy. View the scan log

Maintainers can claim the listing to rescan, or dispute a result.

Apple Mail MCP alternatives

View more →

Similar mcp servers in Research & Analysis, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.

NameStarsLicenceLast updatedScan
Apple Mail MCP (this page)
patrickfreyer
246MITOct 28, 2026Scanned, no flagged issues
Worldmonitor
koala73
90kAGPL-3.0Nov 1, 2026Scanned, no flagged issues
GPT Researcher
assafelovic
30kApache-2.0Oct 10, 2026Scanned, no flagged issues
Auto Claude Code Research In Sleep
wanshuiyin
18kMITNov 1, 2026Scanned, no flagged issues
Deep Research
u14app
4.7kMITJun 18, 2026Scanned, no flagged issues
MCP Server Chart
antvis
4.4kMITAug 27, 2026Scanned, no flagged issues