mcpField
E
email-check

email-check

github.com/agricidaniel生产力13282 次安装29 周前更新
代码仓库

关于 email-check

email-check 是面向 Gmail 或 Outlook 用户的收件箱分拣技能。它为未读邮件评分并按优先级分类,还会为特定邮件生成结合上下文的回复草稿。

主要功能

  1. 01通过 MCP 连接 Gmail 或 Outlook
  2. 02获取并分析未读邮件
  3. 03为邮件评分并划分优先级
  4. 04生成简短和详细的回复选项
  5. 05使用可选的 email-profile.md 提供上下文

适用场景

  1. 01按紧急程度查看未读邮件
  2. 02识别临近截止日期的邮件
  3. 03为高优先级邮件准备回复选项

MCP 相关

使用可用的 Gmail 或 Outlook MCP 工具获取未读邮件和对话上下文。两个服务都可用时优先选择 Gmail。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/agricidaniel/claude-email --skill email-check

安装后在 Claude Code 中输入/email-check确认已加载。

详细介绍

邮件检查子技能

用途

此子技能通过 MCP 连接 Gmail 或 Outlook,对未读邮件进行分析、按重要性评分、分类,并为高优先级邮件生成回复建议,从而智能整理收件箱。

工作流

1. 检测可用的邮件提供商

检查可用的 MCP 工具:

  • Gmail:search_gmail_messages、get_gmail_messages_content_batch、get_gmail_thread_content、list_gmail_labels
  • Outlook:list-mail-messages、list-mail-folder-messages、get-mail-message

如果两者都可用,优先选择 Gmail(批量操作能力更好)。

2. 获取未读邮件

对于 Gmail:

search_gmail_messages(query="is:unread", max_results=50)

对于 Outlook:

list-mail-messages (defaults to recent messages, filter for unread)
3. 批量获取邮件内容

对于 Gmail:

get_gmail_messages_content_batch(message_ids=[...])  # Up to 25 at a time

如果未读邮件超过 25 封,优先处理最新的邮件。

对于 Outlook:

get-mail-message for each message (sequential)

最多处理 25 封邮件,避免分析负担过重。

4. 为每封邮件评分(0-100)

应用以下评分算法:

基础分:50
发件人识别(+20 至 -20)
  • +20:VIP/已知联系人(域名与用户所在公司匹配,或经常出现在已发送邮件中)
  • +10:已识别的发件人(有过往邮件线程记录)
  • 0:来自域名可靠的未知发件人
  • -15:新闻通讯/自动发件人(包含群发邮件标头、退订链接)
  • -20:通知发件人(no-reply@、noreply@、automated@)
直接收件人(+15 至 -10)
  • +15:主要收件人(To: 字段)
  • 0:抄送(CC: 字段)
  • -10:密送或群发邮件(收件人众多)
邮件线程深度(+10)
  • +10:活跃线程中的回复(主题以 Re: 开头,且线程中有多封邮件)
  • 0:新邮件(无线程记录)
紧急关键词(+15)

检查主题和前 200 个字符,查找以下词语:

  • urgent、ASAP、deadline、action required、immediate、time-sensitive、expiring、expires、due
  • +15:找到任何紧急关键词
日历/会议(+20)
  • +20:日历邀请、会议请求、活动通知
  • 通过附件(ics 文件)或主题模式(Invitation:、Meeting:)进行检测
截止日期检测(+25)

解析邮件正文中的日期/截止日期:

  • +25:截止日期在 48 小时内
  • +10:截止日期在 7 天内
  • 0:没有截止日期,或截止日期超过 7 天
业务相关性(+15 至 -10)

如果父目录中存在 email-profile.md:

  • +15:提及用户的关键主题、客户、项目
  • +5:包含与行业相关的关键词
  • -10:与业务无关或属于个人内容(如果是业务收件箱)
最终分数计算

将所有调整分加到基础分 50 上。 将最终分数限制在 0-100 范围内。

5. 邮件分类

根据最终分数分类:

分数范围类别操作
85-100紧急立即处理,生成回复建议
65-84重要尽快查看,可能需要采取行动
40-64常规普通优先级,有空时查看
20-39低优先级浏览或延后处理
0-19归档可能是无关信息或自动邮件
6. 生成回复建议

对于评分达到 85 分以上的邮件(紧急类别):

  1. 使用 get_gmail_thread_content 或等效工具阅读完整的邮件线程上下文
  2. 在父目录中检查是否存在 email-profile.md,查看用户的:
    • 品牌语气(专业、随意、直接、亲切)
    • 常用落款
    • 行业/职位背景
  3. 起草两种回复选项:
    • 简短版:1-2 句话,直接回答
    • 详细版:包含背景信息的 1 段话

以下情况不要起草回复:

  • 邮件需要超出可用上下文范围的研究
  • 邮件需要用户做决定(批准/拒绝、选择选项)
  • 邮件仅供参考/提供信息
  • 邮件是日历邀请(应改为建议接受/拒绝/暂定)

在这些情况下,输出:“此邮件需要您亲自处理:[原因]”

7. 输出格式
## Inbox Summary

**X unread emails** | Y Urgent | Z Important | W Routine | V Low Priority

### Urgent (Action Required)

| # | From | Subject | Score | Suggested Action |
|---|------|---------|-------|------------------|
| 1 | [email protected] | Subject line | 95 | [Reply/Review/Respond] |
| 2 | ... | ... | 88 | ... |

---

### Important

| # | From | Subject | Score | Category |
|---|------|---------|-------|----------|
| 3 | ... | ... | 78 | Meeting follow-up |
| 4 | ... | ... | 70 | Client inquiry |

---

### Routine & Low Priority

- **Routine (40-64)**: X emails - [grouped summary by sender/topic]
- **Low Priority (20-39)**: Y emails - newsletters, notifications
- **Archive (<20)**: Z emails - automated/noise

---

### Suggested Replies

#### 1. Re: [Subject] (to: [email protected])

**Context:** [Why this email scored high, key points]

**Brief Option:**
> [1-2 sentence reply]
>
> [Sign-off]

**Detailed Option:**
> [Paragraph with more context/explanation]
>
> [Sign-off]

#### 2. Re: [Next urgent email]

[Repeat format]

---

### Emails Requiring Personal Attention

- **#X - [Subject]**: Needs decision on [topic]
- **#Y - [Subject]**: Requires research before responding

评分信号参考

信号分数影响检测方式
直接发送至:地址+15检查 To: 字段
VIP/已知发件人+20域名匹配、已发送文件夹历史记录
活跃会话+10会话 ID、主题中的 Re:
紧急关键词+15扫描主题/正文
日历邀请+20.ics 附件、邀请标头
截止时间 <48h+25解析正文中的日期
截止时间 <7d+10解析正文中的日期
业务相关性+15匹配 email-profile.md 中的主题
被抄送(非主要收件人)-10CC: 字段
新闻简报-20取消订阅链接、群发标头
通知-15发件人为 no-reply@
未知发件人-10没有会话历史记录

回复建议指南

语气调整

如果存在 email-profile.md,请调整回复以匹配以下风格:

  • 专业:正式、条理清晰、表达明确
  • 随意:友好、自然随和
  • 直接:简短、以行动为导向
  • 热情:亲切、注重关系维护

如果不存在个人资料,默认采用专业而友好的风格。

回复结构

简短选项:

  • 回答核心问题/请求
  • 最多 1-2 句话
  • 如有需要,明确说明下一步

详细选项:

  • 回应提出的所有要点
  • 提供背景信息或解释
  • 1 段(3-5 句话)
  • 建议后续步骤或时间安排
不要起草回复的情况
  • 邮件请求批准/决策 → 建议:“审核并批准/拒绝 X”
  • 邮件需要你没有的数据 → “这封邮件需要你亲自处理:需要[数据/信息]”
  • 邮件包含复杂的多个部分 → “这封邮件需要你亲自处理:需要做出多个决定”
  • 邮件仅供参考 → 建议操作:“查看(无需回复)”

错误处理

没有 MCP 连接

如果 Gmail 和 Outlook MCP 均不可用:

Error: No email provider connected. Please ensure Gmail MCP or Outlook MCP is configured.
收件箱为空
## Inbox Summary
**0 unread emails** - Your inbox is clear!
MCP 速率限制

如果批量获取失败,则改为逐条检索邮件(速度较慢,但可靠)。

无法获取会话上下文

如果 get_gmail_thread_content 失败,则仅基于单封邮件起草回复(备注:“上下文有限 - 仅查看单封邮件”)。

集成点

email-profile.md(可选)

如果上级目录中存在该文件(../email-profile.md),则用于:

  • 检测品牌语气
  • 评估业务相关性
  • 匹配回复语气/风格
  • 获取常见主题/客户列表
Gmail 专属功能
  • 使用标签细化分类(例如,跳过标记为“Promotions”的邮件)
  • 检查已发送文件夹以识别发件人
Outlook 专属功能
  • 使用文件夹结构了解上下文(收件箱与重点收件箱)
  • 如果有类别,则利用这些类别

性能优化

  • 每次批量获取 25 封邮件(Gmail)
  • 分析范围限制为最近的 50 封未读邮件
  • 在会话期间缓存发件人识别数据
  • 如果未读邮件超过 50 封,则优先处理最新邮件

输出限制

  • 总输出不超过 2000 行
  • 按主题/发件人对常规/低优先级邮件进行归组
  • 仅为紧急和重要类别显示完整详情
  • 将已归档邮件汇总为数量

质量门槛

输出摘要前:

  1. 确认所有紧急程度评分均有信号细分作为依据
  2. 确保回复建议可执行(而非泛泛而谈)
  3. 检查“需要亲自处理”的备注是否说明了原因
  4. 确认分类与分数范围一致
  5. 验证批量操作是否成功完成

成功标准

成功的邮件检查会话应:

  • 找出所有真正紧急的邮件(无漏判)
  • 尽量减少“紧急”类别中的误报(精确率 > 80%)
  • 为最重要的 3-5 封邮件提供可执行的回复草稿
  • 在 30 秒内完成对 25 封邮件的分析
  • 为每个类别提供明确的后续操作

评论

支持 Markdown