Mail MCP Skill
帮助用户使用邮件 MCP 服务,自动检查和安装 mail-mcp。
触发词
- 发邮件
- 收邮件
- 查邮件
- 邮箱
- SMTP
- IMAP
- 附件
功能
- 自动安装: 检查 mail-mcp 是否已安装,未安装则自动从 GitHub 安装
- 发送邮件: 支持纯文本、HTML、附件
- 搜索邮件: 按 folder、条件搜索邮件
- 管理文件夹: 列出、创建、删除、重命名文件夹
- 邮件操作: 标记已读/未读、星标、移动、复制、删除
安装检查
方式一:pip 安装(推荐)
pip install git+https://github.com/AdJIa/mail-mcp-server.git
方式二:本地安装
git clone https://github.com/AdJIa/mail-mcp-server.git
cd mail-mcp-server
pip install -e .
验证安装
which mail-mcp
# 应输出: /home/xxx/.local/bin/mail-mcp
配置
mcporter 配置
在 ~/.mcporter/mcporter.json 中添加:
{
"mcpServers": {
"mail-mcp": {
"command": "mail-mcp",
"env": {
"IMAP_HOST": "your-imap-server.com",
"IMAP_PORT": "993",
"EMAIL_USER": "your-email@example.com",
"EMAIL_PASSWORD": "your-password",
"IMAP_SSL": "true",
"SMTP_HOST": "your-smtp-server.com",
"SMTP_PORT": "465",
"SMTP_SSL": "true"
}
}
}
}
环境变量说明
| 变量 | 说明 | 示例 |
|---|---|---|
IMAP_HOST | IMAP 服务器地址 | mail.qiye.aliyun.com |
IMAP_PORT | IMAP 端口 | 993 |
EMAIL_USER | 邮箱账号 | user@example.com |
EMAIL_PASSWORD | 邮箱密码 | password |
IMAP_SSL | 启用 SSL | true |
SMTP_HOST | SMTP 服务器地址 | smtp.qiye.aliyun.com |
SMTP_PORT | SMTP 端口 | 465 |
SMTP_SSL | 启用 SSL | true |
SMTP_STARTTLS | 启用 STARTTLS (端口 587) | false |
常见邮箱配置
| 邮箱 | IMAP | SMTP | 备注 |
|---|---|---|---|
| Gmail | imap.gmail.com:993 | smtp.gmail.com:465 | 需要 App Password |
| 阿里云企业邮箱 | mail.qiye.aliyun.com:993 | smtp.qiye.aliyun.com:465 | |
| 腾讯企业邮箱 | imap.exmail.qq.com:993 | smtp.exmail.qq.com:465 | |
| QQ邮箱 | imap.qq.com:993 | smtp.qq.com:465 | 需要授权码 |
| Outlook | outlook.office365.com:993 | smtp.office365.com:587 | STARTTLS |
使用示例
mcporter 调用
# 列出文件夹
mcporter call mail-mcp.list_folders
# 搜索邮件
mcporter call mail-mcp.search_emails --args '{"folder": "INBOX", "limit": 10}'
# 发送邮件
mcporter call mail-mcp.send_email --args '{
"to": ["recipient@example.com"],
"subject": "测试邮件",
"body_text": "这是邮件内容"
}'
# 发送带附件的邮件
mcporter call mail-mcp.send_email --args '{
"to": ["recipient@example.com"],
"subject": "带附件的邮件",
"body_text": "请查收附件",
"attachments": [{
"filename": "report.pdf",
"content_type": "application/pdf",
"data_base64": "JVBERi0xLjQK..."
}]
}'
发送附件示例
import base64
# 读取文件并编码
with open("report.pdf", "rb") as f:
data_base64 = base64.b64encode(f.read()).decode()
# 使用 data_base64 作为 attachments[].data_base64
MCP 工具列表
| 工具 | 功能 |
|---|---|
list_folders | 列出所有文件夹 |
create_folder | 创建文件夹 |
delete_folder | 删除文件夹 |
rename_folder | 重命名文件夹 |
search_emails | 搜索邮件 |
get_email | 获取邮件详情 |
mark_read | 标记已读 |
mark_unread | 标记未读 |
mark_flagged | 添加星标 |
unmark_flagged | 移除星标 |
move_email | 移动邮件 |
copy_email | 复制邮件 |
delete_email | 删除邮件 |
get_current_date | 获取当前时间 |
send_email | 发送邮件 |
send_reply | 回复邮件 |
send_forward | 转发邮件 |
错误处理
所有工具返回结构化响应,错误格式:
{
"error": "错误描述"
}
注意事项
- Gmail 需要使用 App Password
- QQ邮箱需要在设置中开启 IMAP/SMTP 并获取授权码
- 附件通过 base64 编码传输
- 建议使用 SSL 加密连接