使用说明
项目简介
'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 数据库,无需外部网络服务。
安装步骤
- 克隆仓库:
git clone https://github.com/shirhatti/mcp-server-imessage cd mcp-server-imessage - 安装依赖:
虽然仓库中没有明确的 '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' 服务器之间通信的方式。
基本使用方法
-
启动服务器: 在终端中,进入克隆的 'mcp-server-imessage' 目录,并确保已安装依赖,然后 MCP 服务器会在客户端连接时自动启动。由于配置中使用的是 'stdio' 传输协议,服务器会在客户端发起连接时通过标准输入输出流进行通信。无需手动运行额外的服务器启动命令。
-
配置 MCP 客户端: 按照上述 "服务器配置" 部分的说明,配置您的 MCP 客户端,确保客户端能够通过 'stdio' 与服务器通信。
-
使用工具: 在 MCP 客户端中,您可以使用以下工具与 iMessage 服务器交互:
- 'inbox': 列出收件箱消息。 可以通过 'limit' 参数限制返回的消息数量,例如 '{"limit": 20}' 获取最新的 20 条收件箱消息。
- 'sent': 列出已发送的消息。 同样可以使用 'limit' 参数限制返回的消息数量。
LLM 客户端可以通过调用这些工具来获取 iMessage 消息列表,并将其作为上下文信息用于对话或其他任务。
注意:
- 该服务器目前只支持 macOS 系统,因为它依赖于 macOS 的 iMessage 数据库和 Contacts 框架。
- 首次运行时,macOS 可能会请求访问 “通讯录” 权限,请允许访问以使地址簿功能正常工作。
- 该服务器只提供消息读取功能,不包含发送消息或其他写操作的功能。
信息
分类
桌面与硬件