mcpField
M
messages

messages

本地服务
github.com/cardmagic通信协作205 周前更新

关于 messages

messages 是用于搜索和浏览 Apple Messages(iMessage/SMS)的工具,提供命令行、Claude Code 插件和 MCP 服务三种使用方式。它结合全文与模糊索引,并可解析联系人名称及展示匹配消息的上下文。

主要功能

  1. 01支持容错的模糊搜索
  2. 02浏览近期消息、联系人和对话
  3. 03将号码解析为联系人名称
  4. 04查看匹配消息的前后文
  5. 05按发送者或日期筛选
  6. 06检测新消息后自动重建索引

适用场景

  1. 01查找包含特定内容的旧消息
  2. 02查看某联系人近期发送的消息
  3. 03浏览联系人活动和对话线程

MCP 相关

作为 MCP 服务时,提供消息搜索、近期消息、联系人、对话、线程和索引统计工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cardmagic-messages": {
"command": "npx",
"args": [
"-y",
"@cardmagic/messages"
]
}
}
}
启动命令npx -y @cardmagic/messages

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@cardmagic/messages1.2.0

工具

6

收录的工具列表 · 更新于 2 周前

参数类型必填说明
fromstring否按发送者姓名(例如,"Mom"、"John Smith")或电话号码筛选。单独使用(不提供 query)时,返回该发送者最近的消息。
afterstring否仅显示此日期之后的消息,格式为 YYYY-MM-DD(可选)
limitnumber否结果数量上限(默认值:10)
querystring否用于搜索消息内容的查询,支持模糊匹配和拼写错误。提供 "from" 时可选。
contextnumber否每条结果前后显示的消息数量(默认:2)

详细介绍

messages

从命令行、作为 Claude Code 插件或 MCP 服务,模糊搜索和浏览 Apple Messages(iMessage/SMS)。

功能

  • 模糊搜索,支持在所有消息中容错处理拼写错误
  • 浏览最近消息、联系人和对话
  • 联系人解析——显示姓名而非电话号码
  • 上下文显示——查看每条匹配消息前后的消息
  • 按发件人或日期范围筛选
  • 自动索引——检测到新消息时自动重建索引
  • 多种使用方式——CLI、MCP 服务或 Claude Code 插件

要求

  • macOS(读取 Apple Messages 数据库)
  • Node.js 22+
  • 为终端授予“完全磁盘访问权限”(以读取 ~/Library/Messages/chat.db)

安装

Homebrew
brew install cardmagic/tap/messages
npm
npm install -g @cardmagic/messages
Claude Code 插件(推荐)

安装为插件即可获得技能(自动调用)和斜杠命令:

# Add the marketplace
claude plugin marketplace add cardmagic/ai-marketplace

# Install the plugin
claude plugin install messages@cardmagic

这将为你提供:

  • 技能:当你询问短信/iMessage 相关内容时,Claude 会自动搜索消息
  • 斜杠命令:/messages:search、/messages:recent、/messages:from 等
MCP 服务

如需直接使用 MCP 工具而不安装插件:

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

也可以先全局安装:

npm install -g @cardmagic/messages
claude mcp add --transport stdio messages -- messages --mcp
从源代码安装
git clone https://github.com/cardmagic/messages.git
cd messages
make install

# Then add as plugin OR MCP server:
claude plugin marketplace add cardmagic/ai-marketplace
claude plugin install messages@cardmagic
# OR
claude mcp add --transport stdio messages -- messages --mcp

授予完全磁盘访问权限

该工具需要读取你的 Messages 数据库 ~/Library/Messages/chat.db:

  1. 打开系统设置 > 隐私与安全性 > 完全磁盘访问权限
  2. 点击 + 并添加你的终端应用(Terminal.app、iTerm、Warp 等)
  3. 重启终端

使用方法

CLI
浏览命令
# Show most recent messages (who texted me?)
messages recent

# List contacts by recent activity
messages contacts --limit 10

# List conversations with message counts
messages conversations

# Show recent messages from someone
messages from "Mom"

# Show full conversation thread
messages thread "John" --after 2024-12-01
搜索命令
# Search for messages (index auto-builds on first search)
messages search "coffee tomorrow"

# Filter by sender
messages search "dinner" --from "Mom"

# Filter by date
messages search "meeting" --after 2024-01-01

# Adjust result count and context
messages search "project" --limit 20 --context 5

# Show index statistics
messages stats

# Force rebuild the index
messages index
搜索选项
选项说明
-f, --from <sender>按发件人姓名或电话号码筛选
-a, --after <date>仅显示此日期之后的消息(YYYY-MM-DD)
-l, --limit <n>最大结果数(默认值:10)
-c, --context <n>前后显示的消息数(默认值:2)
Claude Code 插件

安装为插件后,你将获得:

技能(自动调用):当你提出以下问题时,Claude 会自动搜索消息:

  • “妈妈对晚餐说了什么?”
  • “最近谁给我发过短信?”
  • “查找有关旅行的消息”

斜杠命令:

命令说明
/messages:search <query>模糊搜索,可选筛选条件
/messages:recent显示最近的消息
/messages:contacts按活跃度列出联系人
/messages:conversations列出对话及消息数
/messages:from "Name"查看特定联系人的消息
/messages:thread "Name"查看完整对话线程
/messages:browse <cmd>浏览命令的别名
MCP 服务

安装为 MCP 服务后,Claude Code 可以使用以下工具:

工具说明
search_messages使用模糊匹配搜索消息
recent_messages获取最近的消息
list_contacts按活跃度列出联系人
list_conversations列出对话及消息数
get_thread获取与某位联系人的对话线程
get_message_stats获取索引统计信息
手动配置 MCP

对于 Claude Desktop 或 VS Code,请将以下内容添加到 MCP 配置中:

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

工作原理

  1. 自动索引:首次搜索时(或检测到新消息时),该工具会自动:

    • 读取 Apple Messages SQLite 数据库
    • 构建 SQLite FTS5 全文搜索索引
    • 创建 MiniSearch 模糊搜索索引
    • 从通讯录解析联系人姓名
  2. 搜索:查询两个索引,以容错拼写错误并获取最佳结果

  3. 存储:索引文件存储在 ~/.messages/ 中:

    • index.db——SQLite FTS5 数据库
    • fuzzy.json——MiniSearch 索引
    • stats.json——索引统计信息

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。