Token导航 LogoToken导航TokenDH.com
MCP sent mail logo
办公协作stdio官方级别未说明来源级核验

MCP sent mail

MCP Server

一个基于Model Context Protocol (MCP)和SSE协议的邮件发送服务,支持自定义邮件、预设模板和附件发送,部署在Google Cloud Run上。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
邮件服务云部署PythonClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

poirotw66

提供方

poirotw66

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

Email Sender MCP Server

這是一個使用 Model Context Protocol (MCP) 的郵件發送服務,使用 SSE (Server-Sent Events) 傳輸協議,部署在 Google Cloud Run 上。

✨ 功能特色

  • ✉️ 發送自訂郵件
  • 🎃 發送萬聖節邀請郵件(預設模板)
  • 🚨 發送系統異常警示郵件(預設模板)
  • 📎 支援附件
  • 🌐 HTTP/SSE 傳輸協議
  • ☁️ 部署在 Google Cloud Run

🚀 快速開始

已部署的服務

服務 URL: https://email-sender-mcp-jt7pjdeeoa-de.a.run.app

測試連線

curl https://email-sender-mcp-jt7pjdeeoa-de.a.run.app/sse

📖 使用方式

在 Claude Desktop 中使用

  1. 編輯 Claude Desktop 配置文件

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

  1. 添加 MCP Server 配置
   {
     "mcpServers": {
       "email-sender": {
         "url": "https://email-sender-mcp-jt7pjdeeoa-de.a.run.app/sse",
         "transport": "sse"
       }
     }
   }
  1. 重啟 Claude Desktop
  1. 開始使用

在 Claude Desktop 中,您可以直接說: - "幫我發送一封郵件給 example@gmail.com" - "發送萬聖節邀請給 friend@gmail.com" - "發送系統警示郵件給 admin@company.com"

在其他 MCP 客戶端中使用

任何支援 MCP over SSE 的客戶端都可以連接:

// 連接配置
{
  "url": "https://email-sender-mcp-jt7pjdeeoa-de.a.run.app/sse",
  "transport": "sse"
}

使用 curl 測試(手動調用)

# 健康檢查
curl https://email-sender-mcp-jt7pjdeeoa-de.a.run.app/health

# SSE 端點
curl https://email-sender-mcp-jt7pjdeeoa-de.a.run.app/sse

🛠️ MCP Tools 說明

1. send_email - 發送自訂郵件

發送完全自訂的郵件,包括主旨、內容和附件。

參數:

  • receiver_email (必要): 收件者郵件地址
  • subject (必要): 郵件主旨
  • body (必要): 郵件內容
  • attachment_path (可選): 附件路徑

範例使用(在 Claude 中):

幫我發送郵件給 john@example.com
主旨:會議通知
內容:明天下午 3 點開會,請準時參加。

2. send_halloween_invitation - 萬聖節邀請

使用預設的萬聖節邀請模板發送郵件。

參數:

  • receiver_email (必要): 收件者郵件地址

範例使用(在 Claude 中):

發送萬聖節邀請給 nanako@example.com

3. send_system_alert - 系統警示通知

使用預設的系統異常警示模板發送郵件(適用於 IT 運維場景)。

參數:

  • receiver_email (必要): 收件者郵件地址

範例使用(在 Claude 中):

發送系統警示給 admin@company.com

💻 本地開發

1. 安裝依賴

pip install -r requirements.txt

2. 設定環境變數

建立 .env 文件:

EMAIL_ACCOUNT=your_email@gmail.com
EMAIL_PASSWORD=your_app_password
⚠️ 重要: Gmail 需使用「應用程式密碼」而非帳號密碼 設定方式: 1. 前往 Google 帳戶安全性設定 2. 啟用「兩步驟驗證」 3. 搜尋「應用程式密碼」 4. 選擇「郵件」和「其他」,生成密碼 5. 將生成的 16 位密碼填入 EMAIL_PASSWORD

3. 執行 MCP Server

python server.py

服務會在 http://localhost:8080 啟動。

4. 本地測試

# 健康檢查
curl http://localhost:8080/health

# SSE 端點
curl http://localhost:8080/sse

☁️ 部署到 Google Cloud Run

前置需求

  1. 安裝 gcloud CLI
   # macOS
   brew install --cask google-cloud-sdk
   
   # 初始化
   gcloud init
  1. 安裝 Docker Desktop
   # macOS
   brew install --cask docker

部署步驟

  1. 設定 .env 文件(已完成)
  1. 執行部署腳本
   chmod +x deploy.sh
   ./deploy.sh

部署腳本會自動:

  • ✅ 讀取 .env 環境變數
  • ✅ 建置 Docker 映像
  • ✅ 推送到 Google Container Registry
  • ✅ 部署到 Cloud Run
  • ✅ 顯示服務 URL

查看服務狀態

# 查看日誌
gcloud run logs tail email-sender-mcp \
  --region=asia-east1 \
  --project=itr-aimasteryhub-lab

# 查看服務資訊
gcloud run services describe email-sender-mcp \
  --region=asia-east1 \
  --project=itr-aimasteryhub-lab

更新部署

當您修改代碼後,只需再次執行:

./deploy.sh

🔐 安全性建議

1. 環境變數保護

  • .env 文件已加入 .gitignore,不會提交到 Git
  • ✅ 敏感資訊通過環境變數傳遞到 Cloud Run
  • ⚠️ 不要在代碼中硬編碼密碼

2. 使用 Secret Manager(進階)

# 將密碼存到 Secret Manager
echo -n "your_password" | gcloud secrets create email-password \
  --data-file=- \
  --project=itr-aimasteryhub-lab

# 更新 Cloud Run 使用 Secret
gcloud run services update email-sender-mcp \
  --region=asia-east1 \
  --update-secrets=EMAIL_PASSWORD=email-password:latest \
  --project=itr-aimasteryhub-lab

3. 限制存取權限

預設部署允許未經驗證的存取。如需限制:

# 移除公開存取
gcloud run services remove-iam-policy-binding email-sender-mcp \
  --region=asia-east1 \
  --member="allUsers" \
  --role="roles/run.invoker" \
  --project=itr-aimasteryhub-lab

# 授予特定使用者存取權限
gcloud run services add-iam-policy-binding email-sender-mcp \
  --region=asia-east1 \
  --member="user:example@gmail.com" \
  --role="roles/run.invoker" \
  --project=itr-aimasteryhub-lab

📊 監控與維護

查看即時日誌

gcloud run logs tail email-sender-mcp \
  --region=asia-east1 \
  --project=itr-aimasteryhub-lab

查看歷史日誌

gcloud run logs read email-sender-mcp \
  --region=asia-east1 \
  --project=itr-aimasteryhub-lab \
  --limit=50

更新環境變數

gcloud run services update email-sender-mcp \
  --region=asia-east1 \
  --set-env-vars="EMAIL_ACCOUNT=new_email@gmail.com,EMAIL_PASSWORD=new_password" \
  --project=itr-aimasteryhub-lab

💰 成本估算

Google Cloud Run 採用按使用量計費:

  • 免費額度: 每月 200 萬次請求
  • CPU: $0.00002400/vCPU-秒
  • 記憶體: $0.00000250/GiB-秒
  • 請求: $0.40/百萬次
  • 網路出站: $0.12/GB

對於一般郵件服務使用量,通常每月成本 < $1 USD,甚至完全在免費額度內。

🐛 常見問題排除

Q: 郵件發送失敗,顯示 "SMTP Authentication Error"

A: 請確認:

  1. 使用的是 Gmail 應用程式密碼,而非帳號密碼
  2. 已啟用 Google 帳戶的兩步驟驗證
  3. .env 文件中的 EMAIL_PASSWORD 沒有多餘的空格或引號

Q: Cloud Run 部署失敗

A: 檢查:

  1. Docker Desktop 是否正在運行
  2. gcloud CLI 是否已登入:gcloud auth list
  3. 專案 ID 是否正確
  4. 必要的 API 是否已啟用

Q: 如何測試 MCP Server 是否正常運行?

A:

# 測試健康檢查端點
curl https://email-sender-mcp-jt7pjdeeoa-de.a.run.app/health

# 應該返回:{"status": "healthy"}

Q: 如何在 Claude Desktop 中驗證 MCP Server 已連接?

A:

  1. 重啟 Claude Desktop
  2. 在對話中嘗試說:"列出可用的工具"
  3. 應該可以看到 send_emailsend_halloween_invitationsend_system_alert 三個工具

📚 技術棧

  • 語言: Python 3.11
  • 框架: Starlette + Uvicorn
  • 協議: Model Context Protocol (MCP) over SSE
  • 部署: Google Cloud Run
  • 容器: Docker

📝 檔案結構

MCP_sent_mail/
├── server.py              # MCP Server 主程式(SSE)
├── sent_mail.py          # 原始郵件發送腳本(獨立使用)
├── requirements.txt      # Python 依賴套件
├── Dockerfile           # Docker 建置配置
├── .dockerignore        # Docker 忽略檔案
├── deploy.sh            # 自動部署腳本
├── cloudbuild.yaml      # Cloud Build 配置
├── .env                 # 環境變數(不提交到 Git)
└── README.md            # 本文件

🔗 相關資源

📄 License

MIT

👤 作者

Created with ❤️ by the team


部署狀態: ✅ 已部署 服務 URL: https://email-sender-mcp-jt7pjdeeoa-de.a.run.app 最後更新: 2025/10/27

目录标签

目录标签

邮件服务云部署PythonClaude混合部署MCP协议SSE传输自动化邮件

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP