关于 Emailservice
Emailservice 是基于 Spring Boot 的邮件 MCP 服务,面向支持 MCP 的 IDE 和 Agent。它通过 QQ SMTP 发送邮件,并可使用 stdio 或 SSE 模式运行。
主要功能
- 01通过 QQ SMTP 发送邮件
- 02提供 `sendEmail` 工具
- 03支持 stdio 运行模式
- 04支持 SSE 运行模式
适用场景
- 01从 MCP 客户端发送邮件
- 02在支持 MCP 的 IDE 中调用邮件功能
MCP 相关
它以 Spring AI MCP Server 形式提供 `sendEmail(toEmail, subject, messageContent)` 工具,可通过 stdio 或 SSE 连接。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
来自项目 READMEEmail-service (MCP)
一个基于 Spring Boot 的邮箱 MCP(Server) 服务,用于通过 QQ SMTP 发送邮件,并以 Spring AI MCP Server 方式暴露工具函数,便于在支持 MCP 的客户端中调用(如支持 MCP 的 IDE/Agent 等)。
功能
- 发送邮件:
sendEmail(toEmail, subject, messageContent) - 基于 Spring AI MCP Server(WebMVC/stdio)运行
- 提供
application-stdio.yml与application-sse.yml两种运行配置
技术栈
- Java 21
- Spring Boot 3.5.x
- Spring AI MCP Server Starter
- Apache Commons Email / Jakarta Mail
- Maven
目录结构(节选)
src/main/java/com/hz/EmailServiceApplication.javasrc/main/java/com/hz/tools/EmailService.javasrc/main/resources/application.ymlsrc/main/resources/application-stdio.ymlsrc/main/resources/application-sse.yml
先决条件
- Java 21+
- Maven 3.9+
- 可用的 QQ 邮箱账号与开启的 SMTP 授权码
快速开始
- 构建
mvn -v
mvn clean package -DskipTests
- 选择运行模式
- stdio 模式(默认通过
spring.profiles.active=stdio启用):适合作为 MCP stdio server 被上游工具拉起 - sse 模式:可用于 SSE 方式对接(需要上游工具支持)
- 运行
# 默认使用 application.yml + application-stdio.yml 配置
java -jar target/Email-service-0.0.1-SNAPSHOT.jar
切换为 SSE 配置:
java -Dspring.profiles.active=sse -jar target/Email-service-0.0.1-SNAPSHOT.jar
配置与敏感信息处理(重要)
项目需要 qq.username 与 qq.password 来进行 SMTP 鉴权。请不要把真实账号与授权码提交到仓库!建议使用环境变量或本地未纳入版本控制的配置文件。
推荐做法:在 application.yml 中使用占位符,并通过环境变量传入。
建议把以下内容写入 src/main/resources/application.yml(或确保为占位写法):
qq:
username: ${QQ_USERNAME:}
password: ${QQ_PASSWORD:}
在运行前设置环境变量(Windows PowerShell 示例):
$env:QQ_USERNAME = "你的QQ邮箱地址"
$env:QQ_PASSWORD = "你的SMTP授权码"
java -jar target/Email-service-0.0.1-SNAPSHOT.jar
或在命令行中直接注入(注意命令历史风险):
[email protected] QQ_PASSWORD=your_smtp_code \
java -jar target/Email-service-0.0.1-SNAPSHOT.jar
可选:创建本地专用配置文件(示例 application-local.yml),并确保它被 .gitignore 忽略:
# application-local.yml(仅本地)
qq:
username: [email protected]
password: your_smtp_code
运行时指定:
java -Dspring.profiles.active=local -jar target/Email-service-0.0.1-SNAPSHOT.jar
如仓库中已有明文
qq.username/qq.password,请尽快替换为占位符并在 QQ 邮箱中重置授权码,以免泄漏。
MCP 使用(简要)
服务启动后以 MCP Server 形式暴露工具,核心能力:
sendEmail(toEmail, subject, messageContent):向目标邮箱发送邮件
在支持 MCP 的客户端中,以 stdio 方式连接本服务即可调用上述工具。具体配置方式请参考你的 MCP 客户端文档。
测试
mvn test
许可证
根据你的需求选择合适的开源许可证并更新本节(如 MIT/Apache-2.0)。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。