imessage-mcp
imessage-mcp
Un servidor MCP local que expone los datos de iMessage de tu Mac a Claude Desktop / Claude Code. Dos superficies:
ENVIAR mediante AppleScript →
Messages.appLEER mediante acceso directo y de solo lectura a SQLite en
~/Library/Messages/chat.db
Todo es local. Sin claves de API, sin llamadas de red.
Instalación
# 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
Permisos (requeridos)
Acceso total al disco — para que podamos leer chat.db
Configuración del sistema → Privacidad y seguridad → Acceso total al disco → activa el interruptor para:
tu aplicación de terminal (ej. Terminal, iTerm2, Ghostty), Y
Claude.app(si usas Claude Desktop)
Automatización — para que podamos controlar Messages.app
Configuración del sistema → Privacidad y seguridad → Automatización → despliega tu terminal / Claude.app
y activa Messages.
Messages.app debe estar ejecutándose y con la sesión iniciada en iMessage.
Si falta un paso de permiso, el servidor mostrará un error con la ruta exacta de la configuración que debes abrir.
Configuración de Claude Desktop
Combínalo en ~/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"]
}
}
}(La ruta absoluta al python del venv es la más segura; evita la ambigüedad de PATH. Reemplaza YOUR_USERNAME.)
Herramientas
Herramienta | Propósito |
| Enviar mediante Messages.app. |
| Chats ordenados del más reciente al más antiguo con vista previa del último mensaje y recuento de no leídos. |
| Mensajes de un chat; proporciona |
| Búsqueda LIKE (sin distinguir mayúsculas/minúsculas) en el cuerpo de los mensajes. |
| Identificadores propios + metadatos de la base de datos. |
Las fechas están en formato ISO8601 tanto de entrada como de salida. Internamente, Apple almacena message.date como nanosegundos desde el 01-01-2001 UTC; el servidor realiza la conversión en ambos sentidos.
Invariantes de seguridad
chat.dbse abre consqlite3.connect("file:...chat.db?mode=ro", uri=True). Cualquier intento de escritura genera unsqlite3.OperationalError: attempt to write a readonly database.send_imessagepasa el destinatario / cuerpo / servicio como entradas de argv de osascript separadas — sin interpolación de shell, sin inyección.Los archivos adjuntos devuelven solo metadatos (nombre de archivo, mime_type, total_bytes). Los blobs nunca se leen.
Limitaciones
No se admiten envíos programados / retrasados.
Los mensajes enriquecidos / con hilos de respuesta pueden tener su texto almacenado en
attributedBody(NSKeyedArchive). Hacemos el mejor esfuerzo para extraer el NSString incrustado; los mensajes con cargas útiles más exóticas (imágenes, toques, Apple Pay) mostrarán unbodyvacío pero con los metadatos correctos.Confirmación de entrega:
send_imessageinforma del éxito a partir del código de salida de osascript. Para verificar que el mensaje realmente se envió, llama asearch_imessagesoget_chat_messagesunos segundos después.Esto es exclusivo de macOS y no funcionará en aplicaciones de la App Store en entorno aislado (sandboxed).
Desarrollo local
.venv/bin/pytest -qMaintenance
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
- AlicenseBqualityDmaintenanceA local server that enables Claude Desktop to interact with your macOS Contacts and Messages apps, allowing you to search contacts and send iMessages through natural language commands.21928MIT
- Alicense-qualityCmaintenanceA 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.1041
- AlicenseAqualityCmaintenanceEnables full-text search of macOS iMessages including link preview metadata. Works as an MCP server for Claude Desktop to search your messages locally.1MIT
- FlicenseAqualityCmaintenanceA read-only MCP server that exposes your iMessage data to Claude Code and Claude Desktop, with automatic contact name resolution.3
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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