伦菲尔德mcp邮件
用于电子邮件的MCP服务器(IMAP/SMTP),支持多帐户和紧凑的LLM优化响应。
特性
- 多账户 --通过YAML配置多个邮件帐户
- IMAP+SMTP --完全读/写电子邮件访问权限
- 仅加密 --SSL或STARTTLS是强制性的,没有明文连接
- OAuth2支持 --可选的Google和Microsoft OAuth2身份验证
- 紧凑的响应 --搜索结果中每封电子邮件约200字节,针对LLM上下文窗口进行了优化
- 附件元数据 --列出了文件名和大小,未传输二进制内容
- 连接池 --具有自动重新连接功能的延迟IMAP连接
安装
pip install renfield-mcp-mail使用OAuth2支持:
pip install "renfield-mcp-mail[oauth]"配置
集 MAIL_ACCOUNTS_CONFIG 指向您的YAML配置文件(默认值: /config/mail_accounts.yaml).
示例 mail_accounts.yaml
accounts:
- name: personal
email: user@example.com
provider: generic # generic | gmail | outlook
imap:
host: imap.example.com
port: 993
security: ssl # ssl | starttls (no plain!)
smtp:
host: smtp.example.com
port: 465
security: ssl
auth:
method: password # password | oauth2
username: user@example.com
password_env: MAIL_PERSONAL_PASSWORD # env var name
- name: work
email: user@company.com
provider: outlook
imap:
host: outlook.office365.com
port: 993
security: ssl
smtp:
host: smtp.office365.com
port: 587
security: starttls
auth:
method: oauth2
client_id_env: MAIL_WORK_CLIENT_ID
client_secret_env: MAIL_WORK_CLIENT_SECRET
token_file: /data/mail_tokens/work_token.json安全注意事项:
- 密码是 从不 存储在YAML中--使用
password_env参考环境变量 - 仅
ssl和starttls被接受为security--解析器拒绝其他任何内容
MCP工具
| 工具 | 说明 |
|---|---|
list_accounts | 列出已配置的邮件帐户 |
search_emails | 按查询搜索电子邮件(发件人:,主题:,未查看,已标记,自:,前:,自由文本) |
read_email | 阅读包含正文和附件元数据的完整电子邮件内容 |
send_email | 通过SMTP发送电子邮件 |
list_folders | 列出帐户的IMAP文件夹 |
move_email | 将电子邮件移动到目标文件夹 |
delete_email | 删除电子邮件(移至废纸篓,退回删除) |
mark_email | 将电子邮件标记为已读/未读/标记/未标记 |
搜索查询语法
unseen--未读电子邮件flagged--标记/星号电子邮件from:address--按发件人筛选subject:text--按主题筛选since:YYYY-MM-DD--自日期以来的电子邮件before:YYYY-MM-DD--日期前的电子邮件- 自由文本--全文正文搜索
组合多个术语: from:amazon subject:order since:2025-01-01
用法
# Run as MCP server (stdio transport)
python -m renfield_mcp_mail
# Or via entry point
renfield-mcp-mail发展
# Install with dev dependencies
pip install -e ".[dev]"
# Run tests
pytest tests/ -v许可证
麻省理工学院
