install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/adjia/mail-mcp" ~/.claude/skills/openclaw-skills-mail-mcp && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/adjia/mail-mcp" ~/.openclaw/skills/openclaw-skills-mail-mcp && rm -rf "$T"
manifest:
skills/adjia/mail-mcp/SKILL.mdsource content
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 服务器地址 | |
| IMAP 端口 | |
| 邮箱账号 | |
| 邮箱密码 | |
| 启用 SSL | |
| SMTP 服务器地址 | |
| SMTP 端口 | |
| 启用 SSL | |
| 启用 STARTTLS (端口 587) | |
常见邮箱配置
| 邮箱 | IMAP | SMTP | 备注 |
|---|---|---|---|
| Gmail | | | 需要 App Password |
| 阿里云企业邮箱 | | | |
| 腾讯企业邮箱 | | | |
| QQ邮箱 | | | 需要授权码 |
| Outlook | | | 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 工具列表
| 工具 | 功能 |
|---|---|
| 列出所有文件夹 |
| 创建文件夹 |
| 删除文件夹 |
| 重命名文件夹 |
| 搜索邮件 |
| 获取邮件详情 |
| 标记已读 |
| 标记未读 |
| 添加星标 |
| 移除星标 |
| 移动邮件 |
| 复制邮件 |
| 删除邮件 |
| 获取当前时间 |
| 发送邮件 |
| 回复邮件 |
| 转发邮件 |
错误处理
所有工具返回结构化响应,错误格式:
{ "error": "错误描述" }
注意事项
- Gmail 需要使用 App Password
- QQ邮箱需要在设置中开启 IMAP/SMTP 并获取授权码
- 附件通过 base64 编码传输
- 建议使用 SSL 加密连接