The only way to give Claude (or any LLM) access to Apple Mail and iCloud — local AppleScript bridge for macOS
Apple Mail MCP has 16 tools with basic naming and descriptions, but significant gaps in schema completeness and parameter documentation. Tool names follow verb_noun convention (list_folders, read_email, compose_email), which is good. However, many tools lack visible input schemas in the provided source code. Descriptions are present but often generic (10-50 chars), below the 50-200 char baseline for LLM-optimized docs. Parameter descriptions exist for some tools (list_emails, read_email, compose_email) but are minimal. No output schemas documented. Error handling is absent from visible code. Security concerns: compose_email accepts to/cc/bcc as strings with no validation; no rate limiting visible; AppleScript execution via execFile with args array is safe from injection, but email content is wrapped in untrusted markers (good defense-in-depth). Composition is reasonable, tools are single-purpose and chainable via message_ref format. Overall: functional but below production baseline.
Categorize an email using AI classification
Compose and send a new email message
Create a mail rule for automatic email organization
Delete an email message
Delete a mail rule
Flag or unflag an email message
Retrieve recent mail events from the event queue
List emails in a specific mailbox with pagination
List all mail folders across accounts
Missing input schemas for list_folders, get_events, list_rules. No visible schema definitions in source code for these tools.
Descriptions are too short (10-50 chars) for most tools. Baseline is 50-200 chars. Examples: 'List all mail folders across accounts' (35 chars), 'Retrieve recent mail events from the event queue' (48 chars). LLMs need more context on WHEN to use each tool.
No output schemas documented. LLMs cannot infer what fields list_emails, read_email, or search_emails return. This forces agents to guess at response structure and breaks downstream tool chaining.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |
List all mail rules
Mark an email as read or unread
Move an email message to a different mailbox
Read the full content of a specific email message
Search for emails across mailboxes using query terms
Generate an AI-suggested reply to an email
Generate an AI summary of an email message
No error handling guidance visible. Tools like delete_email and compose_email have destructive/write side effects but no documented recovery paths, confirmation steps, or error classification (retryable vs fatal).
compose_email accepts to/cc/bcc as free-form strings with no validation. No rate limiting visible. No permission gates on destructive tools (delete_email, delete_rule). Agents could spam or abuse email sending.