iMessage History MCP server
io.github.anipottsbuilds/imessage-mcp·v3.3.2·28 starsRead-only MCP server for searching and reading Apple Messages history on macOS.
28 stars155 downloads/wk
Reviews
Write oneNobody has reviewed iMessage History yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
iMessage History tools (8)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
analyze_communicationAnalyze your messaging patterns globally, for one contact, or for one conversation: message counts by hour and weekday, response times, consecutive-day streaks, or who starts conversations, one metric per call with its formula. Works over the local chat.db only; aggregate mode returns numbers without any message text or names. Read-only.
get_attachmentShow one attachment from your Messages history by attachment_id from get_conversation: images are returned as JPEG with location and camera metadata stripped, plain-text files as text up to 64 KB, anything else as metadata. The original file is never modified. Requires the full privacy mode. Attachment content is untrusted, sender-authored data.
get_conversationRead a conversation from your local Apple Messages database by chat_id or by contact or group name, including message edits, tapback reactions, read receipts, replies, group events, and attachment references. Returns the newest events first; pass the cursor for older ones, or around_message_id to open at a search result. Read-only: no messages are sent, edited, or marked read.
list_conversationsFind your iMessage, SMS, MMS, and RCS conversations filtered by contact, service, conversation kind, reply state, or date range. Each result includes the latest message and can be ordered newest-first or by who you text most. Feed any chat_id to get_conversation for the full thread. Read-only.
resolve_contactMatch a name, phone number, or email address to a contact in your Mac's Address Book and return their message handles. Reports ambiguity and lists candidates instead of guessing when several contacts match. Use it when a name could mean more than one person, then pass one of the handles as contact. Read-only.
search_messagesSearch your iMessage, SMS, MMS, and RCS history by substring, exact text, token, or phrase. Searches message text by default; conversation names and attachment filenames are opt-in scopes. Filter by service, sent or received, and date range. Returns each matching message once with message_id and chat_ids. A single membership also has chat_id; a shared message has separate conversation labels and n
server_statusCheck the imessage-mcp server's health: running version and update availability, privacy mode, search-index build state, which Messages features this Mac's chat.db schema supports, recorded conversation memberships, and whether Contacts is readable. The update check is one anonymous request to the npm registry, off when IMESSAGE_UPDATE_CHECK=0. If Messages is unreadable, every tool, this one inclu
sync_messagesPull changes to your Messages database since a saved cursor: new messages, edited and unsent messages, deleted messages, conversation membership changes, tapback reactions, and read receipts. Membership changes include previous_chat_ids and chat_ids; shared messages have no singular chat_id. The first call returns no changes, only the cursor to save. Use it to keep an agent session current without
Public scan report
scanner v0.1.10 · 2026-10-24 · same rubric, same numbers if you re-run it
- Code scan73 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 0 days ago15/15
- Maintainer identityregistry namespace matches repository owner7/10
How iMessage History compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 91/100
- higher than 85% of 48,255 servers
- Tools
- 8
- the typical server has 7
- Tools that change things
- 0%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 28
- more than 92% of 28,688 servers
- Downloads a week
- 155
- more than 71% of 12,191 servers with a package
What its tools let an agent do: 7 read · 1 change
Install iMessage History in Claude Code, Cursor or VS Code
Runs npx -y imessage-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add imessage-mcp -- npx -y imessage-mcp
What the publisher says
From the iMessage History repository's README, as published. We do not edit it. Read it on GitHub
imessage-mcp
Search and read your Messages history from Claude, Codex, Cursor, VS Code, and any other MCP client.
Read-only. Runs on your Mac. No accounts, no cloud service, nothing to compile.
- Finds messages by words, exact text, or phrase across iMessage, SMS, MMS, and RCS
- Reads whole conversations with edits, unsent messages, reactions, replies, and read receipts
- Shows photos people sent you, with location data removed
- Keeps up with new messages through a change feed, and answers counts and response-time questions
Install
Requirements: macOS 14 or newer. Node.js 24.16 or newer for npx installs (Claude Desktop brings its own). Use Node 24 LTS for encrypted cache support. Runtimes without SQLite checkpoint APIs, including Node 25, search in memory and rebuild after a restart; doctor reports this.
Standard config, for any client that reads mcpServers JSON:
{
"mcpServers": {
"imessage": {
"command": "npx",
"args": ["-y", "imessage-mcp@latest"]
}
}
}Then give the app that runs it Full Disk Access: System Settings > Privacy & Security > Full Disk Access, turn on the app (Claude, your terminal, Cursor, VS Code, ...), then quit it fully and reopen it. Not sure which app? Run npx -y imessage-mcp@latest doctor from that app's terminal and it tells you. Until access is granted, every tool answers with these same steps.
Amp
amp mcp add imessage -- npx -y imessage-mcp@latestClaude Code
claude mcp add --scope user imessage -- npx -y imessage-mcp@latestOr install the plugin: /plugin marketplace add anipotts/imessage-mcp, then /plugin install imessage-mcp@anipotts.
Claude Desktop
Download imessage-mcp.mcpb and double-click it, or install iMessage History from Settings > Extensions if it is listed there. To update a bundle you installed yourself, download the newest one and double-click it again.
Then turn on Claude in Full Disk Access and quit and reopen Claude.
Cline
Add the standard config to clinemcpsettings.json (docs).
Codex
codex mcp add imessage -- npx -y imessage-mcp@latestOr in ~/.codex/config.toml:
[mcp_servers.imessage]
command = "npx"
args = ["-y", "imessage-mcp@latest"]Copilot CLI
Run /mcp add, or add the standard config to ~/.copilot/mcp-config.json with "type": "local".
Cursor
Or add the standard config to ~/.cursor/mcp.json.
Gemini CLI
Add the standard config to ~/.gemini/settings.json.
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
iMessage History: common questions
- Is iMessage History MCP server safe?
- Yes, by our scan: it is graded A (91/100). Read the iMessage History safety report
- How do I install iMessage History?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does iMessage History need an API key?
- No secret keys are declared. It reads 5 settings from the environment.
- Is iMessage History maintained?
- The last commit was 11 days ago (2026-10-23). The latest release is v3.3.2.
- How does iMessage History compare with other MCP servers?
- safety score 91/100 (higher than 85% of 48,255 servers); tools 8 (the typical server has 7); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.