Skip to main content
Glama
p-l-ta

mail-mcp

by p-l-ta

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_emails

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

read_email

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.

list_accounts_and_mailboxes

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

list_recent

List recent messages in a mailbox of a specific account.

send_email

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

reply_to_email

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

set_message_flags

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

move_email

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

trash_email

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

create_mailbox

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

bulk_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.

get_unsubscribe_link

Extract unsubscribe URLs from a message — checks the List-Unsubscribe header first (reliable), then scans the plain-text body as a fallback.

list_senders

Return a grouped count of senders in a mailbox — who sends how many messages, how many are unread, and when the last arrived. Ideal for identifying bulk senders and noise.

empty_mailbox

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.

list_rules

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

create_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.

update_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.

delete_rule

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.

check_compatibility

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.

submit_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.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/p-l-ta/mail-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server