Data Generator Java MCP Server について
Data Generator Java MCP Serverは、Spring BootとSpring AIを使い、データ生成メソッドをMCPツールとして公開するアプリケーションです。Java製MCPサーバーを開発・拡張する開発者向けで、同期実行と外部API連携用RESTクライアントを備えています。
主な機能
- 01プロンプトからのデータ生成
- 02IDと年齢によるユーザーデータ生成
- 03同期実行モード
- 04外部API用RESTクライアント
- 05Javaメソッドによるツール拡張
活用シーン
- 01モデルのプロンプトに基づくデータ生成
- 02IDと年齢を使ったユーザーレコード作成
- 03Java MCPサーバーへのカスタムツール追加
MCP 対応
MCPサーバーは`generateData`と`getUserData`をMCPクライアントに公開し、Spring AIを通じてJavaサービスメソッドをツールとして登録します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Data Generator Java MCP サーバー
データ生成用の Model Completion Protocol(MCP)サーバーを実装する Spring Boot アプリケーションです。このプロジェクトでは、Spring AI を使用してカスタム MCP サーバーを作成し、プロンプトに基づいてデータを生成する AI モデルと連携する方法を紹介します。
概要
このアプリケーションは、データ生成ツールを提供する MCP サーバーとして機能します。Spring AI の MCP サーバー機能を使用して、AI モデルから呼び出せるツールとして Java メソッドを公開します。サーバーは同期モードで動作するように設定されています。
特長
- Model Completion Protocol(MCP)サーバーを実装
- データ生成用ツールを提供
- 同期実行モードに対応
- 外部 API 連携用の REST クライアントを搭載
- シンプルな User データモデルを実装
前提条件
- Java 21 以降
- Maven 3.9+(または同梱の Maven ラッパーを使用)
- Spring Boot と Spring AI の基本的な知識
はじめに
アプリケーションのビルド
-
リポジトリをクローンします:
git clone <repository-url> cd data-generator-java-mcp-server -
Maven を使用してアプリケーションをビルドします:
./mvnw clean install
アプリケーションの実行
Maven ラッパーを使用してアプリケーションを実行します:
./mvnw spring-boot:run
MCP サーバーが起動し、リクエストを受け付ける準備が整います。
設定
MCP サーバーの設定
MCP サーバーは application.properties ファイルで設定します:
# Application name
spring.application.name=data-generator-java-mcp-server
# MCP server name
spring.ai.mcp.server.name=data-generator-java-mcp-server
# MCP server type (SYNC or ASYNC)
spring.ai.mcp.server.type=SYNC
# Disable Spring Boot banner
spring.main.banner-mode=off
# Run as a non-web application
spring.main.web-application-type=none
カスタム設定
McpServerConfig クラスを変更して、MCP サーバーをカスタマイズできます:
@Configuration
public class McpServerConfig {
@Bean
public ToolCallbackProvider dataGeneratorToolCallbackProvider(DataGeneratorService dataGeneratorService) {
return MethodToolCallbackProvider.builder()
.toolObjects(dataGeneratorService)
.build();
}
}
利用可能なツール
MCP サーバーは以下のツールを公開します:
-
generateData - 指定されたプロンプトに基づいてデータを生成します
- パラメーター:
prompt(String) - 戻り値:生成されたデータ(String)
- パラメーター:
-
getUserData - 指定された ID と年齢に基づいてユーザーデータを生成します
- パラメーター:
id(String)age(int)
- 戻り値:ID、名前、年齢を含む User オブジェクト
- パラメーター:
アプリケーションの拡張
MCP サーバーに新しいツールを追加するには:
- 新しいサービスクラスを作成するか、既存の
DataGeneratorServiceを拡張します @Toolアノテーションを付けたメソッドを追加しますMcpServerConfigクラスにサービスを登録します
例:
@Service
public class MyCustomService {
@Tool(
name = "myCustomTool",
description = "Description of what the tool does"
)
public SomeReturnType myCustomTool(String param1, int param2) {
// Implementation
return result;
}
}
その後、設定に登録します:
@Bean
public ToolCallbackProvider myCustomToolCallbackProvider(MyCustomService myCustomService) {
return MethodToolCallbackProvider.builder()
.toolObjects(myCustomService)
.build();
}
AI モデルとの連携
この MCP サーバーは、Model Completion Protocol に対応する AI モデルと連携できます。AI モデルは、処理の一環としてこのサーバーが公開するツールを呼び出し、データを生成できます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。