MCPAI agentsEmailTutorial

如何让 AI 智能体访问邮箱(2026 完整指南)

通过 MCP 让你的 AI 智能体读取并发送真实邮箱的邮件——支持 Gmail、Outlook、iCloud、Fastmail 或 IMAP。原理、工具、安全机制与配置一文讲清。

如何通过 MCP 让你的 AI 智能体访问邮箱——MCPEmails

要让 AI 智能体访问邮箱,你需要把邮箱连接到一台 MCP 服务器,再把智能体指向一个端点 URL。智能体随后就能拿到一小组工具,用来读取、搜索和发送邮件。难点其实不在智能体本身——而在于如何做到这一点,又不让你的密码泄露到提示词、日志或向量库里。这"最后一公里"正是本指南要讲的内容。

如果你只想走最快的路径:在仪表盘里连接一个邮箱,把 MCP 端点粘贴到 claude.ai、Claude Desktop、Cursor 或你自己的智能体里,然后先调用一次 inbox_list。本文余下部分会解释背后实际发生了什么、为什么安全模型至关重要,以及如何接入每一个受支持的服务商。

"通过 MCP 收发邮件"到底意味着什么

Model Context Protocol 是一种通过 HTTP 向语言模型暴露工具的标准方式。一台 MCP 邮件服务器不会把你的邮箱当作原始 IMAP 暴露出来,而是呈现为智能体可以调用的几个带类型的动词:列出邮件、读取某封、搜索、发送、回复。智能体围绕这些动词进行推理。它从不接触底层的邮箱协议,也从不看到你的凭据。

这正是 MCP Emails 的核心理念。一个端点,一组工具,适配任何兼容 MCP 的客户端。如果你想从头理解整个架构,配套文章 什么是 MCP 邮件服务器 用通俗的语言做了讲解。

为什么"最后一公里"这么难

把模型接到邮箱看上去稀松平常,真正动手做时才会发现没那么简单。有三件事会让你头疼:

  1. 每个服务商的鉴权方式都不一样。 Gmail 需要带特定 scope 的 OAuth。Outlook 需要 Microsoft 身份认证。iCloud 和 Fastmail 需要专用应用密码。每一种都有自己的 token 刷新周期,也有各自的失败模式。
  2. 凭据是高危品。 一个躺在聊天记录或日志行里的邮箱密码,就是一次随时会引爆的数据泄露。你不能让模型持有这个密钥。
  3. 邮件的结构对智能体很不友好。 MIME、线程头、HTML 与纯文本之争、附件、其实是标签的文件夹。模型需要的是干净的响应,而不是 RFC 5322。

那种最朴素的 DIY 做法——丢给模型一个 IMAP 库再加上你的密码——这三关一关都过不了。GitHub 上大多数"Gmail MCP 服务器"仓库恰恰就止步于此。

MCP Emails 是如何解决的

四个设计决策挑起了大梁。它们正是我敢用它来管自己邮箱的原因。

邮件实时拉取,从不存储

每一次工具调用都会实时打到你的服务商:Gmail API、Microsoft Graph 或 IMAP/SMTP。邮件正文、主题和附件交给智能体后即刻丢弃。没有任何东西被缓存、建索引或落库存档。每个邮箱唯一被持久化的,只有发起下一次调用所需的凭据。如果你想看为什么这一点很重要的详细版本,请读 为什么"邮件从不存储"很重要

凭据以 AES-256-GCM 静态加密

每个邮箱的 OAuth token 或应用密码在写入数据库之前都会先加密。解密只在一个隔离的 Edge Function 内部、于调用时进行,使用的密钥作为环境密钥存放,与数据库相互独立。所以即便数据库泄露,攻击者拿到的也只是密文,而不是你的邮箱。

发送走你自己的服务商

当智能体发送或回复时,邮件是通过你的 Gmail、你的 Microsoft 365 或你的 SMTP 服务器发出去的。MCP Emails 从不用自己的域名做中转。你的送达率和域名信誉完全归你所有——不必再玩共享 IP 那种"进不进垃圾箱看运气"的轮盘赌。

它就是基于 HTTP 的标准 MCP

服务器按照 MCP 2025-06-18 规范说 Streamable HTTP。无需安装 SDK,无需自定义客户端。任何会说 MCP 的东西都能直接接入。

你的智能体能拿到哪些工具

一小组整合后的、基于动作(action)的工具覆盖了全部能力面:读取、撰写、整理,另有若干用于文件夹、定时和联系人的工具。智能体总是先调用 inbox_list 来发现连接了哪些账户、并取得每个邮箱的 ID——它从不把 UUID 写死在代码里。

  • inbox_list —— 发现已连接的账户及其能力
  • email_read(动作 list)—— 分页、按最新优先、按邮箱列出
  • email_read(动作 read)—— 解析后的纯文本,可选经过净化的 HTML,可选附件
  • email_read(动作 search)—— 服务商原生语法(Gmail 操作符、Outlook KQL、IMAP 文本搜索)
  • email_compose(动作 send)—— 撰写邮件,支持 CC/BCC、HTML 以及总计不超过 10 MB 的附件
  • email_compose(动作 reply)—— 同上,并且会替你设置好线程头(In-Reply-To、References)
  • email_organize —— 移动、删除、标记或归档(每次调用一个动作)

有一个值得开门见山说清楚的局限:这是轮询,而非推送。没有 webhook。要对新邮件做出反应,你的智能体需要按计划轮询,例如带 unread_only: trueemail_read(动作 list)。你搭建的任何自动回复器都靠定时器运转,而不是即时触发。自动回复器搭建指南 展示了如何把这件事做好。

一次早间整理流程读起来是这样的:

{
  "step1": "inbox_list                  → finds your work Gmail",
  "step2": "email_read (action list)    → last 24h, unread_only",
  "step3": "email_read (action read)    → full body for anything urgent",
  "step4": "email_compose (action reply) → draft, or just summarize and wait"
}

没有任何密码在网络上传输过。智能体持有的是能力,而非凭据。想要更多点子,可以看 AI 智能体拥有邮箱权限后能做的 7 件事 以及更深入的 整理与摘要收件箱实战

受支持的服务商及各自的连接方式

你只需在 Dashboard → Inboxes → Connect Inbox 里把邮箱连接一次。具体如何鉴权取决于服务商。

OAuth 服务商(一键搞定)

应用密码服务商

iCloud、Fastmail、Yahoo、Zoho、Yandex 以及任何通用 IMAP 邮箱,都用专用应用密码而非 OAuth 来连接。你在服务商的安全设置里生成密码,再粘贴到 MCP Emails 中。iCloud 密码来自 appleid.apple.com;Fastmail 只支持应用密码(在 Fastmail 设置里创建一个)。它们都跑在同一套 IMAP/SMTP 传输之上,共享一套完全相同的功能集。完整教程见 将 iCloud、Fastmail 或任意 IMAP 邮箱连接到 Claude

连接你的 AI 客户端

同一个端点、同一组工具,根据你的客户端是否会说 OAuth,有两种接入方式。

支持 OAuth 的客户端(无需 API key)

claude.ai、Claude Desktop、Cursor 等同类客户端,通过 OAuth 2.0 授权码 + PKCE 以及 RFC 7591 动态客户端注册来连接。在 claude.ai 里依次是 Customize → Connectors → Add connector,粘贴 MCP 端点 URL,点击 Connect,登录你的 MCP Emails 账户,然后授权。Token 的范围严格限定在你所批准的内容上:read:emailsend:email 或两者皆有。

不支持 OAuth 的客户端(API key)

Cline、JetBrains、自定义脚本以及裸 cURL 使用带 scope 的 API key。在 Dashboard → API Keys 里创建一个,挑选它的 scope,然后复制(它只会显示一次)。以 Authorization: Bearer <api-key> 的形式传入。这些客户端的完整配置见 在 Cursor、Cline 和 VS Code 中为 AI 智能体接入邮件,两种方式之间的取舍则在 AI 邮件访问:OAuth 与 API key 之争 中有详述。

无论哪种方式,你都可以在仪表盘里一键吊销任意连接。请从 文档 里取得准确的端点 URL——直接从那里复制,别手动敲。

这样安全吗?以及速率限制

简短的回答:安全,而 让 AI 智能体访问邮箱安全吗 这篇文章把完整的论证讲透了。模型持有的是受限的能力,而不是你的密码;凭据经过加密;什么都不存储;发送始终留在你自己的服务商;访问权一键即可吊销。

关于速率限制,在所有套餐上,每个 API key 都被限制在每分钟 100 次请求、每小时 1,000 次、每天 10,000 次。此外还有一个按工作区计算的突发上限,会随你的套餐递增——Free 为 60/min,Solo 为 300/min,Team 为 1,000/min。当你触及上限时,服务器会返回一个可重试的错误,并附带一个以秒为单位的 retry_after 值。请遵守它。另外,绝不要盲目地自动重试 email_compose 的发送——那样你会发出重复邮件。

价格

每个套餐都不限量:邮箱、工具调用、API key、团队成员,统统不限。各档之间的差别只在突发速率、分析数据保留时长、团队功能和技术支持上。

  • Free —— 永久 $0。 无需信用卡。60 req/min,7 天分析数据,社区支持。
  • Solo —— $12/month(或 $120/year)。300 req/min,90 天分析数据,邮件支持。
  • Team —— $49/month(或 $490/year)。1,000 req/min,团队角色与多个工作区,支持 SAML/OIDC 的 SSO 外加审计日志,1 年分析数据,优先支持。

完整明细见 价格页面

开始上手

连接一个邮箱,把端点粘贴进你的智能体,然后调用 inbox_list。整个上手过程就这么多。免费开始 或浏览一下 快速上手——几分钟内你就能让一个智能体读取真实的邮件了。

Asgeir Albretsen
作者
Asgeir Albretsen

Asgeir builds MCPEmails — the bridge that lets AI agents read, search, and send real email over the Model Context Protocol. He writes about agents, email infrastructure, and developer experience.

@mcpemails

为你的智能体接入收件箱

几分钟内将 Gmail、Fastmail 或任意 IMAP 账户连接到你的 AI 智能体。