项目简介

iMessage Query MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为LLM应用提供安全访问 macOS iMessage 数据库的能力。通过此服务器,LLM 可以查询和分析用户的 iMessage 对话记录,从而实现更丰富的上下文理解和应用功能。

主要功能点

  • 安全访问 iMessage 数据库: 服务器以只读方式访问 iMessage 数据库,确保用户数据安全。
  • 查询聊天记录: 提供 'get_chat_transcript' 工具,允许LLM根据电话号码查询特定联系人的 iMessage 对话记录。
  • 日期范围过滤: 支持通过 'start_date' 和 'end_date' 参数,筛选特定日期范围内的聊天记录。
  • 附件信息: 返回消息中包含的附件信息,例如文件名、MIME类型和文件路径,方便LLM理解消息上下文。
  • 电话号码验证: 使用 'phonenumbers' 库验证电话号码的有效性,确保查询的准确性。

安装步骤

  1. 克隆仓库: 打开终端,使用 'git clone https://github.com/MCP-Mirror/hannesrudolph_imessage-query-fastmcp-mcp-server.git' 命令将仓库克隆到本地。
  2. 进入目录: 使用 'cd hannesrudolph_imessage-query-fastmcp-mcp-server' 命令进入克隆的仓库目录。
  3. 安装依赖: 运行 'pip install -r requirements.txt' 命令安装项目所需的所有 Python 依赖库。

服务器配置

MCP 客户端需要配置以下 JSON 信息来连接和使用 iMessage Query MCP 服务器。在客户端的 MCP 服务器配置中,添加一个新的服务器配置项,例如命名为 "imessage-query",并填入以下内容:

{
  "imessage-query": {  //  服务器名称,在客户端中用于标识和选择此服务器
    "command": "uv",   //  启动服务器的命令,这里使用 uv 运行器 (需要确保已安装 uv)
    "args": [      //  启动命令的参数列表
      "run",
      "--with",
      "fastmcp", //  指定使用 fastmcp 运行器来运行 MCP 服务器
      "fastmcp",
      "run",
      "/path/to/repo/imessage-query-server.py" //  服务器主脚本 imessage-query-server.py 的绝对路径,请替换为实际路径
    ]
  }
}

注意: 请务必将 '/path/to/repo/imessage-query-server.py' 替换为您本地仓库中 'imessage-query-server.py' 文件的实际绝对路径。

基本使用方法

  1. 启动服务器: 配置完成后,在 MCP 客户端中启用 "imessage-query" 服务器。客户端会自动根据配置启动 iMessage Query MCP 服务器。
  2. 调用工具: 在 LLM 应用中,您可以调用名为 'get_chat_transcript' 的工具来查询 iMessage 聊天记录。
  3. 指定参数: 'get_chat_transcript' 工具需要 'phone_number' 参数(目标电话号码,建议使用 E.164 格式)。您还可以选择性地提供 'start_date' 和 'end_date' 参数(日期范围,ISO 格式 YYYY-MM-DD)来过滤聊天记录。
  4. 获取结果: LLM 调用工具后,服务器会返回包含聊天记录的 JSON 响应,其中包含了指定电话号码在指定日期范围内的消息列表,以及附件信息等。

信息

分类

桌面与硬件