项目简介
iMessage Query MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 提供安全访问 macOS iMessage 数据库的能力。通过此服务器,LLM 可以查询和分析 iMessage 对话记录,从而实现更丰富的上下文理解和对话交互。
主要功能点
- 查询 iMessage 对话记录: 允许 LLM 根据电话号码和日期范围检索 iMessage 对话历史。
- 电话号码验证: 使用 'phonenumbers' 库验证电话号码的有效性,确保查询的准确性。
- 附件信息: 返回消息中的附件信息,包括文件名、MIME 类型和文件路径,并检测附件是否丢失。
- 日期范围过滤: 支持按日期范围筛选对话记录,方便 LLM 获取特定时间段内的信息。
- 安全访问: 提供只读访问 iMessage 数据库,保障用户数据安全。
安装步骤
- 克隆仓库:
git clone https://github.com/hannesrudolph/imessage-query-fastmcp-mcp-server.git cd imessage-query-fastmcp-mcp-server - 安装依赖:
pip install -r requirements.txt
服务器配置
要将此 MCP 服务器与 MCP 客户端(例如 Claude Desktop 或 Cline VSCode 插件)连接,您需要配置客户端以启动服务器。以下是 Cline VSCode 插件的配置示例,您可以根据您的 MCP 客户端进行调整。
{ "imessage-query": { // 服务器名称,在客户端中用于标识和调用 "command": "uv", // 启动服务器的命令,这里假设使用 uv 运行 Python 脚本 "args": [ // 启动命令的参数列表 "run", // uv run 命令 "--with", // 使用 fastmcp 插件 "fastmcp", // fastmcp 插件名称 "fastmcp", // fastmcp 运行命令 "run", // fastmcp run 命令 "/path/to/repo/imessage-query-server.py" // MCP 服务器脚本的路径,请替换为您的实际路径 ] } }
请注意: 将 '/path/to/repo' 替换为您克隆仓库的实际路径。如果您不使用 'uv',请根据您的环境调整 'command' 和 'args'。
基本使用方法
- 启动 MCP 服务器。根据您使用的 MCP 客户端,按照其文档配置并启动 'imessage-query' 服务器。
- 在 MCP 客户端中,您可以使用 'get_chat_transcript' 工具查询 iMessage 对话记录。例如,在 Claude 中,您可以使用 '@iMessage Query get_chat_transcript phone_number="+15551234567"' 来查询电话号码为 +15551234567 的对话记录。
- 可以选择性地添加 'start_date' 和 'end_date' 参数来过滤日期范围,例如 '@iMessage Query get_chat_transcript phone_number="+15551234567" start_date="2023-01-01" end_date="2023-01-31"'。
提示: 确保您的 macOS 系统满足要求,并且 iMessage 数据库位于默认位置。
信息
分类
桌面与硬件