LLM access to Apple Mail and iCloud via AppleScript. Read, search, compose, reply, flag and delete.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"io-github-jayvee6-apple-mail-mcp": {
"command": "<see-readme>",
"args": []
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
The only way to give Claude (or any LLM) access to Apple Mail and iCloud.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in ai-ml / communication
Persistent memory using a knowledge graph
An MCP server that securely interfaces with your iMessage database via the Model Context Protocol (MCP), allowing LLMs to query and analyze iMessage conversations. It includes robust phone number validation, attachment processing, contact management, group chat handling, and full support for sending and receiving messages.
Privacy-first. MCP is the protocol for tool access. We're the virtualization layer for context.
An open-source AI agent that brings the power of Gemini directly into your terminal.
MCP Security Weekly
Get CVE alerts and security updates for io.github.jayvee6/apple-mail-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
The only way to give Claude (or any LLM) access to Apple Mail and iCloud.
Gmail and Outlook have APIs. iCloud doesn't. If you're a Mac user whose email lives in Apple Mail — iCloud, iCloud+, or any account synced through it — there's no web API an LLM can call. This server bridges that gap using AppleScript on your local machine.
It gives Claude full control over Apple Mail: read, search, compose, reply, move, flag, and delete messages using natural language, against your real inbox, with no cloud intermediary.
Built on AppleScript via osascript, with an optional MailKit extension for real-time new-mail events.
| Tool | Description |
|---|---|
list_folders | List all accounts and their mailboxes |
list_emails | Paginate messages in a mailbox (newest-first) |
get_email | Read a message's full headers and body |
search_emails | Filter by sender, subject, date range across mailboxes |
compose_email | Create a draft or send a new message immediately |
reply_email | Reply to a message, open as draft or send immediately |
move_email | Move a message to any mailbox |
archive_email | Move to Archive (iCloud) or All Mail (Gmail) |
move_to_junk | Move to Junk (iCloud) or Spam (Gmail) |
flag_email | Set or clear the flag on a message |
mark_read | Mark a message as read or unread |
delete_email | Move to Deleted Messages (iCloud) or Trash (Gmail) |
get_pending_events | Drain real-time new-mail events from the MailKit bridge |
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"apple-mail": {
"command": "npx",
"args": ["-y", "@jdot6/apple-mail-mcp"]
}
}
}
Restart Claude Desktop, then ask: "What folders do I have in my mail?"
Clones the repo, builds it, and patches the Claude config automatically:
curl -fsSL https://raw.githubusercontent.com/jayvee6/apple-mail-mcp/master/install.sh | bash
git clone https://github.com/jayvee6/apple-mail-mcp.git
cd apple-mail-mcp
npm install && npm run build
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"apple-mail": {
"command": "/opt/homebrew/bin/node",
"args": ["/path/to/apple-mail-mcp/dist/index.js"]
}
}
}
Use which node to get the full path to your Node binary. Restart Claude Desktop.
The first time you use a mail tool, macOS will ask whether to allow node to control Mail. Click Allow. If you accidentally deny it, go to System Settings → Privacy & Security → Automation and re-enable it for your terminal or Node.js runtime.
The skill/SKILL.md file in this repo is a Claude skill that adds a multi-agent review pipeline to every email Claude drafts. Before opening a compose window, Claude runs the draft through five parallel reviewers:
| Reviewer | Checks |
|---|---|
| Slop detector | AI writing tells, filler phrases, corporate buzzwords |
| Copy editor | Spelling, grammar, punctuation |
| Active voice | Passive → active constructions |
| Correctness | Names, dates, facts match the context |
| Logic & clarity | Clear ask, logical structure, appropriate length |
An arbiter synthesizes the reviews into a revised draft and changelog. Claude shows you the result and waits for your approval before opening the draft in Mail. send: true is never used for LLM-drafted email — you send from Mail yourself.
To install the skill in Claude Code:
/skill install /path/to/apple-mail-mcp/skill/SKILL.md
... [View full README on GitHub](https://github.com/jayvee6/apple-mail-mcp#readme)