使用说明
imessage mcp
一个MCP服务器,将Claude Desktop连接到macOS上的iMessage——阅读对话、搜索消息、发送文本和访问附件。
先决条件
授予完整磁盘访问权限
- 打开 系统设置→ 隐私和安全→ 全磁盘访问
- 添加 克劳德 添加到列表并启用它
- 重新启动克劳德桌面
安装
1.添加到Claude桌面配置
打开 ~/Library/Application Support/Claude/claude_desktop_config.json 并添加:
{
"mcpServers": {
"imessage": {
"command": "npx",
"args": ["-y", "@kamk95/imessage-mcp"]
}
}
}
2.重新启动克劳德桌面
手动安装(可选)
如果您更喜欢从源代码运行:
git clone https://github.com/kamrenkennedy/imessage-mcp.git
cd imessage-mcp
npm install
然后改用此配置:
{
"mcpServers": {
"imessage": {
"command": "node",
"args": ["/absolute/path/to/imessage-mcp/index.js"]
}
}
}
工具
get_conversations
列出最近的iMessage对话。
| 参数 | 类型 | 说明 |
|---|---|---|
limit |
number | 要返回的最大对话数(默认值:20) |
get_messages
从特定对话中获取消息。
| 参数 | 类型 | 说明 |
|---|---|---|
chat_id |
字符串 | 必修的。 聊天ID来自 get_conversations |
limit |
number | 要返回的最大消息数(默认值:50) |
search_messages
按文本搜索所有邮件。
| 参数 | 类型 | 说明 |
|---|---|---|
query |
字符串 | 必修的。 要搜索的文本 |
limit |
number | 要返回的最大结果数(默认值:20) |
get_chat_participants
让参与者参与对话。
| 参数 | 类型 | 说明 |
|---|---|---|
chat_id |
字符串 | 必修的。 聊天ID来自 get_conversations |
send_message
发送iMessage或SMS。
| 参数 | 类型 | 说明 |
|---|---|---|
recipient |
字符串 | 必修的。 电话号码、电子邮件或联系人姓名 |
message |
字符串 | 必修的。 要发送的文本 |
get_attachments
列出对话中的附件。
| 参数 | 类型 | 说明 |
|---|---|---|
chat_id |
字符串 | 必修的。 聊天ID来自 get_conversations |
limit |
number | 要返回的最大附件数(默认值:20) |
save_attachment
将邮件中的附件保存到磁盘。
| 参数 | 类型 | 说明 |
|---|---|---|
attachment_id |
字符串 | 必修的。 附件ID来自 get_attachments |
destination |
字符串 | 必修的。 文件应保存的完整路径 |
备注
- 消息直接从以下位置读取
~/Library/Messages/chat.db使用SQLite——读取不需要AppleScript - 通过AppleScript发送
osascript - 联系人姓名会自动从通讯簿中解析出来
- 美国电话号码被标准化(从11位数字中去掉前导1)