使用说明
Proton邮件MCP服务器
MCP服务器 克劳德代码 通过以下方式提供电子邮件访问 质子邮件桥。电子邮件通过FTS5全文搜索同步到本地SQLite数据库,以便快速离线访问。
特性
- 13个MCP工具:列表、阅读、搜索、发送、回复、移动、标记、删除电子邮件+附件下载
- 本地SQLite数据库:同步电子邮件标题一次,脱机工作。尸体一经要求就懒洋洋地搬来了
- FTS5全文搜索:跨主题、发件人、收件人和正文搜索——13k多封电子邮件的即时结果
- 增量同步:第一次同步约2-3分钟,后续同步以秒为单位
- DB优先架构:
list_emails,read_email,search_emails同步时从本地数据库提供服务,否则IMAP回退
设置
先决条件
- Python 3.10+
- 质子邮件桥 在本地运行
python-dotenv,mcp包裹
1.克隆和配置
git clone https://github.com/DreamC0der-AI/proton-mail-mcp.git
cd proton-mail-mcp
创建一个 .env 使用您的Proton Bridge凭据文件:
EMAIL_USER=your@pm.me
EMAIL_PASS=your-bridge-password
IMAP_HOST=127.0.0.1
IMAP_PORT=1143
SMTP_HOST=127.0.0.1
SMTP_PORT=1025
2.添加到克劳德代码
复制 example.mcp.json 到你的项目 .mcp.json 并更新路径:
{
"mcpServers": {
"email": {
"type": "stdio",
"command": "python3",
"args": ["/absolute/path/to/proton-mail-mcp/server.py"]
}
}
}
3.同步电子邮件
重新启动Claude Code后,运行 sync_emails 将标头拉入本地数据库。然后使用 local_search 用于即时全文搜索。
工具
| 工具 | 说明 |
|---|---|
sync_emails |
将IMAP邮件头同步到本地数据库(增量) |
sync_status |
显示每个邮箱的同步状态 |
local_search |
FTS5搜索: "exact phrase", word*, a AND b, a NOT b |
list_emails |
列出带有过滤器的电子邮件(同步时数据库优先) |
read_email |
通过UID读取完整电子邮件(延迟正文提取+缓存) |
search_emails |
搜索电子邮件(同步时为FTS5,IMAP回退) |
send_email |
通过SMTP发送电子邮件 |
reply_email |
使用合适的螺纹头进行回复 |
mark_email |
标记为已读/未读/标记/未标记 |
move_email |
在邮箱之间移动 |
delete_email |
移至垃圾箱 |
download_attachment |
下载并跟踪附件 |
list_downloads |
列出下载的附件 |
list_mailboxes |
列出可用邮箱 |
建筑
server.py MCP server (FastMCP, IMAP pool, SMTP, tool definitions)
db.py EmailDB (SQLite + FTS5) + EmailSyncer (IMAP-to-DB sync)
.env Credentials (gitignored)
data/ Local database + attachments (gitignored)
emails.db SQLite WAL database
attachments/ Downloaded attachment files
tests/ Test suite
许可证
麻省理工学院
