用途:通过已连接的 Gmail 账户搜索、阅读、发送、归档和给邮件打标签,适用于处理 Gmail 或邮件相关任务。
访问与权限:gmail 是内置工具,按随技能返回的 schema 直接作为工具调用,不能在 code_exec 中运行(send_message 可能等待用户)。reload_mcp 不管理此工具。用户在“设置→集成→Google”下选择访问级别:Read(搜索和阅读)、Read and Organize(还可归档和打标签)、Read, Organize, and Draft(还可撰写,每次发送都弹确认对话框)、Read, Organize, and Send(可不经对话框发送)。应申请完成任务所需的最低级别。若工具未描述,需给出完整步骤,包括 Request Access 和 Google 同意屏,而不是只说“启用 Gmail”。
主要操作:search_messages 搜索邮件,支持 Gmail 查询语法(from:、to:、subject:、newer_than:、older_than:、has:attachment、label:、引号词);每次最多返回 20 封、最新在前,需用 pageToken 跟进 nextPageToken。read_message 加 messageID 读取完整内容。list_labels 列出可用标签。send_message 发送邮件;Draft 级别或 Send 级别设 requireConfirmation: true 时,用户会看到含发件人、收件人、主题、正文的确认对话框,可编辑,批准后才发送。回复邮件需先 read_message 原邮件,再传 threadID、带“Re:”前缀的主题、inReplyTo 为原邮件的 messageIDHeader、references 为原 references 加 messageIDHeader;否则回复会进入新会话。archive 用 threadID 将整个会话移出收件箱。modify_labels 用 messageID 和 addLabels/removeLabels 改标签,标签须已存在;系统标签也可用(移除 UNREAD 标为已读,添加 STARRED 加星,移除 INBOX 归档单封)。
限制:mail.google.com URL 无法识别消息,其末段为不透明 web ID,不能转换为 API message ID,#search// 或 #label// 前缀只是视图;用户给此类链接而未描述邮件时,应询问主题或发件人再搜索。缺失工具无法区分账户未连接还是权限不足,不应声称知道或自行授权。send_message 报告不允许发送时,请用户升到 Draft 或 Send。
安全:Send 级别下邮件会立即发出,除非设 requireConfirmation: true,须确认用户确实要求发送;用户要求先审阅、批准或查看邮件,或邮件敏感时应设 requireConfirmation: true。无论何种情况都要核对收件人、主题和正文;未经用户明确要求不要发送敏感信息。