Mail.app
Search, read, send, and manage email via macOS Mail.app across all configured accounts.
Connector by p-l-ta · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/p-l-ta-mail-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 8 read · 9 write · 7 delete
- Secrets
- None asked for
- Install scripts
- Not scanned yet
- Runs as
- Node.js package
Tools by what they do 24
Read from the source code; the running server may list different tools.
Read 8 · Look things up without changing anything.
check_compatibilityget_unsubscribe_linklist_accounts_and_mailboxeslist_recentlist_ruleslist_sendersread_emailsearch_emails
Write 9 · Create, change, send or run things.
bulk_flagbulk_mark_readbulk_movecreate_mailboxcreate_rulemove_emailset_message_flagssubmit_feedbackupdate_rule
Delete 7 · Delete, drop, revoke or wipe things.
bulk_applybulk_trashdelete_ruleempty_mailboxreply_to_emailsend_emailtrash_email
Tools (24)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
bulk_applyBulk Applycan change or delete dataApply one action (mark_read, mark_unread, flag, unflag, trash, or move) to a list of messages by RFC message-id, in a single batched call — far faster than calling set_message_flags/trash_email/move_email once per message.
bulk_flagBulk FlagFlag or unflag multiple messages in one call — by mailbox, sender substring, or both. Queries the Envelope Index for matching IDs then updates in a single batched AppleScript call.
bulk_mark_readBulk Mark ReadMark multiple messages as read in one call — by mailbox, sender substring, or both. Far faster than calling set_message_flags per message.
bulk_moveBulk MoveMove multiple messages to a destination mailbox in one call — by mailbox, sender substring, or both. Queries the Envelope Index for matching IDs then moves in a single batched AppleScript call.
bulk_trashBulk Trashcan change or delete dataMove multiple messages to trash in one call — by mailbox, sender substring, or both. Queries the Envelope Index for matching IDs then trashes in a single batched AppleScript call.
check_compatibilityCheck Compatibilityread-onlyProbe each mail-mcp dependency (Envelope Index schema, SyncedRules.plist, AppleScript, MailData directory) and report pass/fail. Run this after a macOS update to verify nothing broke.
create_mailboxCreate MailboxCreate a new mailbox (folder) in a Mail.app account.
create_ruleCreate RuleCreate a new Mail.app rule. A timestamped backup of SyncedRules.plist is made before writing. Mail.app may need to be restarted for the rule to take effect.
delete_ruleDelete Rulecan change or delete dataPermanently delete a Mail.app rule by its RuleId. A timestamped backup of SyncedRules.plist is made before writing so the deletion can be undone. Mail.app may need to be restarted for the change to take effect.
empty_mailboxEmpty Mailboxcan change or delete dataDelete every message in a mailbox at once — moves to Deleted Messages, or permanently removes if the mailbox is already Deleted Messages/Trash. Use for Junk, Trash, or bulk-cleanup folders.
get_unsubscribe_linkGet Unsubscribe Linkread-onlyExtract unsubscribe URLs from a message — checks the List-Unsubscribe header first (reliable), then scans the plain-text body as a fallback.
list_accounts_and_mailboxesList Accounts and Mailboxesread-onlyList all configured Mail.app accounts and their mailboxes with unread counts.
list_recentList Recent Emailsread-onlyList recent messages in a mailbox of a specific account.
list_rulesList Rulesread-onlyList all Mail.app rules with their conditions and actions. Reads directly from SyncedRules.plist.
list_sendersList Sendersread-onlyReturn a grouped count of senders across mailboxes — who sends how many messages, how many are unread, and when the last arrived. By default excludes Deleted Messages, Junk, Sent, and Drafts so counts reflect live mail only. Ideal for identifying bulk senders and noise.
Show 9 more tools
move_emailMove EmailMove a message to a different mailbox by RFC message-id. Use list_accounts_and_mailboxes to get exact mailbox names.
read_emailRead Emailread-onlyRead full body of a message by its RFC message-id. Uses Mail.app via AppleScript so it works for IMAP/iCloud/Exchange messages without filesystem access.
reply_to_emailReply to Emailcan change or delete dataReply to an existing message identified by RFC message-id.
search_emailsSearch Emailsread-onlySearch Mail.app messages via the Envelope Index database. Returns rich metadata including RFC message-id (usable with read_email, reply_to_email, set_message_flags).
send_emailSend Emailcan change or delete dataSend a new email via Mail.app from an existing account.
set_message_flagsSet Message FlagsSet read and/or flagged status on a message identified by RFC message-id.
submit_feedbackSubmit FeedbackOpen a pre-filled GitHub issue for mail-mcp (p-l-ta/mail-mcp) in the default browser. Automatically includes macOS version and mail-mcp version in the issue body.
trash_emailTrash Emailcan change or delete dataMove a message to Deleted Messages (trash) by RFC message-id. Does not permanently delete.
update_ruleUpdate RuleUpdate an existing Mail.app rule by its RuleId (use list_rules to find IDs). A timestamped backup is made before writing. Mail.app may need to be restarted for changes to take effect.
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Weekly downloads
- 17
- Last commit
- Jul 10, 2026 (3 months ago)
- Last release
- Jul 10, 2026 (3 months ago)
- Last package publish
- Jul 10, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.p-l-ta/mail-mcp- Version
- 1.3.5
- Auth
- No auth
- Packages
- npm @p-l-ta/mail-mcp
- License
- MIT
- Repository
- github.com/p-l-ta/mail-mcp
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
More from p-l-ta
Cite this page
Mail.app MCP server. Agent Mart. https://agentmart.dev/connectors/p-l-ta-mail-mcp (last updated 2026-10-24)