imap-mcp
imap-mcp
将任何邮箱连接到你的第二大脑。
一个通过 IMAP 读取邮件的 MCP 服务器——iCloud、Gmail、Outlook、Fastmail、大学或公司邮箱,任何支持该协议的邮箱——并将其转换为可搜索的 markdown 笔记,以及 Mycelium 运行时直接摄入的 RawItem 记录。
MIT 许可。支持 macOS、Linux 和 Windows。
为什么选择 IMAP
每个邮件提供商都支持 IMAP。一个连接器即可覆盖所有提供商,当一屋子人各自使用不同邮箱时,这一点尤为重要。
如果某个提供商已有合适的 OAuth 连接器,请优先使用它——Gmail 用 google-workspace-mcp,Outlook 用 microsoft-365-mcp。OAuth 提供有范围限制、可撤销的访问权限;IMAP 应用密码则不具备这些特性。本服务器用于处理这两个连接器无法覆盖的邮箱:iCloud(其 Mail 服务完全不提供 OAuth 授权)以及所有较小的或自托管的提供商。
Related MCP server: imap-2-mcp
支持的提供商
提供商 | 主机 | 说明 |
|
| 需要在 Apple ID 上开启双重认证 |
|
| 优先使用 OAuth 连接器;需要开启两步验证 |
|
| 优先使用 OAuth 连接器;许多租户禁用了 IMAP |
|
| 应用密码可以仅限 IMAP 使用 |
| 你自行设置 | 大学、公司、自托管 |
可以直接向服务器询问 imap_list_providers——它会返回每个提供商的主机地址以及生成密码的确切页面。
设置
参见 SETUP.md。只需三步,密码由你自己生成。
工具
工具 | 访问权限 | 用途 |
| 只读 | 提供商列表 + 获取密码的地址 |
| 只读 | 是否可连接,凭据是否有效 |
| 只读 | 确切的文件夹名称 |
| 只读 | 紧凑摘要,不含正文 |
| 只读 | 一封完整邮件 |
| 写入 | 将笔记写入你的知识库 |
| 只读 |
|
| 只读 | 解释某封邮件为何被摄入或未被摄入 |
八个操作,低于搜索+执行界面开始产生收益的 ~15 个阈值,因此每个操作对应一个工具。
安全性
你的邮箱永远不会被修改。 会话以 EXAMINE(只读)方式打开,所有获取均使用 BODY.PEEK[]。普通的 FETCH BODY[] 会附带设置 \Seen 标志,因此“只读”同步可能会悄悄将你的未读邮件标记为已读。唯一会写入内容的工具是将笔记写入你的知识库。
你的密码永远不会离开你的机器。 它存储在操作系统钥匙串中,从不写入配置文件,从不记录日志,也从不通过工具返回。IMAP LOGIN 失败时会回显失败的命令——其中包含密码——因此认证错误会被整体替换,而不是直接透传。
邮件被视为不可信输入。 每封邮件的正文都被包裹在 UNTRUSTED_EMAIL_BODY 围栏中,伪造结束标记以突破自身围栏的正文会被中和。邮件是需要总结的数据,而不是需要遵循的指令。这一点比听起来更重要:任何人都可以给你发送邮件,因此未加围栏的正文相当于陌生人直接写入你助手的上下文中。
没有任何内容会被静默跳过。 如果服务器对邮箱重新编号(UIDVALIDITY 发生变化),同步游标将被丢弃,响应会显示 uidvalidity_reset: true——否则过期的游标会指向无关的邮件,并永远跳过真正的邮件。被过滤的邮件会携带导致其被丢弃的规则,imap_explain_filter 可以解释任意一条规则。
每次写入都会说明写入位置。 结果会携带 vault_root 和 root_source,因此落入错误文件夹的邮件会在第一次响应中即可看到,而不是几个月后才发现。
过滤
智能默认规则保留重要内容,过滤掉噪音。文件夹名称因提供商和语言而异,因此它们来自提供商配置文件而非硬编码——Gmail 嵌套在 [Gmail]/ 下,Outlook 使用 Junk Email,西班牙语环境的账户使用 Enviados。
保留 | 丢弃 |
你发送的邮件 | 垃圾邮件 / 垃圾邮件 / 废纸箱文件夹 |
你回复过的线程( | 新闻通讯( |
已标记邮件( |
|
显式阻止优先于显式允许;两者都优先于智能默认值。使用 apply_smart_filter=False 可完全关闭默认值。
两个消费者,一个核心
imap_client.py 是唯一使用 IMAP 协议的模块。
第二大脑 —
imap_sync_to_vault写入External Inputs/<Provider>/<mailbox>/YYYY-MM-DD-<slug>.mdMycelium 运行时 —
imap_export_for_runtime生成与运行时RawItem字段完全匹配的记录,因此服务器端适配器直接包装此模块,而无需重新实现
测试
uv run pytest -q65 个测试,无需网络。安全防护(围栏逃逸、路径包含、凭据不泄露)均经过变异测试:移除防护后,相应测试确认失败,然后恢复防护。
尚未验证: 尚未针对任何提供商的真实邮箱进行过实时冒烟测试。每个测试都使用合成夹具,这证明了解析和过滤逻辑的正确性,但未证明真实服务器会接受这些确切的命令。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvider-agnostic email MCP server that connects any IMAP mailbox to AI assistants, enabling email management through natural language.8AGPL 3.0
- FlicenseNot gradedqualityCmaintenanceEnables AI clients to search IMAP mailboxes with live access and a full-text index covering email bodies and attachments (PDF, DOCX, XLSX, text).
- AlicenseNot gradedqualityBmaintenanceConnects multiple IMAP and SMTP mailboxes to MCP clients like ChatGPT without exposing credentials, enabling email search and thread retrieval via natural language.1Apache 2.0
- AlicenseNot gradedqualityCmaintenanceIMAP/SMTP email for AI agents -- read, send, organize folders, and manage attachments across multiple accounts, with auto-discovery.MIT
Related MCP Connectors
Give an AI agent its own inbox — receive email as a webhook, send over a verified domain.
Email for AI agents — send, receive as a webhook, manage domains, templates, routing.
Hosted email MCP for AI agents with inboxes, send/receive, memory, recovery, and credits.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/adelaidasofia/imap-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server