使用说明

项目简介

'mcp-server-imessage' 是一个 MCP (Model Context Protocol) 服务器,它允许大型语言模型 (LLM) 客户端通过标准化的 MCP 协议访问 macOS 设备上的 iMessage 消息。该服务器将 iMessage 消息作为资源提供,并提供工具来检索收件箱和已发送的消息。

主要功能点

  • 访问 iMessage 消息: 允许 LLM 客户端读取 macOS 设备上的 iMessage 消息数据。
  • 提供消息检索工具: 实现了 'inbox' (收件箱) 和 'sent' (已发送) 两个工具,方便 LLM 客户端检索不同类型的消息。
  • 基于 MCP 协议: 遵循 MCP 协议标准,易于与支持 MCP 协议的 LLM 客户端集成。
  • 本地数据访问: 直接访问本地 macOS 上的 iMessage 数据库,无需外部网络服务。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/shirhatti/mcp-server-imessage
    cd mcp-server-imessage
  2. 安装依赖: 虽然仓库中没有明确的 'requirements.txt' 文件,但根据代码推测,可能需要安装 'mcp' 和 'peewee' 库。建议尝试安装:
    pip install mcp peewee playhouse
    如果缺少其他依赖,根据错误提示安装即可。

服务器配置

MCP 客户端需要以下配置信息来连接 'mcp-server-imessage' 服务器。将以下 JSON 配置添加到您的 MCP 客户端配置中:

{
  "serverName": "iMessage",
  "command": "python",
  "args": [
    "-m",
    "mcp_server_imessage.server"
  ],
  "transport": "stdio"
}

配置参数说明:

  • 'serverName': 服务器名称,必须与 'mcp_server_imessage.server.py' 中定义的 'app = Server("iMessage")' 的名称一致,这里是 '"iMessage"'。
  • 'command': 启动服务器的命令,这里使用 'python' 解释器。
  • 'args': 传递给 'python' 命令的参数,'"-m mcp_server_imessage.server"' 表示将 'mcp_server_imessage.server' 模块作为脚本运行。
  • 'transport': 传输协议,这里使用 'stdio' (标准输入输出),这是 MCP 客户端和 'mcp-server-imessage' 服务器之间通信的方式。

基本使用方法

  1. 启动服务器: 在终端中,进入克隆的 'mcp-server-imessage' 目录,并确保已安装依赖,然后 MCP 服务器会在客户端连接时自动启动。由于配置中使用的是 'stdio' 传输协议,服务器会在客户端发起连接时通过标准输入输出流进行通信。无需手动运行额外的服务器启动命令。

  2. 配置 MCP 客户端: 按照上述 "服务器配置" 部分的说明,配置您的 MCP 客户端,确保客户端能够通过 'stdio' 与服务器通信。

  3. 使用工具: 在 MCP 客户端中,您可以使用以下工具与 iMessage 服务器交互:

    • 'inbox': 列出收件箱消息。 可以通过 'limit' 参数限制返回的消息数量,例如 '{"limit": 20}' 获取最新的 20 条收件箱消息。
    • 'sent': 列出已发送的消息。 同样可以使用 'limit' 参数限制返回的消息数量。

    LLM 客户端可以通过调用这些工具来获取 iMessage 消息列表,并将其作为上下文信息用于对话或其他任务。

注意:

  • 该服务器目前只支持 macOS 系统,因为它依赖于 macOS 的 iMessage 数据库和 Contacts 框架。
  • 首次运行时,macOS 可能会请求访问 “通讯录” 权限,请允许访问以使地址簿功能正常工作。
  • 该服务器只提供消息读取功能,不包含发送消息或其他写操作的功能。

信息

分类

桌面与硬件