iMessage Query MCP Server 是一个通过 Model Context Protocol (MCP) 提供对 iMessage 数据库安全访问的服务器。它基于 FastMCP 框架和 imessagedb 库构建,旨在让大语言模型(LLM)能够查询和分析 iMessage 对话,同时确保电话号码验证和附件处理的正确性。
用途
该服务器的主要用途是作为 MCP 服务器,为 LLM 提供访问 iMessage 数据库的接口,使其能够查询和分析 iMessage 对话。它适用于需要让 AI 助手读取或分析 iMessage 消息内容的场景,例如在 Claude Desktop 或 Cline VSCode 插件中集成。
主要能力
服务器暴露了一个工具 get_chat_transcript,用于检索特定电话号码的消息历史。该工具支持可选的日期过滤,返回的消息包括消息文本、时间戳以及附件信息(如果有)。此外,服务器还具备以下能力:
- 使用 phonenumbers 库进行电话号码验证和格式化。
- 安全的附件处理,包括检测缺失文件。
- 日期范围验证。
- 抑制进度输出,以提供干净的 JSON 响应。
使用方式
系统要求
- macOS(访问 iMessage 数据库所必需)
依赖包
- fastmcp:用于构建 Model Context Protocol 服务器的框架。
- imessagedb:用于访问和查询 macOS Messages 数据库的 Python 库。
- phonenumbers:Google 的电话号码处理库,用于正确的号码验证和格式化。 所有依赖均在 requirements.txt 中指定,便于安装。
安装选项
选项 1:为 Claude Desktop 安装
使用 FastMCP 安装。
选项 2:为 Cline VSCode 插件安装
在 VSCode 中,点击 Cline 插件侧边栏的服务器图标 (☰),然后点击“Edit MCP Settings”按钮 (✎),将以下配置添加到设置文件中(将 /path/to/repo 替换为克隆仓库的完整路径,例如 /Users/username/Projects/imessage-query-fastmcp-mcp-server):
{
"mcpServers": {
"imessage-query": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/hannesrudolph/imessage-query-fastmcp-mcp-server",
"imessage-query-fastmcp-mcp-server"
]
}
}
}
环境变量
无需环境变量,服务器会自动在 macOS 默认位置定位 iMessage 数据库。
适用场景
- 在 Claude Desktop 或 Cline VSCode 插件中集成,使 LLM 能够查询和分析 iMessage 对话。
- 需要安全、只读访问 iMessage 数据库的开发或分析任务。
- 需要电话号码验证和附件处理的 iMessage 数据查询。
限制
- 仅支持 macOS 系统,因为 iMessage 数据库访问需要 macOS。
- 服务器提供只读访问,不能修改数据库。
- 需要克隆仓库并配置路径,对于不熟悉命令行的用户可能有一定门槛。
- 具体安装步骤和配置细节请参考仓库文档。