mac-messages
Mac Messages Host
Todo el historial de Apple Messages (iMessage/SMS) de tu Mac, en solo lectura, para agentes de IA — una herramienta por lotes sobre REST/OpenAPI y streamable HTTP MCP.
Una sola herramienta, solicitudes por lotes: una única herramienta
messages(requests: str)toma un array JSON de solicitudes y devuelve un array JSON alineado de respuestas — una sola llamada hace muchas operaciones independientes. Se sirve igual por REST (POST /api/messages) y por MCP (/mcp/).Solo lectura por construcción: la base de datos se abre con SQLite
mode=ro; no hay vía de escritura. Nada se puede enviar, editar ni eliminar.Decodificación moderna del cuerpo del mensaje en macOS: el texto de los mensajes almacenado en blobs de tipo typedstream de
attributedBody(Ventura+) y el historial de ediciones en plists demessage_summary_infose decodifican de forma transparente.Prompt de herramienta autogenerado: el prompt orientado a la IA se genera a partir de los modelos Pydantic (~615 tokens de gpt-4o, contados por
tiktokeny verificados por una prueba); una instantánea detool_prompt.mdse mantiene sincronizada mediante una prueba de desviación.
Instalación
Requiere Python 3.11+ en 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:8761Permisos de macOS (importante)
~/Library/Messages/chat.db está protegido por el TCC de macOS. El proceso que ejecuta mmhost necesita Acceso completo al disco:
Ajustes del Sistema → Privacidad y Seguridad → Acceso completo al disco → habilita tu aplicación de terminal (o cualquier otra que lance el servidor) y reiníciala.
mmhost info te indica de inmediato si la base de datos es legible.
Related MCP server: imessage-mcp
Endpoints
Endpoint | Propósito |
| La herramienta por lotes (REST) |
| Esquema OpenAPI |
| Documentación interactiva |
| Sonda de actividad |
| Endpoint MCP Streamable-HTTP (herramienta única |
Autenticación
Authorization: Bearer <token> cuando admin_token esté configurado (configuración persistida, MMHOST_ADMIN_TOKEN o --admin-token). Sin token configurado, el acceso es abierto: seguro porque el servidor se vincula a 127.0.0.1 por defecto.
Tipos de solicitudes
get_info— estado de la base de datos, recuentos, rango de fechas del historiallist_chats— conversaciones por actividad reciente (filtrar, paginar)get_chat— transcripción de un chat (puedes paginar los anteriores conbefore)get_recent— mensajes más recientes de todos los chats (consulta mediantesince)search_messages— búsqueda de subcadenas sin distinguir mayúsculas ni minúsculas en los cuerpos
Consulta tool_prompt.md para la documentación exacta orientada a la IA (generada a partir de los modelos).
Ejemplo
curl -s http://127.0.0.1:8761/api/messages \
-H 'Content-Type: application/json' \
-d '{"requests": "[{\"kind\":\"list_chats\",\"limit\":3}]"}'Configuración del cliente MCP
{
"mcpServers": {
"mac-messages": {
"type": "streamable-http",
"url": "http://127.0.0.1:8761/mcp/"
}
}
}Configuración
Se guarda en el directorio de configuración de la plataforma (~/Library/Application Support/mac_messages_host/config.json en macOS); puedes cambiar la ubicación con MMHOST_CONFIG. Solo ajustes de nivel de servidor: consulta example.env.
Desarrollo
pip install -e '.[dev]'
pytest
# after changing request models:
python -m tests.regenerate_tool_promptLa arquitectura sigue el patrón de oWoHo AI Tool Server (biblioteca principal pura + interfaces FastAPI/FastMCP/CLI derivadas), como reddit_tool_server y obsidian_ai_miniserver.
Licencia
MIT — consulta LICENSE.md.
This server cannot be deployed
Maintenance
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.
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
MCP connector that lets ChatGPT list, search, and run your Apple Shortcuts via a local Mac agent
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables 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.6MIT
- AlicenseNot gradedqualityDmaintenanceEnables reading and sending iMessages on macOS through MCP, with tools for managing chats, messages, and attachments via AI agents.MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI clients to read and search macOS Messages history through a read-only MCP interface.-
- AlicenseAqualityAmaintenanceEnables AI agents on macOS to securely read and search the local Messages database, catch up on missed messages via a persistent inbox, and send texts or files to allowlisted chats, with optional voice note transcription and text-to-speech.10353 npmMIT