mcpField
E
Emailservice

Emailservice

本地服务
github.com/MrHZ006通信协作055 周前更新

关于 Emailservice

Emailservice 是基于 Spring Boot 的邮件 MCP 服务,面向支持 MCP 的 IDE 和 Agent。它通过 QQ SMTP 发送邮件,并可使用 stdio 或 SSE 模式运行。

主要功能

  1. 01通过 QQ SMTP 发送邮件
  2. 02提供 `sendEmail` 工具
  3. 03支持 stdio 运行模式
  4. 04支持 SSE 运行模式

适用场景

  1. 01从 MCP 客户端发送邮件
  2. 02在支持 MCP 的 IDE 中调用邮件功能

MCP 相关

它以 Spring AI MCP Server 形式提供 `sendEmail(toEmail, subject, messageContent)` 工具,可通过 stdio 或 SSE 连接。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

来自项目 README

Email-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.java
  • src/main/java/com/hz/tools/EmailService.java
  • src/main/resources/application.yml
  • src/main/resources/application-stdio.yml
  • src/main/resources/application-sse.yml

先决条件

  • Java 21+
  • Maven 3.9+
  • 可用的 QQ 邮箱账号与开启的 SMTP 授权码

快速开始

  1. 构建
mvn -v
mvn clean package -DskipTests
  1. 选择运行模式
  • stdio 模式(默认通过 spring.profiles.active=stdio 启用):适合作为 MCP stdio server 被上游工具拉起
  • sse 模式:可用于 SSE 方式对接(需要上游工具支持)
  1. 运行
# 默认使用 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)。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。