项目简介

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

主要功能点

  • 查询 iMessage 对话记录: 允许 LLM 根据电话号码和日期范围检索 iMessage 对话历史。
  • 电话号码验证: 使用 'phonenumbers' 库验证电话号码的有效性,确保查询的准确性。
  • 附件信息: 返回消息中的附件信息,包括文件名、MIME 类型和文件路径,并检测附件是否丢失。
  • 日期范围过滤: 支持按日期范围筛选对话记录,方便 LLM 获取特定时间段内的信息。
  • 安全访问: 提供只读访问 iMessage 数据库,保障用户数据安全。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/hannesrudolph/imessage-query-fastmcp-mcp-server.git
    cd imessage-query-fastmcp-mcp-server
  2. 安装依赖:
    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'。

基本使用方法

  1. 启动 MCP 服务器。根据您使用的 MCP 客户端,按照其文档配置并启动 'imessage-query' 服务器。
  2. 在 MCP 客户端中,您可以使用 'get_chat_transcript' 工具查询 iMessage 对话记录。例如,在 Claude 中,您可以使用 '@iMessage Query get_chat_transcript phone_number="+15551234567"' 来查询电话号码为 +15551234567 的对话记录。
  3. 可以选择性地添加 'start_date' 和 'end_date' 参数来过滤日期范围,例如 '@iMessage Query get_chat_transcript phone_number="+15551234567" start_date="2023-01-01" end_date="2023-01-31"'。

提示: 确保您的 macOS 系统满足要求,并且 iMessage 数据库位于默认位置。

信息

分类

桌面与硬件