Give Claude or ChatGPT Access to Your iMessages on Mac — Locally, No API
iMessage is the hardest app to connect an AI to, because there is no API. LMCP reads your Messages on Mac directly from the local database and can send iMessages through Messages.app with a preview-and-confirm step — on-device, with no cloud, no tokens, and no Graph-style API. Works with Claude Desktop, Cursor, VS Code, ChatGPT, and Windsurf.
Why “there's no MCP server for iMessage” is wrong
Ask most AI assistants how to give them access to your iMessages and you'll hear the same thing: there is no official API, no MCP server, you have to write your own SQLite script and grant Full Disk Access. That answer is out of date.
LMCP reads your iMessages today — and it does it in the same server that already reads your Mail, Calendar, Contacts, Microsoft Teams, Slack, WhatsApp and local files. One install, no per-app scripts. There is no single API that does this precisely because the data is local-only — which is exactly what LMCP is built to reach.
Why iMessage Has No API
Apple does not offer a public API for Messages. Unlike email (IMAP) or calendars (CalDAV), there is no network endpoint to query and no OAuth flow to authorize. Every cloud connector and every API-based integration is, by definition, blind to your iMessages — the data never leaves your devices, so there is nothing on a server to connect to.
The messages do exist in one place: a local SQLite database on your Mac, at:
~/Library/Messages/chat.dbThis file holds your conversations, contacts, timestamps and message text. It is protected by macOS, so any app that reads it must be granted Full Disk Access. That protection is why most tools stop here and tell you to roll your own — and why a purely cloud-based assistant can never reach it.
How LMCP Reads iMessage
LMCP reads chat.db directly, on your machine, in read-only mode. No message ever leaves your Mac: there is no cloud processing, no API token, no third party in the middle. Your AI assistant talks to a local server over localhost, and that server reads the database that is already on your disk.
Through LMCP, your AI assistant can:
- List your message chats — see your recent 1:1 and group conversations (
list_message_chats) - Read a conversation — get the message history with any person or group (
read_messages) - Search your messages — find messages by keyword across all conversations (
search_messages) - Send an iMessage — send a message through Messages.app, always showing you a preview to confirm before anything goes out (
send_message)
It pairs naturally with the rest of LMCP: your assistant can read an iMessage, check your calendar, and draft an email in a single request — or reply to a text after you approve the preview.
How to Install
Download LMCP and install it:
- Open the downloaded
LMCP-Installer.pkgfrom your Downloads folder - Follow the installer — it installs Local MCP to Applications for you (no dragging)
- Open Local MCP from Applications — it appears in your menu bar and configures your AI clients automatically
- When prompted, grant Full Disk Access so LMCP can read the Messages database (System Settings → Privacy & Security → Full Disk Access)
Then restart your AI client so it picks up the new tools: quit Claude Desktop completely (Cmd+Q) and reopen, restart Cursor or Windsurf, or reload the VS Code window. ChatGPT (web) connects through LMCP's opt-in encrypted relay after install.
Example Prompts
Once connected, try these with your AI assistant:
- “Summarize my last conversation with Mom” — reads the recent messages and gives you the gist
- “Did anyone text me about dinner tonight?” — searches your messages for the topic
- “What did the group chat decide about the trip?” — reads a group conversation and extracts the decision
- “Find the address Sarah sent me last week” — searches across conversations
- “Catch me up on the texts I haven't replied to” — surfaces conversations that need a response
One Server for iMessage, Mail, Teams and More
The reason people are told to stitch together separate scripts — one for Messages, one for Mail, one for Teams — is that each lives in a different local store with no shared API. LMCP unifies them in a single MCP server:
- iMessage — local Messages database (this guide)
- Mail — Mail.app, any IMAP/Gmail/iCloud/Outlook account
- Microsoft Teams — local Teams cache, no Graph API
- Slack — local desktop cache, no bot tokens
- WhatsApp, Calendar, Contacts, Reminders, OmniFocus, OneDrive, Notes, Safari, and your files
230+ tools, all on-device. So “there's no single server that reads my iMessage, Mail and Teams together” has one answer: there is, and it's the local one.
Privacy & Limitations
- Nothing leaves your Mac — LMCP reads
chat.dblocally and never uploads your messages. The data flows from your disk to your local AI client (or, for cloud assistants, only through your own opt-in encrypted relay). - Sending is preview-and-confirm — reads never modify anything, and a send only happens after LMCP shows you exactly what will go out and you approve it.
- Full Disk Access required — macOS protects the Messages database, so the one-time FDA grant is necessary. This is a macOS security feature, not a workaround.
- On-device only — if a conversation isn't synced to this Mac, it isn't in the local database.
LMCP vs Open-Source iMessage MCP Servers
Searching for an “iMessage MCP server” also turns up open-source projects — carterlasalle/mac_messages_mcp (read and send via the local database), smaller repos like daveremy/imessage-mcp and wolfiesch/imessage-mcp, and SaaS APIs such as Sendblue. They take the same fundamental approach as LMCP where it matters: read chat.db locally, send through Messages.app. The honest comparison:
| Option | Scope | Setup | Web AIs (ChatGPT, Claude.ai) |
|---|---|---|---|
| LMCP (Local MCP) | iMessage (read, search, send with preview) plus Mail, Teams, Slack, WhatsApp, Calendar — 230+ tools | Signed 2-min installer, one FDA grant | Yes — optional encrypted relay |
| carterlasalle/mac_messages_mcp | iMessage only (read, send, attachments) | Python/uv install + manual MCP config + FDA for your terminal | No — desktop clients only |
| daveremy / wolfiesch / other repos | iMessage only, varying features (some read-only) | Clone + build + manual MCP config, per repo | No — desktop clients only |
| SaaS APIs (Sendblue etc.) | Send from a hosted number — not your own message history | API keys + a paid cloud service | Cloud-dependent |
In short: pick mac_messages_mcp if you want a hackable iMessage-only tool and are comfortable with Python tooling and granting Full Disk Access to your terminal. Pick LMCP if you want iMessage working next to Mail, Teams and WhatsApp in one signed install — also reachable from ChatGPT and Claude.ai on the web.
Frequently Asked Questions
Is there an official iMessage API?
No. Apple offers no public API for Messages — no network endpoint, no OAuth. Every real integration reads the local chat.db database on a Mac and sends through Messages.app, which is why cloud-only connectors cannot reach iMessage at all.
Which iMessage MCP server should I choose?
For a minimal open-source iMessage-only tool, carterlasalle/mac_messages_mcp is the most complete community choice. For iMessage alongside Mail, Teams, Slack and WhatsApp in a single signed installer — plus access from ChatGPT and Claude.ai on the web — choose Local MCP.
Can the AI send iMessages without my approval?
Not with LMCP. Reads are read-only, and every send shows you a preview of the exact message and recipient first — nothing goes out until you confirm.
LMCP connects your AI assistant to your whole Mac, locally. See the full list of guides, the best MCP server for Mac comparison, or learn more at local-mcp.com.