内容
# Apple Mail MCP
适用于 macOS 上 Apple Mail 的模型上下文协议(MCP)服务器。通过 AI 助手直接读取、发送、搜索和管理电子邮件。
## 功能
- **账户管理**:列出邮件账户和邮箱
- **检索邮件**:获取未读、最近或特定的电子邮件
- **搜索**:按发件人、主题、内容或日期搜索电子邮件
- **撰写和发送**:发送新的电子邮件,带有收件人、抄送和密送
- **回复**:回复现有的电子邮件
- **组织**:标记为已读/未读、删除、移动到其他邮箱
- **统计**:获取每个账户/邮箱的未读邮件数量
## 前提条件
- 配置了 Apple Mail 的 macOS
- Node.js 18 或更高版本
- Apple Mail 必须至少配置一个账户
## 安装
```bash
npm install -g apple-mail-mcp
```
或克隆并在本地构建:
```bash
git clone https://github.com/thomasvincent/apple-mail-mcp.git
cd apple-mail-mcp
npm install
npm run build
```
## 配置
将以下内容添加到您的 MCP 客户端配置文件中(例如,Claude Desktop 在 `~/Library/Application Support/Claude/claude_desktop_config.json`):
```json
{
"mcpServers": {
"apple-mail": {
"command": "node",
"args": ["/path/to/apple-mail-mcp/dist/index.js"]
}
}
}
```
## 开发
构建项目:
```bash
npm run build
```
开发模式:
```bash
npm run dev
```
运行代码检查工具:
```bash
npm run lint
```
格式化代码:
```bash
npm run format
```
## 测试
运行测试:
```bash
npm test
```
测试观察模式:
```bash
npm run test:watch
```
## 可用工具
### 账户和邮箱管理
- `mail_get_accounts` - 列出所有配置的邮件账户
- `mail_get_mailboxes` - 列出账户的邮箱
### 邮件检索
- `mail_get_unread` - 获取未读邮件(可选按账户/邮箱过滤)
- `mail_get_recent` - 获取最近的邮件,限制可配置
- `mail_get_email` - 获取特定邮件的 ID
### 搜索
- `mail_search` - 按发件人、主题、内容或日期范围搜索邮件
### 撰写和发送
- `mail_send` - 发送新邮件(可选抄送/密送)
- `mail_reply` - 回复现有邮件
### 组织
- `mail_mark_read` - 标记邮件为已读
- `mail_mark_unread` - 标记邮件为未读
- `mail_delete` - 删除邮件
- `mail_move` - 将邮件移动到其他邮箱
### 实用工具
- `mail_unread_count` - 获取未读邮件数量
- `mail_open` - 打开 Apple Mail 应用程序
- `mail_check` - 检查新邮件
## 权限
MCP 服务器使用 AppleScript 与 Apple Mail 交互。首次使用时,您可能需要在系统偏好设置 > 安全和隐私 > 隐私 > 自动化中授予自动化权限。
## 许可证
MIT 许可证 - 参见 LICENSE 文件了解详情。
## 作者
Thomas Vincent