Skip to content
Agentmart
Submit a tool

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

IndexedMITLocal (stdio)★ 1
Write a review

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.

We use your email only for this newsletter. Privacy

About

Search, read, send, and manage email via macOS Mail.app across all configured accounts.

No 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_compatibility
  • get_unsubscribe_link
  • list_accounts_and_mailboxes
  • list_recent
  • list_rules
  • list_senders
  • read_email
  • search_emails

Write 9 · Create, change, send or run things.

  • bulk_flag
  • bulk_mark_read
  • bulk_move
  • create_mailbox
  • create_rule
  • move_email
  • set_message_flags
  • submit_feedback
  • update_rule

Delete 7 · Delete, drop, revoke or wipe things.

  • bulk_apply
  • bulk_trash
  • delete_rule
  • empty_mailbox
  • reply_to_email
  • send_email
  • trash_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 data

    Apply 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 Flag

    Flag 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 Read

    Mark multiple messages as read in one call — by mailbox, sender substring, or both. Far faster than calling set_message_flags per message.

  • bulk_moveBulk Move

    Move 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 data

    Move 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-only

    Probe 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 Mailbox

    Create a new mailbox (folder) in a Mail.app account.

  • create_ruleCreate Rule

    Create 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 data

    Permanently 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 data

    Delete 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-only

    Extract 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-only

    List all configured Mail.app accounts and their mailboxes with unread counts.

  • list_recentList Recent Emailsread-only

    List recent messages in a mailbox of a specific account.

  • list_rulesList Rulesread-only

    List all Mail.app rules with their conditions and actions. Reads directly from SyncedRules.plist.

  • list_sendersList Sendersread-only

    Return 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 Email

    Move a message to a different mailbox by RFC message-id. Use list_accounts_and_mailboxes to get exact mailbox names.

  • read_emailRead Emailread-only

    Read 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 data

    Reply to an existing message identified by RFC message-id.

  • search_emailsSearch Emailsread-only

    Search 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 data

    Send a new email via Mail.app from an existing account.

  • set_message_flagsSet Message Flags

    Set read and/or flagged status on a message identified by RFC message-id.

  • submit_feedbackSubmit Feedback

    Open 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 data

    Move a message to Deleted Messages (trash) by RFC message-id. Does not permanently delete.

  • update_ruleUpdate Rule

    Update 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
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)