PlugWiki
Apple Mail MCP (sweetrb) logo

Apple Mail MCP Server by sweetrb: Setup for Claude Code, Codex and More

CommunityLocal
Getnpmapple-mail-mcpsweetrb/apple-mail-mcp

Lets Claude, Codex and other assistants read, search, draft, send and organize email in the Apple Mail app on your Mac.

This is a community server by sweetrb that drives the Apple Mail app on your Mac. It runs locally, needs macOS and Node.js 20 or later, and has no account or API key. The first time you use it, macOS asks you to allow automation of Mail.

It can send real email and delete messages, folders and rules, and there is no read-only mode. Ask for drafts first and review them before anything is sent.

Good for

  • Mac users who live in Apple Mail and want help triaging the inbox
  • People who want email drafted for review, then sent
  • Claude Code and Codex users who already work on a Mac
  • Teams sending personalized mail merges from Apple Mail

Works in

12 should work

Tap an app to see how to set it up and any known problems.

Install Apple Mail MCP (sweetrb)

Claude Code

  1. 1

    Copy this prompt.

    Add the Apple Mail MCP (sweetrb) server to Claude Code. Run this command:
    
    claude mcp add apple-mail -s user -- npx -y apple-mail-mcp
    
    Then check that it loaded and tell me if I need to sign in or restart.
  2. 2

    Paste it into Claude Code. It shows the change and asks before running it.

Requires macOS, Node.js 20+.

Only works on a Mac. The first call makes macOS ask you to allow automation of Mail, so click OK.

From the project README. Source.

Tools

  • Finds emails by sender, subject, text, date or status

    Searches across your accounts and returns each match with an id, date, subject, sender, mailbox and read state. The ids are what other tools need.

    Try: “Find unread emails from john@example.com this week.”

    Read · search-messages

  • Lists recent emails in a mailbox

    Browses a mailbox page by page, optionally for one sender or unread only, and returns ids with date, subject and sender.

    Try: “Show my 20 latest inbox messages.”

    Read · list-messages

  • Reads one email in full

    Returns the subject and body of a message you already have the id for, as plain text or HTML.

    Try: “Read the email from the landlord.”

    Read · get-message

  • Shows an email's raw headers

    Returns the technical headers of a message, such as the sender's Date line, Message-ID and the Received trail, without the body.

    Try: “Show the headers of that suspicious email.”

    Read · get-message-headers

  • Gets the original email file exactly as stored

    Fetches a message's complete original bytes from the mail server for archiving, with a SHA-256 hash. It works only for accounts set up over IMAP, and can save the result to a file.

    Try: “Save the original of that invoice email to my Documents folder.”

    Files · get-message-rfc822

  • Shows a whole conversation

    Gathers the messages in the same conversation as one email, oldest first.

    Try: “Show the full thread for this email.”

    Read · get-thread

  • Saves a draft for you to review

    Creates an email in Drafts instead of sending it. The README names this the safe choice for any new message.

    Try: “Draft a reply to the team about Friday's meeting.”

    Write · create-draft

  • Sends an email right away

    Sends one email immediately to the recipients you give, with optional attachments. The tool's own description says it cannot be unsent, so confirm recipients and text first.

    Try: “Send Anna the meeting notes.”

    Write · send-email

  • Sends personalized copies to a list

    Mail merge: sends one personalized email per recipient, up to 100, with placeholders filled from each recipient's details.

    Try: “Send each client their invoice number in the same message.”

    Write · send-serial-email

  • Replies to an email

    Replies to a message by id, keeping the thread and quote. It can reply to everyone, and it can save a draft instead of sending.

    Try: “Reply to John saying Thursday works, as a draft.”

    Write · reply-to-message

  • Forwards an email

    Forwards a message by id to new recipients with an optional note. It can save a draft instead of sending.

    Try: “Forward this to my colleague with a short note.”

    Write · forward-message

  • Marks one email as read

    Sets one message to read.

    Try: “Mark that email as read.”

    Write · mark-as-read

Read from the source code

Permissions

high risk · 5 things to watch

High risk

The assistant can send real email and delete messages, folders and rules in Apple Mail, and there is no read-only mode. Ask for drafts first and confirm every delete.

What it can do

  • Read your data
  • Create and change things
  • Delete things
  • Read-only mode

Watch out for

  • It sends real email that cannot be unsent

    The send, reply, forward and mail-merge tools send straight away unless you ask for a draft. Ask for drafts and read them before sending. github.com

  • It can delete messages, folders and rules

    It can delete messages (to Trash, up to 100 at once), whole mailboxes with their messages, mail rules and smart mailboxes. Confirm the exact names before each delete. github.com

  • A mail rule keeps acting on your mail

    The rule tool can create rules that mark, move or delete mail on an ongoing basis. Review the conditions before you allow it. github.com

  • Attachments and templates write files on your Mac

    Saving an attachment writes into a folder you name inside its allowed roots, and templates are stored in a file under Application Support. Outbound attachments may come from ordinary files under your home folder, with credential and config locations denied by default. github.com

  • Contact search needs Full Disk Access

    Searching contacts reads the Contacts database directly, so it needs Full Disk Access for Node and Node.js 22.5 or later. Skip that permission if you do not need it. github.com

Security advisories

No published security advisories as of Nov 1, 2026.

Technical details
Turning on read-onlyNo read-only mode is documented. Every tool in the default install is available.
Talks toYour own mail provider over TLS, only if you configure IMAP or SMTP
Sign-in and keysNo account or API key. It controls Mail.app through macOS Automation, and optional IMAP or SMTP passwords are kept in the macOS Keychain.

Questions

Is the Apple Mail MCP server official?

No. It is a community project by sweetrb, not made by Apple. It runs on your Mac and drives the Apple Mail app.

Does it only work on a Mac?

Yes. It needs macOS, because it talks to Apple Mail through AppleScript, plus Node.js 20 or later and at least one account set up in Mail.

Will it send email without asking me?

It can. The send tool sends immediately and cannot be undone. Ask for drafts and review them, since the README recommends the draft tool for any new message.

Does it need an API key or my email password?

No key is needed. It works through the Mail app you already use after you allow macOS automation. IMAP and SMTP are optional, and their passwords stay in the macOS Keychain.

Can it run read-only?

No. There is no read-only switch, so every tool stays available in the default install.

Does my mail leave my computer?

Not through this server. The README says it talks only to Mail on your Mac and, if you set up IMAP or SMTP, to your own mail provider. Your AI app still sees whatever the tools return.

Is it the same as imdinu/apple-mail-mcp?

No. That is an unrelated Python project of the same name. This page covers the npm package apple-mail-mcp from sweetrb.

Which assistants does it work with?

Claude Code, Claude Desktop and Codex are documented, and the README also covers Hermes and Antigravity. It runs locally, so web chat apps cannot use it.

Why does macOS keep asking for permission?

macOS asks for Automation access to Mail the first time. If it keeps asking, usually after a Node upgrade, the README points to a guide that runs the server under the signed Node build.

Information

updated Nov 2, 2026

Publisher
Community
Package
apple-mail-mcp
Registry
npm
Version
2.20.52
License
MIT
Last commit
Oct 31, 2026

GitHubnpmChangelogIssues

Sources

Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.

Show all 3
  1. github.com · github.com
  2. www.npmjs.com · npmjs.com
  3. github.com · github.com

Facts from the official MCP registry, GitHub, npm, PyPI and the Docker catalog. Updated Nov 2, 2026.