Skip to main content
Glama

imessage-mcp

Локальный MCP-сервер, который предоставляет данные iMessage вашего Mac для Claude Desktop / Claude Code. Два интерфейса:

  1. ОТПРАВКА через AppleScript → Messages.app

  2. ЧТЕНИЕ через прямой доступ только для чтения к SQLite-базе ~/Library/Messages/chat.db

Всё работает локально. Никаких API-ключей, никаких сетевых вызовов.

Установка

# 1. Clone / copy into ~/mcp-servers/imessage-mcp
cd ~/mcp-servers/imessage-mcp

# 2. Create a Python 3.11+ venv and install deps
python3.12 -m venv .venv
.venv/bin/pip install -e .

Related MCP server: imessage-mcp

Разрешения (обязательно)

Полный доступ к диску — чтобы мы могли читать chat.db

Системные настройки → Конфиденциальность и безопасность → Полный доступ к диску → включите для:

  • вашего терминала (например, Terminal, iTerm2, Ghostty), И

  • Claude.app (если используете Claude Desktop)

Автоматизация — чтобы мы могли управлять Messages.app

Системные настройки → Конфиденциальность и безопасность → Автоматизация → разверните ваш терминал / Claude.app и переключите Messages в положение ВКЛ.

Приложение Messages.app должно быть запущено и выполнено под вашей учетной записью iMessage.

Если какой-то шаг с разрешениями пропущен, сервер выдаст ошибку с точным путем к настройкам, которые нужно открыть.

Конфигурация Claude Desktop

Добавьте в ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "imessage": {
      "command": "/Users/YOUR_USERNAME/mcp-servers/imessage-mcp/.venv/bin/python",
      "args": ["-m", "imessage_mcp.server"]
    }
  }
}

(Абсолютный путь к python в venv — самый надежный вариант, он позволяет избежать неоднозначности PATH. Замените YOUR_USERNAME.)

Инструменты

Инструмент

Назначение

send_imessage(recipient, body, service?)

Отправка через Messages.app. recipient — это телефон, Apple ID или имя контакта.

list_recent_chats(limit=20)

Чаты от новых к старым с предпросмотром последнего сообщения и количеством непрочитанных.

get_chat_messages(chat_id?, handle?, limit=50, since?)

Сообщения чата; укажите chat_id или handle.

search_imessages(query, since?, until?, from_contact?, limit=25)

Поиск по тексту сообщений (регистронезависимый LIKE).

get_my_info()

Собственные идентификаторы + метаданные БД.

Даты передаются в формате ISO8601. Внутри Apple хранит message.date как количество наносекунд с 2001-01-01 UTC; сервер выполняет преобразование в обе стороны.

Инварианты безопасности

  • chat.db открывается с помощью sqlite3.connect("file:...chat.db?mode=ro", uri=True). Любая попытка записи вызывает sqlite3.OperationalError: attempt to write a readonly database.

  • send_imessage передает получателя / текст / сервис как отдельные аргументы osascript — никакой интерполяции оболочки, никакой инъекции.

  • Вложения возвращают только метаданные (имя файла, mime_type, размер в байтах). Бинарные данные (blobs) никогда не считываются.

Ограничения

  • Запланированная / отложенная отправка не поддерживается.

  • Текст сообщений с ответами или сложным форматированием может храниться в attributedBody (NSKeyedArchive). Мы стараемся извлечь встроенный NSString; сообщения с более экзотическими данными (изображения, реакции, Apple Pay) будут отображать пустое поле body, но корректные метаданные.

  • Подтверждение доставки: send_imessage сообщает об успехе на основе кода выхода osascript. Чтобы убедиться, что сообщение действительно доставлено, вызовите search_imessages или get_chat_messages через несколько секунд.

  • Это решение работает только на macOS и не будет работать в приложениях из App Store, работающих в «песочнице».

Локальная разработка

.venv/bin/pytest -q
Install Server
A
license - permissive license
A
quality
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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
    -
    quality
    C
    maintenance
    A read-only MCP server for macOS that enables users to search through iMessage history and analyze conversation patterns using AI-powered tools. It provides detailed statistics on messaging habits, streaks, and contact analytics while keeping all data private and local.
    104
    1
  • A
    license
    A
    quality
    C
    maintenance
    Enables full-text search of macOS iMessages including link preview metadata. Works as an MCP server for Claude Desktop to search your messages locally.
    1
    MIT
  • F
    license
    A
    quality
    C
    maintenance
    A read-only MCP server that exposes your iMessage data to Claude Code and Claude Desktop, with automatic contact name resolution.
    3

View all related MCP servers

Related MCP Connectors

  • MCP connector for iMessage & Contacts via a local Mac agent + Vercel relay

  • Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.

  • Search, read, and write your Apple Notes from ChatGPT/Claude via a local Mac agent + MCP relay.

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/camfortin/imessage-mcp'

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