Reads your local iMessage chat.db on macOS and exposes full message history to Claude through a FastMCP interface. You get FTS5 search, contact and chat listing, thread navigation, unread tracking, and automatic export of each conversation into Obsidian vault files with structured YAML frontmatter. Voice notes are transcribed via local Whisper. Sending goes through a two step draft and confirm flow using AppleScript, so nothing ships without your explicit approval. Requires Full Disk Access for Claude.app to read the SQLite database. Same author and architecture pattern as the whatsapp-mcp and slack-mcp servers, so if you already run those this slots right in with the same vault layout and tool conventions.
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.
~/Library/Messages/chat.db (SQLite, opened mode=ro&immutable=1). No bridge daemon.~/.claude/imessage-mcp/search.db.🤖 AI Chats/iMessage/<Contact>.md and 🤖 AI Chats/iMessage/Groups/<Group>.md.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).
Open Claude Code, paste:
/plugin marketplace add adelaidasofia/imessage-mcp
/plugin install imessage-mcp@imessage-mcp
Then 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.
.mcp.json registration)See SETUP.md. The short version: grant Full Disk Access to Claude.app, run uv sync, register in vault .mcp.json, restart Claude Code.
---
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.
Same author, same architecture pattern (FastMCP, draft+confirm on writes where applicable, vault auto-export, MIT):
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:
slack-mcp)0.1.0)What is NOT sent:
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.
MIT.
Built by Adelaida Diaz-Roa. Full install or team version at diazroa.com.