多账户邮件管理服务

支持多账户配置的IMAP/SMTP邮件服务器,提供LLM优化的紧凑响应和OAuth2认证。

  • by ebongard
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 ebongard/renfield-mcp-mail

使用说明

伦菲尔德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

许可证

麻省理工学院