MCP server for Apple Mail (macOS Mail.app) — read, search, compose, and manage emails via Claude
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
tools
-
create_mailbox
Create a new mailbox (top-level or nested under a parent)
-
delete_message
Delete a message (moves to Trash)
-
flag_message
Set/clear flag with optional color index (0-6)
-
forward_message
Forward a message to a new recipient
-
get_account_detail
Get full account details (server, port, SSL, mailbox count)
-
get_mailbox_info
Get mailbox details (message count, unread count)
-
get_message
Get full message content, headers, recipients, attachments. Mailbox name is optional — omit to search all mailboxes in the account.
-
list_accounts
List all mail accounts (name, type, enabled, emails)
-
list_attachments
List attachments with filename, MIME type, size, download status
-
list_mailboxes
List mailboxes for an account or all accounts
-
list_messages
List messages with pagination (limit/offset) and optional date filtering (after/before)
-
mark_read
Mark message as read or unread
-
move_message
Move a message to a different mailbox
-
move_messages
Bulk move multiple messages to a different mailbox in a single operation
-
read_attachment
Read text-based attachment content inline (.txt, .csv, .json, .html, .md, .xml, .log)
-
reply_to_message
Reply or reply-all to a message
-
save_all_attachments
Save all attachments from a message
-
save_attachment
Save a specific attachment to disk
-
search_messages
Search by subject, sender, or content with optional date filtering (after/before). Results include the mailbox name.
-
send_message
Send a new email with optional CC, BCC, and attachments
analyzed commit fe745ff · analyzer v17 · 1d ago
skills & prompt files 1
filesystem 4
- fs marius-cetanas-macos-mail-mcp-fe745ff/src/bridge/applescript-runner.ts :4
import { readFile, writeFile, mkdtemp, rm } from "node:fs/promises"; - fs marius-cetanas-macos-mail-mcp-fe745ff/src/domains/compose/compose.tools.ts :3
import { writeFile, mkdtemp, rm } from "node:fs/promises"; - fs marius-cetanas-macos-mail-mcp-fe745ff/src/domains/messages/messages.tools.ts :4
import { writeFile, mkdtemp, rm } from "node:fs/promises"; - fs marius-cetanas-macos-mail-mcp-fe745ff/src/index.ts :3
import { readFileSync } from "node:fs";
shell / exec 1
- shell marius-cetanas-macos-mail-mcp-fe745ff/src/bridge/applescript-runner.ts :2
import { execFile } from "node:child_process";
declared dependencies 5
- @modelcontextprotocol/sdk@^1.27.1
- zod@^3.25.0
- @types/node@^25.0.0
- typescript@^6.0.0
- vitest@^4.0.0