
Messages
io.github.cardmagicPublished by GitHub account cardmagicv1.2.0Updated Oct 24, 2026
Fuzzy search and browse Apple Messages/iMessage from CLI or MCP server
Overview
A local MCP server that lets an assistant fuzzy-search and browse your Apple Messages/iMessage history, contacts and conversations on a Mac.
- What you can do
- Search messages with fuzzy, typo-tolerant matching, optionally filtered by sender or date range and with surrounding context shown. Browse recent messages, contacts by activity, and conversations with message counts. Open a full conversation thread with a given contact. Report search index statistics.
- When to use it
- Useful when you want an assistant to answer questions about your own texts, such as what someone said about a plan, who messaged recently, or what was discussed in a thread, without copying messages by hand.
- Requirements
- macOS only, since it reads the Apple Messages database. Node.js 22+ and the npm package, run locally over stdio. Full Disk Access permission must be granted to your terminal app so it can read the Messages database.
Installation
In SourceWeft
- Open Messages in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
messages
Fuzzy search and browse Apple Messages (iMessage/SMS) from the command line, as a Claude Code plugin, or as an MCP server.
Features
- Fuzzy search with typo tolerance across all your messages
- Browse recent messages, contacts, and conversations
- Contact resolution - shows names instead of phone numbers
- Context display - see messages before/after each match
- Filter by sender or date range
- Auto-indexing - index automatically rebuilds when new messages are detected
- Multiple interfaces - CLI, MCP server, or Claude Code plugin
Requirements
- macOS (reads from Apple Messages database)
- Node.js 22+
- Full Disk Access permission for your terminal (to read
~/Library/Messages/chat.db)
Installation
Homebrew
npm
Claude Code Plugin (recommended)
Install as a plugin to get skills (auto-invoked) and slash commands:
This gives you:
- Skill: Claude automatically searches messages when you ask about texts/iMessages
- Slash commands:
/messages:search,/messages:recent,/messages:from, and more
MCP Server
For direct MCP tool access without the plugin:
Or install globally first:
From source
Granting Full Disk Access
The tool needs to read your Messages database at ~/Library/Messages/chat.db:
- Open System Settings > Privacy & Security > Full Disk Access
- Click + and add your terminal app (Terminal.app, iTerm, Warp, etc.)
- Restart your terminal
Usage
CLI
Browse Commands
Search Commands
Search Options
Claude Code Plugin
When installed as a plugin, you get:
Skill (auto-invoked): Claude automatically searches messages when you ask things like:
- "What did Mom say about dinner?"
- "Who texted me recently?"
- "Find messages about the trip"
Slash Commands:
MCP Server
When installed as an MCP server, Claude Code can use these tools:
Manual MCP Configuration
For Claude Desktop or VS Code, add to your MCP configuration:
How It Works
-
Auto-Indexing: On first search (or when new messages are detected), the tool automatically:
- Reads your Apple Messages SQLite database
- Builds a SQLite FTS5 full-text search index
- Creates a MiniSearch fuzzy search index
- Resolves contact names from your Address Book
-
Searching: Queries both indexes for best results with typo tolerance
-
Storage: Index files are stored in
~/.messages/:index.db- SQLite FTS5 databasefuzzy.json- MiniSearch indexstats.json- Index statistics
License
MIT
Source: README.md at commit e3fa952
Tools
0Version history
1- v1.2.0LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts