Skip to main content
Glama
parasxos

apple-mail-mcp

by parasxos

✉️ apple-mail-mcp

Ваш Apple Mail, полностью управляемый агентом.

Работает локально на вашем Mac. Открывает хранилище Mail только для чтения, возвращает только то, что запрашивает клиент, и отправляет только тогда, когда клиент явно вызывает инструмент отправки. Никакого стороннего ретранслятора и облачной копии вашей почты.

Используйте Claude, Codex, Cursor, VS Code или любой локальный MCP-клиент, чтобы искать, читать, сортировать и отправлять письма через Apple Mail — ваш почтовый ящик становится тем, чему можно задавать вопросы, искать и делегировать задачи — находите что угодно за секунды, раскладывайте сотни писем по утвержденному плану, отправляйте аккуратные письма от правильной личности и позволяйте Exchange доставлять запланированные сообщения, даже пока ваш Mac спит.

ci tools platform python mcp contract


демо: uvx install, status и поиск Claude по хранилищу из 298k сообщений

✨ Что вы можете делать

🔍 Задавайте вопросы своему почтовому ящику. «Что Стефан прислал мне о памятке на прошлой неделе?» Поиск выполняется на скорости базы данных — отправитель, ящик, даты, непрочитанные, вложения — и восстанавливает целые переписки.

🕳️ Найдите то, что не может сам Mail. Встроенный поиск Mail просматривает только первую строку большинства сообщений. apple-mail-mcp индексирует содержимое каждого сообщения на вашем Mac — а для учетных записей Exchange даже подгружает тела писем, которые Mail никогда не скачивал, прямо из вашего ящика на сервере. Запросы, которые раньше ничего не находили, возвращают двадцать результатов.

🎭 Отправляйте как нужный «вы». Рабочая почта — через рабочий канал, личная — через Gmail: один параметр выбирает идентичность. Каждое сообщение создается с нуля как чистое, соответствующее стандартам письмо, которое корректно отображается везде, включая Outlook (путь создания через AppleScript, который в Outlook приходит пустым, — причина существования этого проекта).

Планирование как «Отправить позже», но автоматизируемое. Запланированное сообщение фиксируется полностью — вложения, идентичность, точный текст. Exchange может выполнить его на стороне сервера в запрошенное время даже при закрытой крышке; другие провайдеры используют локального фонового отправителя и доставляют его при следующем проходе (или сразу после пробуждения Mac).

🗂️ Массовая сортировка без страха. «Разложи эти 40 рассылок» превращается в проверяемый план: ничего не перемещается, пока он не одобрен, каждое сообщение перепроверяется перед изменением, а результат затем сверяется с записями самого Mail. Удаление означает корзину Mail — ничто никогда не стирается.

📝 Черновик там, где живут ваши черновики. Составляйте прямо в настоящей папке «Черновики» Exchange — готовые к открытию в Outlook или OWA; они создаются, но никогда не отправляются автоматически.

Related MCP server: apple-mail-readonly-mcp

⚡ Чем это отличается

Все остальные MCP для Apple Mail используют AppleScript и для поиска, и для действий. Этот — нет, и это заметно:

Операция

AppleScript whose-clause

apple-mailbox-mcp

🔍 Поиск по 300k сообщениям

секунды вплоть до тайм-аута

миллисекунды

🎯 Обращение к одному сообщению в ящике на 71k

7–10 s (измерено)

< 0.1 ms

✉️ Отправка почты

тело письма отображается пустым в Outlook

отображается везде, plain+HTML

⏰ Планирование почты

на стороне сервера в Exchange; надежная локальная очередь в остальных случаях

🗂️ Массовая сортировка

один вызов на сообщение, без проверки результата

один проверенный план, одно применение, с проверкой

Каждое число выше было измерено на живом хранилище из ~300,000 сообщений; скрипт и полная методика — в docs/benchmarks.md.

🛡️ Создан, чтобы ему доверяли

  • План → проверка → применение → подтверждение. Массовые действия фиксируются в плане, который вы можете прочитать до того, как что-либо произойдет; результат затем подтверждается по собственному хранилищу Mail, а не предполагается.

  • 🗑️ Ничто никогда не стирается. «Удаление» перемещает в корзину Mail, а разрушительные планы имеют собственную отдельную дверь с лимитом.

  • 👓 Режим «только чтение» для почты. Установите EMAIL_MCP_READ_ONLY=1, и в сессии будут доступны только 11 неизменяющих почтовых инструментов. Поиск может по-прежнему вести локальный индекс содержимого, а получение вложений записывает запрошенный файл в настроенную временную директорию.

  • 💾 Устойчивая к сбоям очередь запланированных писем. Обновления манифеста сбрасываются и атомарно заменяются, поэтому прерванная перезапись сохраняет последнюю валидную запись. Если файл поврежден независимо, диагностика называет его, а не заявляет, что очередь пуста, а здоровые запланированные сообщения продолжают движение.

  • 🧾 Локальный журнал действий, который ведется по мере возможностей. Отправки, запланированные письма, отмены и запуски сортировки записываются так, чтобы незаписываемый журнал не блокировал почту. Для сверки авторитетными остаются само сообщение, его Message-ID и запись о запланированной отправке.

  • 🔒 Никакого стороннего почтового ретранслятора. Содержимое почты остается локальным, кроме писем, которые вы отправляете, и необязательного доступа к вашему собственному провайдеру для дозагрузки тел Exchange/IMAP, черновиков и планирования на стороне сервера. Пароли SMTP хранятся в связке ключей macOS или 1Password; токены Microsoft OAuth находятся в приватном кэше с правами 0600 в ~/.email-mcp/graph/.

  • 📜 Письменный контракт. Начиная с v1.0 формы инструментов, коды ошибок и ограничения развиваются только аддитивно; это удерживается 800+ автоматическими тестами.

  • 🤝 Понятно любому MCP-клиенту. Все 21 инструмент описывает, что он делает, объясняет каждый входной параметр и заявляет, читает ли он данные, изменяет или может удалять. Более новые клиенты получают структурированные результаты; более старые — тот же JSON-текст. Протестированы и поддерживаемая линия MCP 1.x, и текущая MCP 2.x.

  • 🧱 Создан для развития без нарушения вашего рабочего процесса. Правила обработки почты изолированы от MCP, Mail.app, Exchange, доставки и локального хранилища. Изменения провайдера или SDK остаются на периферии, пока контракт из 21 инструмента остается стабильным. Правила зависимостей соблюдаются в CI и описаны в руководстве по архитектуре.

  • 📦 Релизы, которые можно проверить. Каждый помеченный релиз собирается и устанавливается в чистом окружении перед публикацией. GitHub включает wheel, исходный архив, контрольные суммы SHA-256 и подписанную информацию о сборке — не только исходный код.

  • 🩺 Самодиагностика. apple-mail-mcp status показывает единый понятный экран готовности, планирования и восстановления. apple-mail-mcp doctor предоставляет полную диагностическую информацию и точное исправление для всего, что подсвечено красным.

🚀 Быстрый старт

  1. Предоставьте полный доступ к диску вашему терминальному приложению (Системные настройки → Конфиденциальность и безопасность → Полный доступ к диску), затем закройте и снова откройте терминал. Это единственный ручной переключатель Apple — для него нет всплывающего окна.

  2. Установите и настройте:

    uvx apple-mailbox-mcp setup     # or: pipx install apple-mailbox-mcp
  3. Зарегистрируйте в своем клиенте — одна строка для Claude Code:

    claude mcp add --transport stdio --scope user apple-mail -- uvx apple-mailbox-mcp

    или тот же JSON-блок для Claude Desktop / Cursor / VS Code (claude_desktop_config.json / .cursor/mcp.json / .vscode/mcp.json):

    {
      "mcpServers": {
        "apple-mail": { "command": "uvx", "args": ["apple-mailbox-mcp"] }
      }
    }
  4. Проверка: uvx apple-mailbox-mcp status выводит один экран готовности — или просто попросите клиент запустить инструмент doctor; каждая красная строка сопровождается точным исправлением. Первое построение индекса содержимого в большом почтовом ящике выполняется в фоне и может занять несколько минут; поиск работает сразу и завершается по мере заполнения индекса.

Перед запуском setup предоставьте вашему терминальному приложению полный доступ к диску (Системные настройки → Конфиденциальность и безопасность → Полный доступ к диску) — именно так чтение остается быстрым и локальным. Для этого нет всплывающего окна; это единственный ручной переключатель Apple, и setup сам приведет вас к нужной панели, если обнаружит, что доступ отсутствует.

setup задает все вопросы простыми словами (пустой Enter принимает рекомендуемый ответ), предлагает идентичность для отправки, строит индекс поиска по содержимому, проверяет, что ночное обновление действительно запускается, и в конце печатает тот самый блок, который вы вставите в свой MCP-клиент:

{
  "mcpServers": {
    "apple-mail": { "command": "apple-mail-mcp" }
  }
}

setup завершается четким вердиктом ready или нумерованными шагами восстановления. Предоставьте Автоматизация → Mail, когда сортировка впервые запросит это. Проверяйте установку, следующее запланированное сообщение и неудавшиеся запланированные отправки в любое время с помощью apple-mail-mcp status; используйте apple-mail-mcp doctor для полной технической информации.

💡 Новичок в терминале? Три вещи, которые выглядят как ошибка, но не являются ею: brew install pipx требует ввести y (одиночный Enter не принимается); pipx ensurepath может вывести ⚠️ — строка «pipx is ready to go!» после нее и есть вердикт; а после ensurepath закройте и снова откройте терминал один раз, чтобы apple-mail-mcp был найден.

🔧 Устранение неполадок

Симптом

Решение

Клиент сообщает, что сервер не запустился, но uvx apple-mailbox-mcp работает в вашем терминале

Графические приложения не наследуют PATH вашей оболочки. Используйте абсолютный путь: "command": "/opt/homebrew/bin/uvx" (узнайте свой с помощью which uvx).

database is locked или пустые результаты

Отсутствует полный доступ к диску для приложения, которое запускает сервер (клиента, а не терминала). Предоставьте его, затем полностью закройте и снова откройте это приложение.

Поиск находит недавние письма, но не содержимое старых

Индекс содержимого еще строится — первое построение в ящике на 100k+ сообщений занимает минуты. status показывает прогресс.

Отправка не удается с transport_unavailable

Запустите doctor: он назовет проблемный канал (отсутствует элемент в связке ключей, неактивный SSH-сокет, недоступен SMTP-хост) и напечатает точное исправление.

Сортировка в первый раз ничего не делает

Предоставьте Автоматизация → Mail, когда macOS запросит; запрос появляется при первом использовании, а не при установке.

🧰 21 инструмент

Группа

Инструменты

🔍 Чтение (8)

search_emails (поиск по полному содержимому) · get_email · get_emails_batch · get_thread · list_mailboxes · list_recent · get_attachment · refresh_mail

✉️ Отправка (6)

send_email · reply_email (в виде ветки, с цитированием) · create_draft · schedule_email · list_scheduled · cancel_scheduled

🗂️ Сортировка (5)

triage_plan · triage_plan_delete · triage_apply · mailbox_create · mailbox_delete

🩺 Служебные (2)

doctor (полная диагностика с готовыми исправлениями) · audit (локальный журнал)

Вложения в обе стороны, в пределах лимита размера. Ответы корректно выстраиваются в цепочки в любом клиенте. Планирование переживает сон — сообщение, которое должно было уйти, пока крышка была закрыта, отправляется при первом же тике после пробуждения, или точно вовремя через Exchange.

🎭 Ваши адреса, ваши маршруты

Адрес From: определяет, как путешествует почта. ~/.email-mcp/identities.toml:

default = "work"

[work]                    # sent through a host you already trust, over SSH
from_addr = "you@example.org"
driver    = "ssh_sendmail"
host      = "bastion.example.org"   # any login host you already SSH to

[gmail]                   # classic SMTP — the app password stays in 1Password
from_addr = "you@gmail.com"
driver    = "smtp"
host      = "smtp.gmail.com"
op        = "op://Personal/gmail app password/password"

Учётные записи Exchange могут добавить один вход в систему, чтобы открыть дополнительные возможности: черновики попадают в вашу настоящую папку Drafts, а запланированные отправки выполняются самим сервером — крышка закрыта, Mac спит. setup предлагает это одним простым вопросом. Чтение не требует настройки отправки вовсе.


21 инструмент · 849 тестов · аддитивный сетевой контракт с v1.0 Откалибровано на живых данных сквозными тестами на хранилище из 305 000 сообщений.

Создано для одного Mac — и для любого другого, на чьём Mac работает Mail.app.

A
license - permissive license
B
quality
A
maintenance

Maintenance

Maintainers
Response time
2dRelease cycle
12Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that gives AI assistants comprehensive access to Apple Mail accounts, enabling email discovery, reading, flag management, and server-side message retrieval.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    A local MCP server for searching and reading downloaded Apple Mail data without changing mail state.
    8
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables MCP clients to search, read, and inspect Apple Mail on macOS, including conversations and attachments. It can create new, reply, reply-all, or forward drafts, but cannot send or modify existing messages.
    MIT

View all related MCP servers

Related MCP Connectors

  • Read, search, send, organize, draft and schedule email across your inboxes from any MCP client.

  • Fully-managed email as MCP tools - register domains, real mailboxes, send and receive mail.

  • MCP connector for Apple Reminders — search, create, complete, and edit via your own Mac.

View all MCP Connectors

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/parasxos/apple-mail-mcp'

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