使用说明
iCloud电子邮件MCP服务器
一个模型上下文协议(MCP)服务器,使Claude Desktop能够与iCloud电子邮件帐户进行交互。此服务器提供完整的电子邮件功能,包括通过您的iCloud帐户阅读、发送和管理电子邮件。
特性
- 阅读电子邮件 从任何文件夹中删除,同时保留未读状态
- 发送电子邮件 支持CC收件人和附件
- 列出电子邮件文件夹 浏览邮箱
- 创建新文件夹 用于电子邮件组织
- 移动电子邮件 文件夹之间
- 搜索电子邮件 在你的邮箱里
- 管理已读/未读状态 明确地在需要时
- 过滤未读电子邮件 具体地
- 测试连接 服务器健康状况
先决条件
- iCloud帐户 启用应用程序特定密码
- 码头工人 安装在您的系统上
- 克劳德桌面 为MCP服务器配置
设置
1.生成iCloud应用程序特定密码
- 登录到…… appleid.apple.com
- 首选 登录和安全 > 应用程序特定密码
- 为“电子邮件MCP服务器”生成新密码
- 保存此密码-您需要它进行配置
2.克隆和配置
git clone https://github.com/Lawiak/icloud-mcp.git
cd icloud-mcp
创建环境文件:
cp .env.example .env
nano .env
在中配置您的凭据 .env:
ICLOUD_USERNAME=your.email@icloud.com
ICLOUD_APP_PASSWORD=your-app-specific-password
3.构建Docker容器
docker build -t icloud-mcp-server:latest .
4.配置克劳德桌面
编辑您的Claude Desktop配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 视窗:
%APPDATA%\Claude\claude_desktop_config.json
添加MCP服务器配置:
{
"mcpServers": {
"icloud-email": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"--env-file", "/path/to/your/icloud-mcp/.env",
"icloud-mcp-server:latest",
"python", "server.py"
]
}
}
}
用于远程部署 (例如Raspberry Pi),使用SSH:
{
"mcpServers": {
"icloud-email": {
"command": "ssh",
"args": [
"user@your-server-ip",
"docker", "run", "-i", "--rm",
"--env-file", "/path/to/icloud-mcp/.env",
"icloud-mcp-server:latest",
"python", "server.py"
]
}
}
}
5.重新启动克劳德桌面
关闭并重新启动Claude Desktop以加载新的MCP服务器配置。
用法
配置后,您可以要求Claude Desktop:
- “阅读我的最新电子邮件”(保留未读状态,显示预览)
- “完整阅读我的电子邮件”(完整的电子邮件正文)
- “完整阅读电子邮件ID 123”(特定电子邮件的完整内容)
- “仅显示我的未读电子邮件”
- “发送电子邮件至john@example.com主题为“会议”,消息为“你好!'"
- “发送带有附件的电子邮件”(使用base64编码内容)
- “从本地路径发送包含文件的电子邮件”(如果文件可访问)
- “将电子邮件ID 123标记为已读”
- “将电子邮件ID 456标记为未读”
- “显示我的电子邮件文件夹”
- “将电子邮件ID 123从收件箱移动到存档”
- “创建一个名为“项目”的新文件夹”
电子邮件内容选项
预览模式 (默认):为了快速扫描,电子邮件正文被截断为200个字符。
全内容模式:获取完整的电子邮件内容,包括:
- 全文和HTML正文内容
- 附件信息(文件名、类型、大小)
- 完整的收件人详细信息(收件人、抄送、密件抄送)
- 其他电子邮件标题
- 所有内容无截断
电子邮件附件
发送附件:服务器支持多种发送附件的方法:
-
Base64编码内容:用于编程或当您有文件数据时
- 支持所有文件类型(PDF、图像、文档等)
- 每个附件的大小限制为25MB
- 自动MIME类型检测
-
本地文件路径:适用于Docker容器可访问的文件
- 要求文件位于Docker部署的挂载卷中
- 自动文件验证和编码
附件格式:文本文件、PDF、图像、办公文档、档案等。
未读状态管理
重要:默认情况下,此服务器会保留您的电子邮件的未读状态。当Claude Desktop读取电子邮件时,它们在您的iCloud帐户中保持未读状态,除非您明确要求将其标记为已读。
服务器配置
iCloud电子邮件设置
- 伺服器:imap.mail.me.com:993(SSL)
- SMTP服务器:smtp.mail.me.com:587(StartTLS)
环境变量
ICLOUD_USERNAME:您的iCloud电子邮件地址ICLOUD_APP_PASSWORD:来自Apple ID的应用程序特定密码
故障排除
连接问题
- 验证您的应用程序特定密码是否正确
- 确保您的Apple ID启用了双因素身份验证
- 检查Docker容器是否可以访问互联网
Claude桌面问题
- 检查Claude Desktop日志中的连接错误
- 验证配置中的文件路径是否正确
- 确保Docker正在运行且可访问
测试服务器
# Test Docker container directly
docker run --rm --env-file .env icloud-mcp-server:latest python -c "
from server import test_email_connection
print('Connection test completed')
"
安全说明
- 应用程序特定密码比iCloud主密码更安全
- 保持你的
.env文件安全,从不将其提交到版本控制 - 为了安全起见,Docker容器以非root用户身份运行
- 所有电子邮件通信都使用加密连接(SSL/TLS)
建筑
此MCP服务器使用:
- FastMCP 用于模型上下文协议实现
- Python imaplib/smtplib 用于电子邮件操作
- 码头工人 用于集装箱化部署
- STDIO传输 用于克劳德桌面通信
许可证
这个项目是开源的,可以在MIT许可证下使用。