mcpField
E
Emailservice

Emailservice

ローカル
github.com/MrHZ006コミュニケーション055 週間前に更新

Emailservice について

Emailserviceは、MCP対応のIDEやエージェント向けのSpring Boot製メールMCPサーバーです。QQ SMTPでメールを送信し、stdioまたはSSEモードで実行できます。

主な機能

  1. 01QQ SMTP経由のメール送信
  2. 02`sendEmail`ツールの提供
  3. 03stdioモードでの実行
  4. 04SSEモードでの実行

活用シーン

  1. 01MCPクライアントからメールを送信
  2. 02MCP対応IDEからメール機能を呼び出す

MCP 対応

Spring AI MCP Serverとして`sendEmail(toEmail, subject, messageContent)`ツールを公開し、stdioまたはSSE接続に対応します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

メールサービス(MCP)

Spring Boot をベースにしたメール MCP(サーバー)サービスです。QQ SMTP を通じてメールを送信し、Spring AI MCP Server のツール関数として公開することで、MCP 対応クライアント(MCP 対応 IDE/エージェントなど)から呼び出せます。

機能

  • メールの送信:sendEmail(toEmail, subject, messageContent)
  • Spring AI MCP Server(WebMVC/stdio)をベースに動作
  • application-stdio.yml と application-sse.yml の 2 種類の実行設定を提供

技術スタック

  • 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 サーバーとして起動される用途に適しています
  • 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

設定と機密情報の取り扱い(重要)

SMTP 認証には qq.username と qq.password が必要です。実際のアカウント情報や認証コードをリポジトリにコミットしないでください。環境変数、またはバージョン管理対象外のローカル設定ファイルを使用することをおすすめします。

推奨方法: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 サーバーとしてツールを公開します。主な機能:

  • sendEmail(toEmail, subject, messageContent):宛先のメールアドレスにメールを送信します

MCP 対応クライアントから stdio 方式で本サービスに接続すると、上記のツールを呼び出せます。具体的な設定方法については、使用する MCP クライアントのドキュメントを参照してください。

テスト

mvn test

ライセンス

要件に応じて適切なオープンソースライセンスを選択し、このセクションを更新してください(例:MIT/Apache-2.0)。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。