imessage-mcp
Allows reading iMessage history, listing chats and messages, searching contacts and messages, getting unread messages, managing threads and attachments, marking chats as read, and sending iMessages via AppleScript with a draft+confirm pattern.
Exports per-chat iMessage conversations into an Obsidian vault, creating markdown files with metadata, reactions, edits, replies, voice-note transcripts, and attachment wikilinks.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@imessage-mcpShow my last 10 messages from Mom."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
imessage-mcp
macOS-only MCP server that exposes iMessage history to Claude and exports per-chat conversations into an Obsidian vault. Mirrors the whatsapp-mcp pattern: same hook, same launchd cadence, same vault shape.
Architecture
Direct read of
~/Library/Messages/chat.db(SQLite, openedmode=ro&immutable=1). No bridge daemon.Voice-note transcription via Whisper local-cpp (reuses the model already installed for whatsapp-mcp).
FTS5 incremental search index at
~/.claude/imessage-mcp/search.db.Vault export per chat into
🤖 AI Chats/iMessage/<Contact>.mdand🤖 AI Chats/iMessage/Groups/<Group>.md.Send pathway via AppleScript with draft+confirm pattern (no auto-send).
Related MCP server: imessage-rich-search
Tool surface
Read: healthcheck, list_chats, list_messages, get_chat, search_contacts, search_messages, get_message_context, get_unread, get_thread, list_attachments, mark_chat_read, export_to_vault.
Write: send_message (drafts an AppleScript send), confirm_send (commits).
Install
Open Claude Code, paste:
/plugin marketplace add adelaidasofia/imessage-mcp
/plugin install imessage-mcp@imessage-mcpThen grant Full Disk Access to Claude.app (required for chat.db read) and restart Claude Code. Full setup details and env vars in SETUP.md.
See SETUP.md. The short version: grant Full Disk Access to Claude.app, run uv sync, register in vault .mcp.json, restart Claude Code.
Vault export shape
---
type: imessage-chat
contact: "Jane Doe"
phone: "+15555550123"
service: iMessage
chat_guid: "iMessage;-;+15555550123"
message_count: 412
first_message: 2024-08-12
last_message: 2026-05-06
last_sync: 2026-05-07
---Body sections per date with reactions, edits, replies, voice-note transcripts, and attachment wikilinks.
Related MCPs
Same author, same architecture pattern (FastMCP, draft+confirm on writes where applicable, vault auto-export, MIT):
slack-mcp - multi-workspace Slack
whatsapp-mcp - WhatsApp via whatsmeow
google-workspace-mcp - Gmail / Calendar / Drive / Docs / Sheets
apollo-mcp - Apollo.io CRM + sequences
substack-mcp - Substack writing + analytics
luma-mcp - lu.ma events
parse-mcp - markitdown / Docling / LlamaParse router
rescuetime-mcp - RescueTime productivity data
graph-query-mcp - vault knowledge graph queries
investor-relations-mcp - seed-raise pipeline tracker
vault-sync-mcp - bidirectional vault sync
Telemetry
This plugin sends a single anonymous install signal to myceliumai.co the first time it loads in a Claude Code session on a given machine.
What is sent:
Plugin name (e.g.
slack-mcp)Plugin version (e.g.
0.1.0)
What is NOT sent:
No user identifiers, names, emails, tokens, or API keys
No file paths, message content, or anything from your work
No IP address is stored after dedup processing
Why: Helps the maintainer know which plugins people actually install, so attention goes to the ones that get used.
Opt out: Set the environment variable MYCELIUM_NO_PING=1 before launching Claude Code. The hook will skip the network call entirely. Already-pinged installs leave a sentinel at ~/.mycelium/onboarded-<plugin> — delete it if you want to reset state.
License
MIT.
Built by Adelaida Diaz-Roa. Full install or team version at diazroa.com.
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
- SomviaOAuthapp.somvia
Private Apple Health metrics and workout detail for ChatGPT, Claude, and any MCP client.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceA Model Context Protocol server for reading iMessage data from macOS.29MIT
- 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
- FlicenseAqualityDmaintenanceA read-only MCP server that exposes your iMessage data to Claude Code and Claude Desktop, with automatic contact name resolution.3-
- AlicenseNot gradedqualityBmaintenanceMCP server for reading and sending iMessages on macOS. Exposes iMessage history and send capabilities through tools like list_conversations and send_imessage.8MIT