Skip to main content
Glama
whogben

mac-messages

by whogben

Mac Messages Host

Ваш полный архив Apple Messages (iMessage/SMS) на Mac в режиме «только чтение» для ИИ‑агентов — один пакетный инструмент через REST/OpenAPI и потоковый HTTP MCP.

  • Один инструмент, пакетные запросы: один инструмент messages(requests: str) принимает JSON-массив запросов и возвращает согласованный JSON-массив ответов — один вызов выполняет много независимых операций. Одинаково работает через REST (POST /api/messages) и MCP (/mcp/).

  • Только чтение по построению: база данных открывается с SQLite mode=ro; пути записи нет. Ничего нельзя отправить, изменить или удалить.

  • Современное декодирование текста macOS: текст сообщений, хранящийся в typedstream-блоках attributedBody (Ventura+), и история редактирования в plist-файлах message_summary_info декодируются прозрачно.

  • Автогенерируемое описание инструмента: описание для ИИ генерируется из моделей Pydantic (~615 токенов gpt-4o, подсчитанных через tiktoken и закреплённых тестом); снапшот tool_prompt.md синхронизируется drift-тестом.

Установка

Требуется Python 3.11+ на macOS.

pip install .            # or: pip install -e . for development
mmhost info              # permission check + database status
mmhost start             # serve API + MCP on http://127.0.0.1:8761

Разрешения macOS (важно)

~/Library/Messages/chat.db защищён macOS TCC. Процесс, который запускает mmhost, должен иметь полный доступ к диску:

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

mmhost info сразу показывает, доступна ли база данных для чтения.

Related MCP server: jons-mcp-imessage

Эндпоинты

Эндпоинт

Назначение

POST /api/messages

Пакетный инструмент (REST)

/api/openapi.json

Схема OpenAPI

/api/docs

Интерактивная документация

/api/health

Проверка живости

/mcp/

Потоковый HTTP MCP-эндпоинт (один инструмент messages)

Авторизация

Authorization: Bearer <token>, когда настроен admin_token (сохранённый конфиг, MMHOST_ADMIN_TOKEN или --admin-token). Без настроенного токена доступ открыт — это безопасно, поскольку по умолчанию сервер слушает 127.0.0.1.

Типы запросов

  • get_info — состояние базы данных, количество записей, диапазон дат истории

  • list_chats — разговоры по недавней активности (сортировка, фильтрация)

  • get_chat — транскрипт чата (постраничная загрузка более старых через before)

  • get_recent — последние сообщения во всех чатах (опрос через since)

  • search_messages — поиск подстроки без учёта регистра по тексту сообщений

См. tool_prompt.md — точную документацию для ИИ (сгенерированную из моделей).

Пример

curl -s http://127.0.0.1:8761/api/messages \
  -H 'Content-Type: application/json' \
  -d '{"requests": "[{\"kind\":\"list_chats\",\"limit\":3}]"}'

Конфигурация MCP-клиента

{
  "mcpServers": {
    "mac-messages": {
      "type": "streamable-http",
      "url": "http://127.0.0.1:8761/mcp/"
    }
  }
}

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

Хранится в системном каталоге конфигурации (~/Library/Application Support/mac_messages_host/config.json на macOS); расположение можно переопределить через MMHOST_CONFIG. Только настройки уровня сервера — см. example.env.

Разработка

pip install -e '.[dev]'
pytest
# after changing request models:
python -m tests.regenerate_tool_prompt

Архитектура следует паттерну oWoHo AI Tool Server (чистая core-библиотека + производные интерфейсы FastAPI/FastMCP/CLI), как reddit_tool_server и obsidian_ai_miniserver.

Лицензия

MIT — см. LICENSE.md.

A
license - permissive license
Not graded
quality - not tested
C
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
    Not graded
    quality
    D
    maintenance
    Enables reading, searching, and sending iMessages directly from MCP-compatible clients by accessing the local macOS iMessage database, supporting conversations, attachments, and both individual and group chats.
    104
    10
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to read iMessage history and send messages on macOS. Supports conversation listing, message search with keyword and semantic modes, contact lookup, and sending messages to existing conversations.
    13
    11
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to read, search, and send iMessages with features like contact name resolution, session grouping, and attachment listing. It provides intent-aligned tools to efficiently navigate conversation history and manage messages through natural language queries.
    5
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables reading and sending iMessages on macOS through MCP, with tools for managing chats, messages, and attachments via AI agents.
    MIT

View all related MCP servers

Related MCP Connectors

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

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

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

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/whogben/mac_messages_host'

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