邮件访问服务

为macOS上的Apple Mail提供只读访问服务,通过模型上下文协议(MCP)访问邮件账户、邮箱和消息。

  • by EgorKurito
  • Swift
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 EgorKurito/apple-mail-mcp

使用说明

@易购/苹果邮件mcp

适用于macOS上Apple Mail的MCP服务器。通过提供对邮件帐户、邮箱和邮件的只读访问 模型上下文协议.

使用两层架构:TypeScript MCP服务器与Swift CLI二进制文件通信(mail-bridge)它通过NSAppleScript与Mail.app接口。

需求

  • macOS 13+ (文图拉或更高版本)
  • Node.js 18+
  • Xcode 命令行工具 (xcode-select --install)
  • 邮件.app 已配置至少一个帐户

安装

克劳德桌面/克劳德代码

添加到MCP配置中:

{
  "mcpServers": {
    "apple-mail": {
      "command": "npx",
      "args": ["-y", "@egorkurito/apple-mail-mcp"]
    }
  }
}

全局安装

npm install -g @egorkurito/apple-mail-mcp

然后配置MCP:

{
  "mcpServers": {
    "apple-mail": {
      "command": "apple-mail-mcp"
    }
  }
}

手动(带自定义二进制路径)

{
  "mcpServers": {
    "apple-mail": {
      "command": "node",
      "args": ["/path/to/build/index.js"],
      "env": {
        "MAIL_BRIDGE_BIN": "/path/to/swift/.build/release/mail-bridge"
      }
    }
  }
}

可用工具

工具 说明
get_mail_accounts 列出所有邮件帐户(姓名、电子邮件、类型、已启用)
get_mailboxes 列出包含未读/邮件计数和嵌套文件夹的邮箱
get_messages 从带有分页的邮箱中获取邮件标题(最新的优先)
get_message 获取完整的邮件内容,包括正文、收件人和附件
get_unread_messages 列出所有帐户中的未读邮件或按帐户/邮箱筛选
search_mail 按主题或发件人搜索邮件

权限

首次运行时,macOS会要求您授予自动化权限。首选

系统设置>隐私和安全>自动化 并允许 mail-bridge (或终端/iTerm)进行控制 邮件.app.

故障排除

“邮件应用程序访问被拒绝”(-1743) 在“系统设置”>“隐私和安全”>“自动化”中授予自动化权限。

空结果 请确保Mail.app正在运行,并且至少连接了一个帐户。

Swift构建在安装过程中失败 确保已安装Xcode命令行工具: xcode-select --install

查询速度慢 减少 limit 参数或指定特定 account/mailbox 缩小搜索范围。

许可证

麻省理工学院