使用说明
苹果邮件MCP服务器
通过JXA(用于自动化的JavaScript)在macOS上为Apple Mail提供MCP服务器。通过模型上下文协议以编程方式阅读、搜索和撰写电子邮件。
需求
- 已配置Apple Mail的macOS
- Node.js 18+
- 自动化权限:系统设置>隐私和安全>自动化>允许您的终端/应用程序控制邮件
设置
npm install
npm run build
创建一个 config.json 在项目根目录中:
{
"port": 3032,
"apiKey": "your-secret-key",
"draftMode": false,
"excludeMailboxes": ["Junk", "Deleted Messages"]
}
用法
Stdio(适用于克劳德桌面/克劳德代码)
node dist/index.js --stdio
Claude桌面配置(claude_desktop_config.json):
{
"mcpServers": {
"apple-mail": {
"command": "node",
"args": ["/path/to/apple-mail-mcp/dist/index.js", "--stdio"]
}
}
}
HTTP(用于远程客户端)
npm start
使用可流式HTTP传输启动HTTP服务器。端点: http://localhost:{port}/{apiKey}/mcp
工具
阅读
| 工具 | 说明 |
|---|---|
list_accounts |
列出所有已配置的邮件帐户 |
list_mailboxes |
列出一个帐户或所有帐户的邮箱 |
get_mailbox_summary |
未读计数和最近活动概述 |
list_messages |
按页码列出邮箱中的邮件 |
get_message |
获取完整的邮件内容、收件人和附件元数据 |
search_messages |
按查询、发件人、主题、日期、标记在邮箱中搜索 |
作曲
所有撰写工具都会创建 仅限草稿 --电子邮件从不以编程方式发送。草稿显示在“草稿”文件夹中,并在发送前跨设备同步以供审阅。
| 工具 | 说明 |
|---|---|
send_message |
创建新的电子邮件草稿 |
reply_to_message |
创建回复草稿 |
forward_message |
创建转发草稿 |
管理
| 工具 | 说明 |
|---|---|
move_message |
将邮件移动到其他邮箱 |
mark_message |
设置已读/未读、标记或颜色标记(支持批量) |
delete_message |
移动到垃圾箱或永久删除(支持批量) |
配置选项
| 选项 | 类型 | 默认值 | 描述 |
|---|---|---|---|
port |
number | -- | HTTP服务器端口 |
apiKey |
string | - | HTTP身份验证的API密钥(在URL路径中传递) |
basePath |
字符串 | "" |
反向代理设置的外部基本路径 |
draftMode |
布尔值 | false |
传统选项(现在撰写始终是草稿) |
excludeMailboxes |
string[] | ["Junk", "Deleted Messages"] |
搜索中要跳过的邮箱 |
传输由CLI标志选择: --stdio 对于stdio,否则为HTTP。
建筑
所有Apple Mail交互都是通过JXA脚本执行的 osascript关键绩效模式:
- 批量属性访问 (
mb.messages.subject())用于列出和搜索--在单个IPC调用中获取所有值 whose({id:...})对于单消息查找,缩小引用范围,以便后续属性访问很快,即使在有20k+条消息的邮箱中也是如此- Unicode净化 条带U+2028/2029(行/段落分隔符)、U+FFFC和中断JSON传输的控制字符