Messages

io.github.cardmagic由 GitHub 账号 cardmagic 发布v1.2.0更新于 Oct 24, 2026

Fuzzy search and browse Apple Messages/iMessage from CLI or MCP server

已验证STDIO仅桌面知识与记忆沟通与协作

概览

AI 生成的概览

一个本地 MCP 服务器,让助手在 Mac 上模糊搜索和浏览 Apple 信息/iMessage 的历史记录、联系人和会话。

可以做什么
以模糊、容错方式搜索信息,可按发件人或日期范围筛选,并显示前后文。浏览最近信息、按活跃度排列的联系人,以及带信息数量的会话。打开与某位联系人的完整对话串。查看搜索索引统计。
适用场景
适合让助手回答关于你自己短信的问题,例如某人就某个计划说了什么、最近谁发来信息、某个对话串里聊了什么,而无需手动复制信息。
运行要求
仅限 macOS,因为它读取 Apple 信息数据库。需要 Node.js 22+ 和该 npm 包,通过 stdio 在本地运行。必须为终端应用授予完全磁盘访问权限,才能读取信息数据库。
安装前请注意
它会读取你的全部信息历史和通讯录联系人,并在主目录下建立本地搜索索引,因此能访问该机器或这些索引文件的人都能看到内容。为终端授予完全磁盘访问权限范围很广,需考虑该终端中还运行什么。仅浏览读取,但数据极为私密。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Messages,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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

bash
brew install cardmagic/tap/messages

npm

bash
npm install -g @cardmagic/messages

Claude Code Plugin (recommended)

Install as a plugin to get skills (auto-invoked) and slash commands:

bash
# Add the marketplaceclaude plugin marketplace add cardmagic/ai-marketplace
# Install the pluginclaude plugin install messages@cardmagic

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:

bash
claude mcp add --transport stdio messages -- npx -y @cardmagic/messages --mcp

Or install globally first:

bash
npm install -g @cardmagic/messagesclaude mcp add --transport stdio messages -- messages --mcp

From source

bash
git clone https://github.com/cardmagic/messages.gitcd messagesmake install
# Then add as plugin OR MCP server:claude plugin marketplace add cardmagic/ai-marketplaceclaude plugin install messages@cardmagic# ORclaude mcp add --transport stdio messages -- messages --mcp

Granting Full Disk Access

The tool needs to read your Messages database at ~/Library/Messages/chat.db:

  1. Open System Settings > Privacy & Security > Full Disk Access
  2. Click + and add your terminal app (Terminal.app, iTerm, Warp, etc.)
  3. Restart your terminal

Usage

CLI

Browse Commands
bash
# Show most recent messages (who texted me?)messages recent
# List contacts by recent activitymessages contacts --limit 10
# List conversations with message countsmessages conversations
# Show recent messages from someonemessages from "Mom"
# Show full conversation threadmessages thread "John" --after 2024-12-01
Search Commands
bash
# Search for messages (index auto-builds on first search)messages search "coffee tomorrow"
# Filter by sendermessages search "dinner" --from "Mom"
# Filter by datemessages search "meeting" --after 2024-01-01
# Adjust result count and contextmessages search "project" --limit 20 --context 5
# Show index statisticsmessages stats
# Force rebuild the indexmessages index
Search Options
OptionDescription
-f, --from <sender>Filter by sender name or phone
-a, --after <date>Only messages after date (YYYY-MM-DD)
-l, --limit <n>Max results (default: 10)
-c, --context <n>Messages before/after (default: 2)

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:

CommandDescription
/messages:search <query>Fuzzy search with optional filters
/messages:recentShow most recent messages
/messages:contactsList contacts by activity
/messages:conversationsList conversations with message counts
/messages:from "Name"Messages from a specific person
/messages:thread "Name"Full conversation thread
/messages:browse <cmd>Alias for browse commands

MCP Server

When installed as an MCP server, Claude Code can use these tools:

ToolDescription
search_messagesSearch messages with fuzzy matching
recent_messagesGet most recent messages
list_contactsList contacts by activity
list_conversationsList conversations with counts
get_threadGet conversation thread with a contact
get_message_statsGet index statistics
Manual MCP Configuration

For Claude Desktop or VS Code, add to your MCP configuration:

json
{  "mcpServers": {    "messages": {      "command": "npx",      "args": ["-y", "@cardmagic/messages", "--mcp"]    }  }}

How It Works

  1. 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
  2. Searching: Queries both indexes for best results with typo tolerance

  3. Storage: Index files are stored in ~/.messages/:

    • index.db - SQLite FTS5 database
    • fuzzy.json - MiniSearch index
    • stats.json - Index statistics

License

MIT

来源:README.md,提交 e3fa952

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.2.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分