关于 Email MCP Server
Email MCP Server 是一个让 AI 助手通过 SMTP 发送邮件和附件的 MCP 服务。适合需要在对话或自动化流程中发送邮件的开发者,支持通过环境变量或每次调用的参数配置 SMTP。
主要功能
- 01发送简单邮件,支持文本或 HTML 正文
- 02发送自定义邮件,支持抄送、密送和附件
- 03测试 SMTP 连接配置
- 04支持环境变量与单次调用参数两种配置方式
适用场景
- 01AI 助手在任务完成后自动发送通知邮件
- 02向客户发送带附件的报告
- 03发送前验证 SMTP 设置是否正确
MCP 相关
以 MCP 服务形式提供 send_simple_email、send_custom_email 和 test_smtp_connection 三个工具,支持 stdio 与 Streamable HTTP 两种传输方式。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Email MCP Server
一个 MCP(Model Context Protocol)服务,可让 AI 助手通过 SMTP 发送电子邮件。
功能
send_simple_email— 快速发送电子邮件(文本或 HTML);可选接受smtp_configsend_custom_email— 完全自定义:抄送/密送、附件;可选接受smtp_configtest_smtp_connection— 发送前验证 SMTP 设置;可选接受smtp_config
快速开始
# Install uv if you don't have it
curl -LsSf https://astral.sh/uv/install.sh | sh
cd email-mcp-server
uv sync --extra dev
配置 SMTP(见下一节),然后运行:
# stdio transport (for MCP clients)
uv run python -m email_mcp_server.server
# Streamable HTTP transport (port 8000)
uv run python -m email_mcp_server.server --http
运行测试:
uv run pytest
SMTP 配置
你可以通过两种方式配置 SMTP 凭据——任选一种或同时使用。
选项 A:环境变量
复制示例并填写凭据:
cp env.example .env
# Required
SMTP_HOST=smtp.gmail.com
[email protected]
SMTP_PASS=your-app-password
[email protected]
# Optional (defaults shown)
# SMTP_PORT=587
# SMTP_SECURE=false
或者,通过客户端的 env 块传入(参见下方的客户端配置)。
选项 B:每次调用时传入载荷
在任何工具调用中直接传入 smtp_config——该次调用将忽略环境变量:
{
"smtp_config": {
"host": "smtp.gmail.com",
"port": 587,
"secure": false,
"username": "[email protected]",
"password": "your-app-password",
"from_email": "[email protected]"
}
}
| 字段 | 类型 | 描述 |
|---|---|---|
host | string | SMTP 服务器主机名 |
port | integer | SMTP 服务器端口(通常为 587) |
secure | boolean | 使用 SSL/TLS(STARTTLS 时设为 false) |
username | string | 身份验证用户名 |
password | string | 身份验证密码 |
from_email | string | 发件人电子邮件地址 |
客户端配置
Claude Code
# stdio
claude mcp add email-server -- uv --directory /absolute/path/to/email-mcp-server run python -m email_mcp_server.server
# streamable HTTP (start the server first with --http)
claude mcp add --transport http email-server http://localhost:8000/mcp
基于 JSON 的客户端(Claude Desktop、Cursor、VS Code、Windsurf、Zed)
使用下面的通用示例,并根据你的客户端调整顶层键和配置文件路径:
{
"<top-level-key>": {
"email-server": {
"command": "uv",
"args": ["--directory", "/absolute/path/to/email-mcp-server", "run", "python", "-m", "email_mcp_server.server"],
"env": {
"SMTP_HOST": "smtp.gmail.com",
"SMTP_PORT": "587",
"SMTP_SECURE": "false",
"SMTP_USER": "[email protected]",
"SMTP_FROM": "[email protected]",
"SMTP_PASS": "your-app-password"
}
}
}
}
| 客户端 | 配置文件路径 | 顶层键 | 备注 |
|---|---|---|---|
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json | mcpServers | Windows:%APPDATA%\Claude\... |
| Cursor | ~/.cursor/mcp.json | mcpServers | 或 .cursor/mcp.json(项目级) |
| VS Code | .vscode/mcp.json | servers | 在服务器条目中添加 "type": "stdio" |
| Windsurf | ~/.codeium/windsurf/mcp_config.json | mcpServers | |
| Zed | ~/.config/zed/settings.json | context_servers |
Streamable HTTP(任意客户端)
使用 uv run python -m email_mcp_server.server --http 启动服务,然后:
| 客户端 | 配置 |
|---|---|
| Claude Code | claude mcp add --transport http email-server http://localhost:8000/mcp |
| Claude Desktop | { "type": "http", "url": "http://localhost:8000/mcp" } |
| Cursor | { "url": "http://localhost:8000/mcp" } |
| VS Code | { "type": "http", "url": "http://localhost:8000/mcp" } |
| Windsurf | { "serverUrl": "http://localhost:8000/mcp" } |
| Zed | { "url": "http://localhost:8000/mcp" } |
服务提供商设置
| 服务提供商 | 主机 | 备注 |
|---|---|---|
| Gmail | smtp.gmail.com | 需要启用双重身份验证的应用专用密码 |
| Outlook | smtp-mail.outlook.com | 普通密码或应用专用密码 |
| Yahoo | smtp.mail.yahoo.com | 需要启用双重身份验证的应用专用密码 |
| iCloud | smtp.mail.me.com | 需要启用双重身份验证的应用专用密码 |
所有服务提供商均使用端口 587,并设置 SMTP_SECURE=false(STARTTLS)。
许可证
MIT 许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。