carterlasalle/mac_messages_mcp

carterlasalle/mac_messages_mcp

от carterlasalle
MCP-сервер для управления iMessage и SMS на macOS: отправляет сообщения с умным выбором доставки, читает переписку и ищет вложения. Полезен для разработчиков и автоматизации мессенджеров.

Mac Messages MCP

A Python bridge for interacting with the macOS Messages app using MCP (Multiple Context Protocol).

PyPI Downloads

Trust Score mac_messages_mcp MCP score

a-diagram-of-a-mac-computer-with-the-tex_FvvnmbaBTFeKy6F2GMlLqA_IfCBMgJARcia1WTH7FaqwA

Verified on MseeP

Quick Install

For Cursor Users

Install MCP Server

Click the button above to automatically add Mac Messages MCP to Cursor

For Claude Desktop Users

See the Integration section below for setup instructions.

Features

  • Universal Message Sending: Automatically sends via iMessage or SMS/RCS based on recipient availability
  • Smart Fallback: Seamless fallback to SMS when iMessage is unavailable (perfect for Android users)
  • Message Reading: Read recent messages from the macOS Messages app
  • Contact Filtering: Filter messages by specific contacts or phone numbers
  • Group Chat Filtering: Use chat IDs from tool_get_chats to read one group conversation chronologically
  • Fuzzy Search: Search through message content with intelligent matching
  • Attachments: Find and view photos, PDFs, and other attachments shared in conversations
  • iMessage Detection: Check if recipients have iMessage before sending
  • Cross-Platform: Works with both iPhone/Mac users (iMessage) and Android users (SMS/RCS)
tool_check_addressbook

Диагностирует доступ на чтение к локальной базе данных macOS AddressBook. Это операция только для чтения: она проверяет, может ли сервер найти и прочитать локальные данные Contacts/AddressBook, и возвращает текстовый диагностический отчет с ошибками прав доступа или путей. Она не изменяет контакты. Используйте этот инструмент, когда поиск контактов не удается; используйте tool_check_db_access, когда чтение базы данных Messages завершается ошибкой.

Диагностирует доступ на чтение к локальной базе данных macOS AddressBook. Это операция только для чтения: она проверяет, может ли сервер найти и прочитать локальные данные Contacts/AddressBook, и возвращает текстовый диагностический отчет с ошибками прав доступа или путей. Она не изменяет контакты. Используйте этот инструмент, когда поиск контактов не удается; используйте tool_check_db_access, когда чтение базы данных Messages завершается ошибкой.

Параметры

Без параметров.

tool_check_contacts

Выводит небольшую выборку контактов из AddressBook. Этот режим только для чтения: загружает кэшированные локальные имена контактов и номера телефонов и возвращает количество в виде обычного текста плюс примеры записей. Требует разрешения Contacts/AddressBook. Используйте это, чтобы подтвердить, что поиск контактов заполнен; используйте tool_find_contact, чтобы найти конкретного человека, и tool_check_addressbook, чтобы диагностировать ошибки разрешений или доступа к базе данных.

Выводит небольшую выборку контактов из AddressBook. Этот режим только для чтения: загружает кэшированные локальные имена контактов и номера телефонов и возвращает количество в виде обычного текста плюс примеры записей. Требует разрешения Contacts/AddressBook. Используйте это, чтобы подтвердить, что поиск контактов заполнен; используйте tool_find_contact, чтобы найти конкретного человека, и tool_check_addressbook, чтобы диагностировать ошибки разрешений или доступа к базе данных.

Параметры

Без параметров.

tool_check_db_access

Диагностирует доступ на чтение к локальной базе данных Messages в macOS. Это read-only: проверяет, может ли сервер найти и запросить базу данных Messages SQLite, и возвращает диагностический отчёт в виде обычного текста с любыми ошибками прав доступа или путей. Требует Full Disk Access для хост-приложения или терминала. Используйте это после того, как чтение/поиск сообщений завершился ошибкой или вернул ошибки прав доступа; используйте tool_check_addressbook для проблем с доступом к Contacts/AddressBook.

Диагностирует доступ на чтение к локальной базе данных Messages в macOS. Это read-only: проверяет, может ли сервер найти и запросить базу данных Messages SQLite, и возвращает диагностический отчёт в виде обычного текста с любыми ошибками прав доступа или путей. Требует Full Disk Access для хост-приложения или терминала. Используйте это после того, как чтение/поиск сообщений завершился ошибкой или вернул ошибки прав доступа; используйте tool_check_addressbook для проблем с доступом к Contacts/AddressBook.

Параметры

Без параметров.

tool_check_imessage_availability

Проверяет, доступен ли получатель через iMessage. Это проверка доступности только для чтения к локальным сервисам Messages; она не отправляет сообщение. Требует, чтобы Messages были настроены на этом Mac. Возвращает результат в виде обычного текста, указывающий на доступность iMessage или вероятное резервное использование SMS/RCS для номеров телефонов. Используйте этот инструмент перед tool_send_message, когда важен маршрут доставки; используйте tool_find_contact сначала, если у вас есть только имя контакта.

Проверяет, доступен ли получатель через iMessage. Это проверка доступности только для чтения к локальным сервисам Messages; она не отправляет сообщение. Требует, чтобы Messages были настроены на этом Mac. Возвращает результат в виде обычного текста, указывающий на доступность iMessage или вероятное резервное использование SMS/RCS для номеров телефонов. Используйте этот инструмент перед tool_send_message, когда важен маршрут доставки; используйте tool_find_contact сначала, если у вас есть только имя контакта.

Параметры

  • recipientstringобязательный

    Phone number or email address to check for iMessage capability.

tool_find_contact

Находит контакты AddressBook с помощью нечеткого сопоставления имен. Это только чтение: ищет локальные контакты и не отправляет сообщения никому и не изменяет контакты. Требует разрешения Contacts/AddressBook для хост-приложения или терминала. Возвращает один результат в виде обычного текста или нумерованный список с оценками достоверности; используйте возвращаемый селектор "contact:N" с tool_send_message или tool_get_recent_messages. Используйте tool_check_contacts для просмотра доступных кэшированных контактов, а tool_fuzzy_search_messages — при поиске по тексту сообщений.

Находит контакты AddressBook с помощью нечеткого сопоставления имен. Это только чтение: ищет локальные контакты и не отправляет сообщения никому и не изменяет контакты. Требует разрешения Contacts/AddressBook для хост-приложения или терминала. Возвращает один результат в виде обычного текста или нумерованный список с оценками достоверности; используйте возвращаемый селектор "contact:N" с tool_send_message или tool_get_recent_messages. Используйте tool_check_contacts для просмотра доступных кэшированных контактов, а tool_fuzzy_search_messages — при поиске по тексту сообщений.

Параметры

  • namestringобязательный

    Contact name or partial name to fuzzy-match in AddressBook.

tool_fuzzy_search_messages

Выполняет нечеткий поиск текста сообщений в локальной базе за временной интервал. Это операция только для чтения: запрашивает локальную базу данных Messages и не отправляет, не редактирует и не удаляет сообщения. Требует разрешения Full Disk Access для хост-приложения или терминала. Возвращает список совпадающих сообщений в виде обычного текста с оценками схожести, временными метками, участниками, очищенным содержимым и отметками о вложениях, если они есть. Используйте этот инструмент для приблизительного поиска текста; используйте tool_get_recent_messages для получения нефильтрованного хронологического контекста, а tool_find_contact — для поиска контактов.

Выполняет нечеткий поиск текста сообщений в локальной базе за временной интервал. Это операция только для чтения: запрашивает локальную базу данных Messages и не отправляет, не редактирует и не удаляет сообщения. Требует разрешения Full Disk Access для хост-приложения или терминала. Возвращает список совпадающих сообщений в виде обычного текста с оценками схожести, временными метками, участниками, очищенным содержимым и отметками о вложениях, если они есть. Используйте этот инструмент для приблизительного поиска текста; используйте tool_get_recent_messages для получения нефильтрованного хронологического контекста, а tool_find_contact — для поиска контактов.

Параметры

  • search_termstringобязательный

    Text to fuzzy-match against message bodies.

  • hoursinteger

    Number of hours to search backward. Default is 720; use 0 for all available messages.

  • thresholdnumber

    Similarity threshold from 0.0 to 1.0. Default is 0.6; lower values are more lenient.

tool_get_attachment

Получает конкретное вложение по его ROWID в базе данных. Это операция только для чтения: она находит локальный файл вложения из Сообщений и не изменяет и не удаляет его. Требует полного доступа к диску (Full Disk Access) для хост-приложения или терминала. Для MIME-типов изображений размером меньше max_bytes возвращает изображение встроенным (inline), чтобы вы могли видеть его напрямую. Для PDF, видео, аудио, отсутствующих файлов или изображений слишком большого размера возвращает путь в файловой системе в виде простого текста или ошибку. Сначала используйте tool_search_attachments, если у вас ещё нет идентификатора вложения.

Получает конкретное вложение по его ROWID в базе данных. Это операция только для чтения: она находит локальный файл вложения из Сообщений и не изменяет и не удаляет его. Требует полного доступа к диску (Full Disk Access) для хост-приложения или терминала. Для MIME-типов изображений размером меньше max_bytes возвращает изображение встроенным (inline), чтобы вы могли видеть его напрямую. Для PDF, видео, аудио, отсутствующих файлов или изображений слишком большого размера возвращает путь в файловой системе в виде простого текста или ошибку. Сначала используйте tool_search_attachments, если у вас ещё нет идентификатора вложения.

Параметры

  • attachment_idintegerобязательный

    Messages attachment ROWID from tool_search_attachments or an attachment marker in message search results.

  • max_bytesinteger

    Maximum inline image payload size in bytes. Larger files return a local filesystem path instead.

tool_get_chats

Выводит список именованных групповых чатов из базы данных macOS Messages. Это только чтение: запрашивает идентификаторы чатов и отображаемые имена и не отправляет, не редактирует и не удаляет сообщения. Требует Full Disk Access для основного приложения или терминала. Возвращает обычный текстовый нумерованный список имен групп и ID. Используйте этот инструмент перед tool_send_message с group_chat=true; используйте tool_get_recent_messages, когда нужны содержимое сообщений, а не ID чатов.

Выводит список именованных групповых чатов из базы данных macOS Messages. Это только чтение: запрашивает идентификаторы чатов и отображаемые имена и не отправляет, не редактирует и не удаляет сообщения. Требует Full Disk Access для основного приложения или терминала. Возвращает обычный текстовый нумерованный список имен групп и ID. Используйте этот инструмент перед tool_send_message с group_chat=true; используйте tool_get_recent_messages, когда нужны содержимое сообщений, а не ID чатов.

Параметры

Без параметров.

tool_get_recent_messages

Читает недавние сообщения macOS в виде текстовой сводки. Инструмент только для чтения: он запрашивает локальную базу данных Messages, но не отправляет, не редактирует и не удаляет сообщения. Требует полного доступа к диску macOS (Full Disk Access) для хост-приложения или терминала. Возвращает очищенный текст сообщений, временные метки, участников и компактные маркеры вложений, если файлы присутствуют. Используйте contact для личных бесед и chat_id для групповых, но не одновременно. Применяйте, когда нужен хронологический контекст недавних сообщений; для поиска по тексту используйте tool_fuzzy_search_messages, а если нужны только ID групповых чатов — tool_get_chats.

Читает недавние сообщения macOS в виде текстовой сводки. Инструмент только для чтения: он запрашивает локальную базу данных Messages, но не отправляет, не редактирует и не удаляет сообщения. Требует полного доступа к диску macOS (Full Disk Access) для хост-приложения или терминала. Возвращает очищенный текст сообщений, временные метки, участников и компактные маркеры вложений, если файлы присутствуют. Используйте contact для личных бесед и chat_id для групповых, но не одновременно. Применяйте, когда нужен хронологический контекст недавних сообщений; для поиска по тексту используйте tool_fuzzy_search_messages, а если нужны только ID групповых чатов — tool_get_chats.

Параметры

  • hoursinteger

    Number of hours to look back from now. Default is 24.

  • contactany

    Optional contact filter: contact name, phone number, email address, or "contact:N" from a previous contact match list.

  • chat_idany

    Optional group chat identifier from tool_get_chats, such as "chat721054478304420871" or "iMessage;-;chat721054478304420871".

tool_search_attachments

Ищет вложения сообщений по диапазону дат, контакту и MIME-типу. Операция только для чтения, возвращает только метаданные; не возвращает содержимое файлов и не изменяет вложения. Требует полного доступа к диску для хост-приложения или терминала. Результаты включают идентификаторы вложений, MIME-типы, имена файлов, размеры, временные метки и отправителей. Используйте эту операцию для дешёвого поиска подходящих файлов, затем вызовите tool_get_attachment для одного конкретного вложения. Используйте tool_fuzzy_search_messages при поиске текста сообщений вместо метаданных вложений.

Ищет вложения сообщений по диапазону дат, контакту и MIME-типу. Операция только для чтения, возвращает только метаданные; не возвращает содержимое файлов и не изменяет вложения. Требует полного доступа к диску для хост-приложения или терминала. Результаты включают идентификаторы вложений, MIME-типы, имена файлов, размеры, временные метки и отправителей. Используйте эту операцию для дешёвого поиска подходящих файлов, затем вызовите tool_get_attachment для одного конкретного вложения. Используйте tool_fuzzy_search_messages при поиске текста сообщений вместо метаданных вложений.

Параметры

  • start_dateany

    Optional inclusive start date in "YYYY-MM-DD" format.

  • end_dateany

    Optional inclusive end date in "YYYY-MM-DD" format.

  • contactany

    Optional contact name, phone number, or email address filter.

  • mime_typeany

    Optional MIME type or prefix filter, such as "image/" or "application/pdf".

  • limitinteger

    Maximum number of attachment metadata rows to return.

tool_send_message

Отправляет одно исходящее сообщение через приложение macOS Messages. Это действие имеет внешний побочный эффект: отправляет указанный текст получателю с помощью Messages. Может использовать iMessage или SMS/RCS в зависимости от доступности получателя и настроек Messages. Требует разрешения Automation для Messages, а сам Mac должен быть способен отправлять сообщения этому получателю. Возвращает обычный текст с сообщением об успехе или ошибке; не удаляет и не изменяет существующие переписки. Сначала используйте tool_find_contact, если имя неоднозначно, и tool_check_imessage_availability, когда надежность доставки под вопросом.

Отправляет одно исходящее сообщение через приложение macOS Messages. Это действие имеет внешний побочный эффект: отправляет указанный текст получателю с помощью Messages. Может использовать iMessage или SMS/RCS в зависимости от доступности получателя и настроек Messages. Требует разрешения Automation для Messages, а сам Mac должен быть способен отправлять сообщения этому получателю. Возвращает обычный текст с сообщением об успехе или ошибке; не удаляет и не изменяет существующие переписки. Сначала используйте tool_find_contact, если имя неоднозначно, и tool_check_imessage_availability, когда надежность доставки под вопросом.

Параметры

  • recipientstringобязательный

    E.164 phone number with leading '+', bare digits with country code, email address, contact name, contact:N selection, or Messages chat ID when group_chat is true.

  • messagestringобязательный

    Text body to send through Messages.

  • group_chatboolean

    Set true only when recipient is a chat ID from tool_get_chats; false sends to an individual buddy/contact.

Другие проверенные MCP-сервера

eyaltoledano/claude-task-master

eyaltoledano/claude-task-master

Taskmaster — система управления задачами для AI-разработки, подключаемая через MCP к Cursor, Claude Code и другим редакторам. Разбивает PRD на задачи, отслеживает прогресс и управляет разработкой п...

JavaScript27867
Github MCP

Github MCP

официальный

MCP-сервер для подключения AI-агентов к GitHub: читает код и репозитории, управляет issues и PR, анализирует коммиты и CI/CD. Cервер автоматизирует workflow через естественный язык. Полезен разрабо...

Go31546
last9/last9-mcp-server

last9/last9-mcp-server

официальный

Last9 MCP-сервер подключает AI-агентов (Claude, Cursor, Windsurf) к вашим производственным данным observability — логам, метрикам, трейсам, алертам. Без установки бинарников, через OAuth. Полезен S...

Go59
Google Calendar MCP

Google Calendar MCP

Сервер для интеграции Google Календаря с AI-ассистентами через MCP. Управляйте событиями, проверяйте занятость и обнаруживайте пересечения между несколькими календарями и аккаунтами. Поддерживает импорт событий из изображений и ссылок. Помогает автоматизировать планирование и анализ календаря.

TypeScript1158
LaurieWired/GhidraMCP

LaurieWired/GhidraMCP

GhidraMCP — MCP-сервер для Ghidra, подключающий LLM к реверс-инжинирингу. Декомпилирует код, переименовывает методы, анализирует бинарники через MCP-клиенты. Ускоряет анализ вредоносного ПО.

Java9533
zillow/auto-mobile

zillow/auto-mobile

официальный

AutoMobile - MCP сервер для автоматизации мобильных приложений, полезный для UI тестирования и как ассистент разработчика под Android (iOS в планах). Позволяет взаимодействовать с эмуляторами, управлять жизненным циклом приложений и автоматически писать тесты через source mapping.

TypeScript79
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин