Token导航 LogoToken导航

MCP Server · 办公协作

MCP Icloud Email

一个通过IMAP和SMTP协议为AI助手提供完整iCloud邮件访问功能的MCP服务器,支持搜索、阅读、发送、回复、组织和管理邮件。

stdio官方级别未说明来源级核验工具 14
邮件服务邮件管理GoClaudeClaude Desktop

快速开始

作者 / 组织
roygabriel
提供方
roygabriel
运行时
Docker

工具数量

14

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

MCP Icloud Email 属于办公协作类 MCP Server,公开资料标注 14 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

办公协作

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

docker run \

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Docker,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 14 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

Icloud电子邮件MCP服务器

A. 模型上下文协议 该服务器允许AI助手通过IMAP和SMTP完全访问Apple iCloud Mail。搜索、阅读、发送、回复、组织和管理您的iCloud邮箱——所有这些都可以从Claude或任何兼容MCP的客户端完成。

用Go和the mcp-go SDK。作为Linux、macOS和Windows的单个静态二进制文件发布。

______________________________________________________________________

目录

______________________________________________________________________

特性

电子邮件操作

  • 使用日期范围、阅读状态和文本查询过滤器搜索和列出电子邮件
  • 检索完整的电子邮件内容,包括正文、标题和附件元数据
  • 发送支持CC、BCC和HTML的新电子邮件
  • 回复电子邮件,回复所有支持
  • 发送前保存草稿以供审阅
  • 按文件名下载附件(到磁盘或以base64格式)

邮箱管理

  • 列出、创建和删除邮箱文件夹(包括嵌套文件夹)
  • 在文件夹之间移动电子邮件
  • 将电子邮件标记为已读或未读
  • 用可定制的颜色标记电子邮件以进行跟进
  • 删除电子邮件(移至垃圾箱或永久)
  • 在不获取内容的情况下计数匹配过滤器的电子邮件

可操作的

  • 具有互斥保护的线程安全IMAP访问
  • 具有UUID请求相关性的结构化JSON日志记录
  • 每次工具调用时60秒超时中间件
  • 输入验证:防止路径遍历、大小限制、文件夹/ID清理
  • 用于客户端安全的MCP工具注释(只读、破坏性、幂等)
  • 具有测试、linting和漏洞扫描的CI管道

______________________________________________________________________

快速开始

# Install
go install github.com/rgabriel/mcp-icloud-email@latest

# Set credentials (app-specific password, not your main iCloud password)
export ICLOUD_EMAIL="you@icloud.com"
export ICLOUD_PASSWORD="xxxx-xxxx-xxxx-xxxx"

# Run
mcp-icloud-email

或者从以下网址下载预构建的二进制文件 发布 页面。

______________________________________________________________________

先决条件

  • 转到1.21+ -- 安装 (仅在从源构建时需要)
  • Icloud帐户 启用了双因素身份验证
  • 应用程序特定密码 --IMAP/SMTP访问所需

生成特定于应用程序的密码

  1. 首选 appleid.apple.com 并登录
  2. 导航到 登录和安全 > 应用程序特定密码
  3. 点击 生成特定于应用程序的密码
  4. 输入标签(例如“MCP电子邮件服务器”)并单击 创建
  5. 复制生成的密码(xxxx-xxxx-xxxx-xxxx)并安全地存放

笔记:

  • 您的Apple ID必须启用双因素身份验证
  • 您最多可以创建25个活动应用程序特定密码
  • 更改您的主Apple ID密码会撤销所有特定于应用程序的密码
  • 切勿使用iCloud主密码访问IMAP/SMTP

______________________________________________________________________

安装

来源

git clone https://github.com/rgabriel/mcp-icloud-email.git
cd mcp-icloud-email
make build

使用 go install

go install github.com/rgabriel/mcp-icloud-email@latest

码头工人

docker build -t mcp-icloud-email .

docker run \
  -e ICLOUD_EMAIL="you@icloud.com" \
  -e ICLOUD_PASSWORD="xxxx-xxxx-xxxx-xxxx" \
  mcp-icloud-email

Docker镜像使用多阶段构建 无发行版 基本映像,并以非root用户身份运行。

预构建二进制文件

从以下网址下载适用于您平台的二进制文件 发布 页面。二进制文件可用于:

平台架构二进制
Linuxx86_64mcp-icloud-email-linux-amd64
LinuxARM64mcp-icloud-email-linux-arm64
macOS英特尔mcp-icloud-email-macos-amd64
macOS苹果硅mcp-icloud-email-macos-arm64
Windowsx86_64mcp-icloud-email-windows-amd64.exe

SHA256校验和与每个二进制一起提供。

______________________________________________________________________

配置

服务器需要两个环境变量:

变量必填描述
ICLOUD_EMAIL是您的iCloud电子邮件地址(Apple ID)
ICLOUD_PASSWORD是来自appleid.apple.com的特定于应用程序的密码
LOG_LEVEL否记录详细程度: DEBUG, INFO (默认), WARN, ERROR

您可以将这些设置为环境变量,也可以将它们放置在 .env 文件:

cp .env.example .env
# Edit .env with your credentials

______________________________________________________________________

使用Claude Desktop

将服务器添加到Claude Desktop配置文件中。

macOS -- ~/Library/Application Support/Claude/claude_desktop_config.json

Linux -- ~/.config/claude/claude_desktop_config.json

视窗 -- %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "icloud-email": {
      "command": "/path/to/mcp-icloud-email",
      "env": {
        "ICLOUD_EMAIL": "you@icloud.com",
        "ICLOUD_PASSWORD": "xxxx-xxxx-xxxx-xxxx"
      }
    }
  }
}

保存后重新启动Claude Desktop。

______________________________________________________________________

可用工具

服务器公开了14个MCP工具。每个工具都包含模式约束和注释,指示它是只读的、破坏性的还是幂等的。

搜索邮件

使用可选过滤器搜索和列出电子邮件。为了提高效率,返回电子邮件标题(不是全文)。

参数类型默认值说明
querystring主题/正文的搜索词
folder字符串INBOX要搜索的邮箱文件夹
last_days整数30仅显示最近N天的电子邮件
limit整数50最多可返回的电子邮件数(最多200封)
offset整数0跳过前N个结果(用于分页)
unread_only布尔值false仅返回未读电子邮件
sincestring开始日期(ISO 8601)
beforestring结束日期(ISO 8601)

响应包括 count (返回), total (在偏移/限制之前匹配)和一系列电子邮件摘要。

get_email

检索完整的电子邮件内容,包括正文、HTML、标题和附件列表。

参数类型默认值说明
email_id字符串*(必填)*电子邮件UID
folder字符串INBOX邮箱文件夹

send_邮件

撰写并发送一封新电子邮件。

参数类型默认值说明
to字符串/数组*(必填)*收件人地址
subject字符串*(必填)*主题行
body字符串*(必填)*电子邮件正文
cc字符串/数组CC地址
bcc字符串/数组BCC地址
html布尔值false正文是否为HTML

回复_电子邮件

回复现有电子邮件。自动设置“答复”和“引用”标题。

参数类型默认值说明
email_id字符串*(必填)*要回复的电子邮件UID
body字符串*(必填)*回复正文
folder字符串INBOX包含原始电子邮件的文件夹
reply_all布尔值false回复所有收件人
html布尔值false正文是否为HTML

草稿_邮件

将电子邮件另存为草稿。支持带有自动标头线程的回复草稿。

参数类型默认值说明
to字符串/数组*(必填)*收件人地址
subject字符串*(必填)*主题行
body字符串*(必填)*电子邮件正文
cc字符串/数组CC地址
bcc字符串/数组BCC地址
html布尔值false正文是否为HTML
reply_to_idstring回复草稿的原始电子邮件ID
folder字符串INBOX原始电子邮件文件夹(用于回复)

删除电子邮件

通过将电子邮件移至垃圾箱删除,或永久删除。

参数类型默认值说明
email_id字符串*(必填)*电子邮件UID
folder字符串INBOX邮箱文件夹
permanent布尔值false永久删除而不是丢弃

move_mail

将电子邮件从一个文件夹移动到另一个文件夹。

参数类型默认值说明
email_id字符串*(必填)*电子邮件UID
from_folder字符串INBOX源文件夹
to_folder字符串*(必填)*目标文件夹

mark_read

更改电子邮件的已读/未读状态。

参数类型默认值说明
email_id字符串*(必填)*电子邮件UID
folder字符串INBOX邮箱文件夹
read布尔值truetrue 为了标记已读, false 未读

flag_mail

用可选颜色标记电子邮件以进行跟进。

参数类型默认值说明
email_id字符串*(必填)*电子邮件UID
flag字符串*(必填)*follow-up, important, deadline,或 none
folder字符串INBOX邮箱文件夹
colorstringred, orange, yellow, green, blue, purple

集 flag 到 none 删除所有标志。

计数_邮件

在不下载邮件内容的情况下,统计与过滤器匹配的电子邮件。

参数类型默认值说明
folder字符串INBOX邮箱文件夹
last_daysinteger仅从最近N天开始计数
unread_only布尔值false只计算未读

list_folders

列出所有可用的邮箱文件夹。不接受任何参数。

创建文件夹

创建新的邮箱文件夹。

参数类型默认值说明
name字符串*(必填)*文件夹名称
parentstring嵌套的父文件夹(例如。 Work/Projects)

删除文件夹

删除邮箱文件夹。非空文件夹需要明确确认。

参数类型默认值说明
name字符串*(必填)*文件夹名称
force布尔值false即使文件夹中包含电子邮件,也要删除

无法删除系统文件夹(收件箱、已发送、回收站)。

获取附件

按文件名下载电子邮件附件。

参数类型默认值说明
email_id字符串*(必填)*电子邮件UID
filename字符串*(必填)*附件文件名
folder字符串INBOX邮箱文件夹
save_pathstring要保存到的文件路径(如果省略,则返回base64)

______________________________________________________________________

使用大型收件箱

服务器使用服务器端的IMAP SEARCH命令,因此在下载任何数据之前,邮件服务器上会进行过滤。默认设置已针对大型邮箱进行了调整:

  • search_emails 默认为过去30天,限制为50天
  • count_emails 返回计数而不获取消息内容
  • get_email 按需加载单个消息的全文内容

推荐工作流程:

  1. 使用 count_emails 检查有多少电子邮件符合您的条件
  2. 调整 last_days, since/before,或 unread_only 缩小结果
  3. 使用 search_emails 随着 offset 和 limit 用于分页
  4. 使用 get_email 仅适用于您需要完整阅读的特定消息

______________________________________________________________________

发展

建筑

make build          # Build binary
make test           # Run tests with race detector
make lint           # Run golangci-lint
make vet            # Run go vet
make vuln           # Run govulncheck
make all            # vet + lint + test + build
make docker         # Build Docker image
make tools          # Install dev tools (golangci-lint, govulncheck)

本地运行

export ICLOUD_EMAIL="you@icloud.com"
export ICLOUD_PASSWORD="xxxx-xxxx-xxxx-xxxx"
make run

测试

该项目包括78多个表驱动测试,涵盖所有工具处理程序、输入验证和错误路径。测试使用模拟实现 EmailService 和 EmailSender 接口——不需要实时IMAP/SMTP连接。

make test

MCP检验员测试

使用 MCP检查员 以交互方式测试服务器:

npx @modelcontextprotocol/inspector mcp-icloud-email

CI管道

每一次推动 main 或 dev 每个pull请求都会运行:

  • go vet 和 go test -race --正确性和数据竞争检测
  • golangci-lint --静态分析(errcheck、govet、staticcheck、gosec、gocritic等)
  • govulncheck --已知漏洞扫描

标签发布(v*.*.*)使用SHA256校验和触发自动跨平台构建。

______________________________________________________________________

建筑

mcp-icloud-email/
  main.go              Server setup, tool registration, middleware chain
  config/config.go     Environment variable loading and validation
  imap/client.go       IMAP client (imap.mail.me.com:993, TLS)
  smtp/client.go       SMTP client (smtp.mail.me.com:587, STARTTLS)
  tools/
    interfaces.go      EmailReader, EmailWriter, EmailService, EmailSender
    helpers.go         Address parsing, shared utilities
    validate.go        Input validation (paths, folders, IDs, sizes)
    handlers_test.go   78+ table-driven tests with mocks
    .go          One file per tool handler (14 files)

中间件链: 每个工具调用都经过 logging -> timeout -> handler日志中间件分配UUID请求ID,并记录工具名称、持续时间和结果。超时中间件强制执行60秒的最后期限。

螺纹安全: IMAP客户端使用 sync.Mutex 以序列化访问。内部方法(小写)假设调用者持有锁,防止嵌套调用造成死锁,如 DeleteEmail -> moveEmail.

依赖项

包装用途
mcp走MCP SDK——工具注册、stdio传输
转到imap/v2IMAP协议客户端
go消息MIME解析和电子邮件格式
godotenv.env 文件加载
通用唯一标识符消息ID和请求ID生成

______________________________________________________________________

安全

  • 仅限应用程序特定密码 --从不接受或存储您的主iCloud密码
  • TLS无处不在 --端口993上的IMAP(隐式TLS),端口587上的SMTP(STARTTLS)
  • 输入验证 --路径遍历防止、空字节拒绝、IMAP通配符过滤、控制字符拒绝、数字UID验证
  • 大小限制 --10 MB正文,998个字符的主题(根据RFC 2822)
  • 分散Docker镜像 --最小攻击面,以非根模式运行
  • 无第三方数据共享 --服务器在本地运行,仅与iCloud服务器通信
  • 可撤销访问 --可以随时从appleid.apple.com撤销特定于应用程序的密码

永远不要承诺你的 .env 文件到版本控制。这 .gitignore 已经将其排除在外。

______________________________________________________________________

故障排除

认证失败

  • 验证您使用的是特定于应用程序的密码,而不是iCloud主密码
  • 检查您的Apple ID是否启用了双因素身份验证
  • 在appleid.apple.com重新生成新的应用程序特定密码
  • 确认您的电子邮件地址与您的Apple ID匹配

未找到文件夹

  • 跑 list_folders 查看您帐户的确切文件夹名称
  • iCloud使用“已删除邮件”而不是“垃圾箱”之类的名称
  • 文件夹名称区分大小写

日期格式无效

  • 使用ISO 8601: 2024-01-15T14:30:00Z
  • 如果不是UTC,请包括时区偏移: 2024-01-15T14:30:00-05:00

超时或响应缓慢

  • 检查您的互联网连接
  • 减少 limit 大型结果集的参数
  • 使用 count_emails 在搜索之前首先衡量结果大小
  • 使用较窄的日期范围 since/before 或 last_days

未找到电子邮件

  • 每个文件夹的电子邮件ID(UID)都是唯一的——请确保您在正确的文件夹中查找
  • 自检索ID以来,电子邮件可能已被移动或删除
  • 使用 search_emails 查找当前电子邮件ID

______________________________________________________________________

贡献

欢迎捐款。请在提交pull请求之前打开一个问题来讨论更大的更改。

______________________________________________________________________

许可证

MIT许可证——见 许可证 了解详情。

工具与能力

工具数量

14

资源数量

0

提示词数量

0

能力标签

邮件服务Go本地部署AI助手IMAPSMTP邮件管理

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

消息与邮件处理

把群消息、邮件接进助手,按规则汇总和回复。

工单与任务流转

在对话里建单、改状态,少切换系统。

团队信息同步

把会议纪要和文档更新同步到协作工具。

选择建议

值得选的地方

  • 工具数量 14 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Docker,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在办公协作场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
MCP Icloud Email

MCP World · 本页

14stdio有1 个2026-05-17
Karakeep MCP

MCP World

0未说明未标注1 个2026-05-17
Excalidraw MCP App

MCP World

0未说明未标注1 个2026-05-17
Slack MCP

MCP.so

18stdio有4 个2026-05-17
HiveChat MCP

MCP World

0HTTP未标注2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

MCP Icloud Email 怎么安装?

公开资料给出的安装命令是 docker run \,运行环境为 Docker。装完后按客户端要求写进 MCP 配置,重启客户端生效。

MCP Icloud Email 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Docker;保存后完全退出客户端再打开,配置才会生效。

MCP Icloud Email 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

MCP Icloud Email 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

MCP Icloud Email 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP