mcp电子邮件服务器
     ](https://smithery.ai/server/@digit1024/mcp-email-and-calendar-gmail)
通过Gmail OAuth和Google日历集成增强的MCP服务器
🚀 完全重写和增强 -采用现代MCP架构、Gmail OAuth 2.0和完整的Google日历集成从头开始构建
- Github仓库:
- 文档
概述
这是一个 完全重写和增强 版本基于最初的mcp电子邮件服务器概念构建,重点在于:
- Gmail OAuth 2.0身份验证 (安全,适用于2FA)
- 完整的谷歌日历集成 (列出、创建、删除事件)
- 现代MCP服务器架构 配备全面的工具
- 增强安全 具有令牌管理和刷新功能
- 生产准备就绪 支持Docker和CI/CD管道
主要特点
🔐 Gmail OAuth身份验证
- 安全OAuth 2.0身份验证(无需密码)
- 自动令牌刷新和管理
- 适用于启用2FA的Gmail帐户
- 包括Gmail和日历API权限
📅 谷歌日历集成
- 列出日历 -查看所有可访问的日历(主日历、共享日历等)
- 查看事件 -使用筛选和日期范围检索日历事件
- 创建事件 -安排新活动,包括与会者、地点、描述
- 删除事件 -删除带有可选通知的日历事件
📧 电子邮件管理
- 列出电子邮件 -通过分页和过滤浏览电子邮件元数据
- 阅读电子邮件 -获取完整的电子邮件内容,包括正文和附件
- 发送电子邮件 -使用CC/BCC支持撰写和发送电子邮件
- 批量操作 -标记为已读/未读,批量删除电子邮件
安装
手动安装
我们建议使用 紫外线 管理您的环境。
尝试 uvx mcp-email-server@latest ui 配置,并为mcp客户端使用以下配置:
{
"mcpServers": {
"mcp-email-server": {
"command": "uvx",
"args": ["mcp-email-server@latest", "stdio"]
}
}
}此软件包在PyPI上可用,因此您可以使用 pip install mcp-email-server
之后,使用ui配置您的电子邮件服务器: mcp-email-server ui
环境变量配置
您还可以使用环境变量配置电子邮件服务器,这对于Jenkins等CI/CD环境特别有用。mcp电子邮件服务器支持UI配置(通过TOML文件)和环境变量,环境变量优先。
{
"mcpServers": {
"mcp-email-server": {
"command": "uvx",
"args": ["mcp-email-server@latest", "stdio"],
"env": {
"MCP_EMAIL_SERVER_ACCOUNT_NAME": "work",
"MCP_EMAIL_SERVER_FULL_NAME": "John Doe",
"MCP_EMAIL_SERVER_EMAIL_ADDRESS": "john@example.com",
"MCP_EMAIL_SERVER_USER_NAME": "john@example.com",
"MCP_EMAIL_SERVER_PASSWORD": "your_password",
"MCP_EMAIL_SERVER_IMAP_HOST": "imap.gmail.com",
"MCP_EMAIL_SERVER_IMAP_PORT": "993",
"MCP_EMAIL_SERVER_SMTP_HOST": "smtp.gmail.com",
"MCP_EMAIL_SERVER_SMTP_PORT": "465"
}
}
}
}可用环境变量
| 变量 | 描述 | 默认值 | 必填 |
|---|---|---|---|
MCP_EMAIL_SERVER_ACCOUNT_NAME | 帐户标识符 | "default" | 没有 |
MCP_EMAIL_SERVER_FULL_NAME | 显示名称 | 电子邮件前缀 | 否 |
MCP_EMAIL_SERVER_EMAIL_ADDRESS | 电子邮件地址 | - | 是 |
MCP_EMAIL_SERVER_USER_NAME | 登录用户名 | 与电子邮件相同 | 否 |
MCP_EMAIL_SERVER_PASSWORD | 电子邮件密码 | - | 是 |
MCP_EMAIL_SERVER_IMAP_HOST | IMAP服务器主机 | - | 是 |
MCP_EMAIL_SERVER_IMAP_PORT | IMAP服务器端口 | 993 | 没有 |
MCP_EMAIL_SERVER_IMAP_SSL | 启用IMAP SSL | true | 没有 |
MCP_EMAIL_SERVER_SMTP_HOST | SMTP服务器主机 | - | 是 |
MCP_EMAIL_SERVER_SMTP_PORT | SMTP服务器端口 | 465 | 没有 |
MCP_EMAIL_SERVER_SMTP_SSL | 启用SMTP SSL | true | 没有 |
MCP_EMAIL_SERVER_SMTP_START_SSL | 启用STARTTLS | false | 没有 |
对于单独的IMAP/SMTP凭据,您还可以使用:
MCP_EMAIL_SERVER_IMAP_USER_NAME/MCP_EMAIL_SERVER_IMAP_PASSWORDMCP_EMAIL_SERVER_SMTP_USER_NAME/MCP_EMAIL_SERVER_SMTP_PASSWORD
然后你可以试试 克劳德桌面。如果要将其与其他mcp客户端集成,请运行 $which mcp-email-server 对于路径,请在客户端中进行配置,如下所示:
{
"mcpServers": {
"mcp-email-server": {
"command": "{{ ENTRYPOINT }}",
"args": ["stdio"]
}
}
}如果 docker 是可用的,您可以尝试使用docker镜像,但您可能需要在客户端中使用 tools 通过 MCP。默认配置路径为 ~/.config/mcp-email-server/config.toml
{
"mcpServers": {
"mcp-email-server": {
"command": "docker",
"args": ["run", "-it", "ghcr.io/digit1024/mcp-email-and-calendar-gmail:latest"]
}
}
}通过Smithery安装
通过以下方式自动安装Claude Desktop的电子邮件服务器 史密瑟里:
npx -y @smithery/cli install @digit1024/mcp-email-and-calendar-gmail --client claude发展
此项目使用以下方式管理 紫外线.
尝试 make install 安装虚拟环境并安装预提交挂钩。
使用 uv run mcp-email-server 为了地方发展。
Gmail OAuth设置
对于Gmail帐户,建议使用OAuth 2.0身份验证而不是密码,以获得更好的安全性和与2FA的兼容性。
步骤1:获取Google OAuth凭据
- 首选 谷歌云控制台
- 创建新项目或选择现有项目
- 启用 Gmail API 和 谷歌日历API
- 转到“凭据”→ “创建凭据”→ “OAuth 2.0客户端ID”
- 选择“桌面应用程序”作为应用程序类型
- 下载JSON文件(包含
client_id和client_secret)
步骤2:配置OAuth凭据
选项A:使用凭据文件(建议用于开发)
# Copy the template file
cp oauth_credentials.json.template oauth_credentials.json
# Edit the file with your credentials
# Replace YOUR_GMAIL_CLIENT_ID_HERE and YOUR_GMAIL_CLIENT_SECRET_HERE
# with values from your Google OAuth JSON file重要安全注意事项:
- 这
oauth_credentials.json文件包含 敏感的OAuth凭据 - 切勿将此文件提交到版本控制 -它会被自动忽略
.gitignore - 保护此文件的安全,切勿公开共享
- 如果需要存储部署凭据,请使用环境变量
oauth_credentials.json中包含的内容:
{
"gmail": {
"client_id": "your-actual-google-oauth-client-id.apps.googleusercontent.com",
"client_secret": "your-actual-google-oauth-client-secret"
}
}从哪里获取这些值:
- 首选 谷歌云控制台
- 导航到“API和服务”→ “凭据”
- 查找您的OAuth 2.0客户端ID
- 下载JSON文件或从详细信息页面复制值
- 这
client_id看起来像:1234567890-abcdefghijklmnopqrstuvwxyz.apps.googleusercontent.com - 这
client_secret是一个较长的随机字符串
选项B:使用环境变量
export GMAIL_CLIENT_ID="your-client-id-here"
export GMAIL_CLIENT_SECRET="your-client-secret-here"步骤3:设置Gmail帐户
- 运行UI:
mcp-email-server ui - 打开“Gmail OAuth设置”部分
- 点击“获取授权URL”
- 点击授权链接并授予权限
- 从重定向URL复制授权码
- 将其粘贴到UI中,然后单击“设置OAuth帐户”
您的Gmail帐户现在配置了安全的OAuth身份验证!
谷歌日历集成
MCP电子邮件服务器现在包括 完整的谷歌日历集成!日历功能与Gmail OAuth帐户配合使用,并提供对Google日历事件的访问。
日历功能
- 列出日历 -查看所有可访问的日历(主日历、共享日历等)
- 查看事件 -使用筛选选项检索日期范围内的日历事件
- 创建事件 -安排新的日历事件,包括与会者、地点和描述
- 删除事件 -删除日历事件(带可选与会者通知)
所需OAuth范围
OAuth设置现在会自动请求Gmail和日历权限:
https://mail.google.com/-Gmail访问https://www.googleapis.com/auth/calendar-谷歌日历访问
注: 如果你有一个现有的Gmail OAuth帐户,你需要重新授权它来授予日历权限。使用 setup_gmail_oauth_account 再次使用新的授权码。
日历使用示例
使用您的AI助手尝试以下示例提示:
查看日历事件:
- “明天我的日历上有什么?”
- “显示我下周的日历事件”
- “列出我的工作日历中的所有事件”
管理事件:
- “安排一次会议alice@example.com下周二下午2点,持续2小时
- “明天上午9点创建一个名为“团队站立”的日历活动”
- “删除ID为abc123的事件”
日历发现:
- “显示我所有可用的日历”
- “列出我的日历及其时区”
日历工具
以下MCP工具可用于日历操作:
list_calendars(account_name)-列出所有可访问的日历get_calendar_events(account_name, calendar_id, time_min, time_max, ...)-获取日期范围内的事件create_calendar_event(account_name, summary, start_time, end_time, ...)-创建新事件delete_calendar_event(account_name, event_id, calendar_id, ...)-删除事件
所有日历操作都需要Gmail OAuth帐户(使用IMAP/SMTP密码身份验证的帐户无法访问日历)。
可用的MCP工具
电子邮件工具
list_available_accounts()-列出已配置的电子邮件帐户list_emails_metadata(account_name, ...)-列出带有过滤功能的电子邮件元数据get_emails_content(account_name, email_ids)-获取完整的电子邮件内容send_email(account_name, recipients, subject, body, ...)-发送电子邮件batch_mark_as_read(account_name, email_ids)-将电子邮件标记为已读batch_mark_as_unread(account_name, email_ids)-将电子邮件标记为未读batch_delete_emails(account_name, email_ids, confirm)-删除电子邮件(带安全检查)
日历工具
list_calendars(account_name)-列出可访问的日历get_calendar_events(account_name, calendar_id, time_min, time_max, ...)-获取日历事件create_calendar_event(account_name, summary, start_time, end_time, ...)-创建日历事件delete_calendar_event(account_name, event_id, calendar_id, ...)-删除日历事件
发布新版本
有关更多详细信息,请参阅 这里.
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
致谢
- 基于最初的mcp电子邮件服务器概念构建
- 完全重写和增强 与Gmail OAuth和谷歌日历集成
- 由Michał开发(digit1024)-专注于现代MCP架构和生产功能
