Springboot Bootstrap Mcp について
Springboot Bootstrap Mcpは、Spring Initializrの選択肢を調べ、Spring Bootプロジェクトを生成するMCPツールを提供します。開発者はプロジェクトをZIPで保存するか、ディレクトリに直接展開できます。
主な機能
- 01Spring Initializrの設定項目を取得
- 02ビルドツール、言語、依存関係をカスタマイズ
- 03プロジェクトをZIP形式で保存
- 04プロジェクトをディレクトリに直接展開
- 05ネイティブバイナリとJARを提供
活用シーン
- 01Spring Boot REST APIプロジェクトの生成
- 02データベース依存関係を含むマイクロサービスの作成
- 03IDEで開くためのディレクトリへの展開
MCP 対応
Spring Initializrの設定項目の取得と、設定済みSpring Bootプロジェクトのダウンロードを行うツールをMCPクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Spring Boot Bootstrap MCP サーバー
Spring Initializr を使用して Spring Boot プロジェクトをブートストラップするための Model Context Protocol(MCP)サーバーです。このサーバーは、AI アシスタントが利用可能な Spring Boot の構成を確認し、カスタマイズされたプロジェクトテンプレートを生成するためのツールを提供します。
機能
利用可能なツール
-
getSpringBootInitDetails
- Spring Initializr から利用可能なすべての構成オプションを取得します
- 利用可能な Spring Boot のバージョン、依存関係、Java のバージョンなどを返します
- 有効なパラメーター値を確認するには、まずこれを使用してください
-
downloadSpringBootProject
- 構成済みの Spring Boot プロジェクトを ZIP ファイルとしてダウンロードするか、ディレクトリに直接展開します
- スマートパス検出:パスが
.zipで終わる場合は ZIP ファイルとして保存し、それ以外の場合はすべてのファイルをディレクトリに展開します - ビルドツール、言語、依存関係などをカスタマイズできます
- 必要に応じて親ディレクトリを自動的に作成します
- 展開したプロジェクトは、すぐに IDE で開ける状態です
クイックスタート
1. サーバーをダウンロードする
リリースページに移動し、ご利用のプラットフォームに適したバージョンをダウンロードしてください。
オプション A:ネイティブバイナリ(推奨 — 起動が非常に高速)
起動時間が最速(約87ミリ秒)で、Java のインストールは不要です!
- Windows:
app-bootstrap.exeをダウンロード - macOS:
app-bootstrapをダウンロード(macOS バイナリ) - Linux:
app-bootstrapをダウンロード(Linux バイナリ)
保存先:C:/mcp-servers/(Windows)または ~/mcp-servers/(Mac/Linux)
macOS/Linux:バイナリを実行可能にします。
chmod +x ~/mcp-servers/app-bootstrap
オプション B:JAR ファイル(Java 21 以降が必要)
app-bootstrap-0.0.1-SNAPSHOT.jar をダウンロードします
保存先:C:/mcp-servers/app-bootstrap.jar(Windows)または ~/mcp-servers/app-bootstrap.jar(Mac/Linux)
2. MCP クライアントを設定する
以下からクライアントを選択し、構成を追加してください。
GitHub Copilot(VS Code)
編集するファイル:%APPDATA%\Code\User\mcp.json(Windows)または ~/Library/Application Support/Code/User/mcp.json(Mac/Linux)
ネイティブバイナリ(推奨 — 最速):
{
"mcpServers": {
"springboot-bootstrap": {
"command": "C:/mcp-servers/app-bootstrap.exe",
"args": []
}
}
}
JAR ファイル:
{
"mcpServers": {
"springboot-bootstrap": {
"command": "java",
"args": ["-jar", "C:/mcp-servers/app-bootstrap.jar"]
}
}
}
Claude Desktop
編集するファイル:%APPDATA%\Claude\claude_desktop_config.json(Windows)または ~/Library/Application Support/Claude/claude_desktop_config.json(Mac)
ネイティブバイナリ(推奨 — 最速):
{
"mcpServers": {
"springboot-bootstrap": {
"command": "C:/mcp-servers/app-bootstrap.exe",
"args": []
}
}
}
macOS/Linux のネイティブバイナリ:
{
"mcpServers": {
"springboot-bootstrap": {
"command": "/Users/username/mcp-servers/app-bootstrap",
"args": []
}
}
}
JAR ファイル:
{
"mcpServers": {
"springboot-bootstrap": {
"command": "java",
"args": ["-jar", "C:/mcp-servers/app-bootstrap.jar"]
}
}
}
その他の MCP クライアント(Cline、Zed、Cody、Continue.dev)
ネイティブバイナリ(推奨 — 最速):
{
"mcpServers": {
"springboot-bootstrap": {
"command": "/path/to/app-bootstrap",
"args": []
}
}
}
JAR ファイル:
{
"mcpServers": {
"springboot-bootstrap": {
"command": "java",
"args": ["-jar", "/path/to/app-bootstrap.jar"]
}
}
}
パスの例:
- Windows のネイティブバイナリ:
C:/mcp-servers/app-bootstrap.exe - Mac/Linux のネイティブバイナリ:
/Users/username/mcp-servers/app-bootstrap - JAR:
/Users/username/mcp-servers/app-bootstrap.jar
3. クライアントを再起動する
サーバーを読み込むには、VS Code、Claude Desktop、または MCP クライアントを再起動してください。
4. 使用を開始する
次のようなプロンプトを試してください。
# Download as ZIP file
Create a Spring Boot REST API with PostgreSQL and JPA, save to C:/projects/myapi.zip
# Extract directly to directory (ready to open in IDE)
Create a Spring Boot REST API with PostgreSQL and JPA, extract to C:/projects/myapi
詳細ドキュメント
代替のインストール方法
オプション 1:ビルド済みリリースをダウンロードする(推奨 — 上記のクイックスタートで説明済み)
手早く開始する方法については、上記のクイックスタートセクションを参照してください。
利用可能な形式:
- ネイティブバイナリ:起動が非常に高速(約87ミリ秒)で、Java のインストールは不要
- JAR ファイル:従来の Java アーカイブ。Java 21 以降が必要
オプション 2:ソースからビルドする
ソースからビルドする場合、またはプロジェクトに貢献する場合:
ビルドの前提条件
- Java 21 以降
- Gradle(ラッパー経由で同梱)
- GraalVM(任意。ネイティブイメージのビルドに使用)
ビルド手順
標準 JAR:
# Windows
.\gradlew.bat clean bootJar
# Linux/Mac
./gradlew clean bootJar
ビルドされた JAR ファイルは、次の場所にあります:build/libs/app-bootstrap-0.0.1-SNAPSHOT.jar
ネイティブイメージ(GraalVM が必要):
# Windows
.\gradlew.bat nativeCompile
# Linux/Mac
./gradlew nativeCompile
ネイティブバイナリは、次の場所にあります:
- Windows:
build/native/nativeCompile/app-bootstrap.exe - Linux/Mac:
build/native/nativeCompile/app-bootstrap
ネイティブイメージのメリット:
- 超高速な起動:JVM の 2~5 秒に対して約 87 ミリ秒
- 少ないメモリ使用量:JVM の約 1/4
- Java 不要:スタンドアロンの実行ファイル
- 最適な用途:サーバーレス、コンテナ、CLI ツール
設定
サーバー設定(任意)
サーバーは事前設定済みで、すぐに使用できます。デフォルト設定は src/main/resources/application.properties にあります:
spring.main.web-application-type=none
spring.main.banner-mode=off
spring.application.name=app-bootstrap
spring.ai.mcp.server.name=spring-bootstrap-mcp
spring.ai.mcp.server.version=0.0.1
spring.ai.mcp.server.stdio=true
spring.ai.mcp.server.type=SYNC
spring.ai.mcp.server.annotation-scanner.enabled=true
logging.file.name=./mcp-springboot-bootstrap-stdio-server.log
注記:リアクティブアプリケーション向けに、代替の WebFlux 設定が src/main/resources/application.json に用意されています(ソースからビルドする必要があります)。
クライアント固有の設定の詳細
上記のクイックスタートセクションで、ほとんどのユースケースを説明しています。このセクションでは、追加情報とトラブルシューティングについて説明します。
GitHub Copilot(VS Code)- 詳細
設定ファイルの場所:
- Windows:
%APPDATA%\Code\User\mcp.json - macOS:
~/Library/Application Support/Code/User/mcp.json - Linux:
~/.config/Code/User/mcp.json
設定の完全な例:
{
"mcpServers": {
"springboot-bootstrap": {
"command": "java",
"args": ["-jar", "C:/mcp-servers/app-bootstrap.jar"],
"env": {}
}
}
}
Mac/Linux の例:
{
"mcpServers": {
"springboot-bootstrap": {
"command": "java",
"args": ["-jar", "/Users/username/mcp-servers/app-bootstrap.jar"]
}
}
}
#### Step 3: Restart VS Code
#### Step 4: Use with Copilot Chat
Open Copilot Chat and use prompts like:
PostgreSQL と JPA を使用する Spring Boot REST API を作成し、C:/projects/myapi.zip に保存してください
### 2. Claude Desktop
#### Step 1: Get the JAR file
**Option A: Download pre-built release (Recommended)**
- Download from [Releases page](../../releases/latest)
- Save to a location like `C:/mcp-servers/app-bootstrap-0.0.1-SNAPSHOT.jar` (Windows)
- Or `~/mcp-servers/app-bootstrap-0.0.1-SNAPSHOT.jar` (macOS/Linux)
**Option B: Build from source**
```bash
.\gradlew.bat clean bootJar # Windows
./gradlew clean bootJar # Linux/Mac
ステップ 2:Claude Desktop を設定する
Claude Desktop の設定ファイルを編集します:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
次の設定を追加します:
{
"mcpServers": {
"springboot-bootstrap": {
"command": "java",
"args": [
"-jar",
"C:/mcp-servers/app-bootstrap-0.0.1-SNAPSHOT.jar"
]
}
}
}
macOS/Linux の例:
{
"mcpServers": {
"springboot-bootstrap": {
"command": "java",
"args": [
"-jar",
"/Users/username/mcp-servers/app-bootstrap-0.0.1-SNAPSHOT.jar"
]
}
}
}
Claude Desktop を再起動すると、ツールを使用できるようになります。
その他の MCP クライアント - 詳細
Cline、Zed Editor、Sourcegraph Cody、Continue.dev、その他の MCP 対応クライアント向けの設定:
{
"mcpServers": {
"springboot-bootstrap": {
"command": "java",
"args": ["-jar", "/path/to/app-bootstrap.jar"]
}
}
}
/path/to/app-bootstrap.jar を実際のファイルパスに置き換えてください。
使用例
例 1:基本的な Web アプリケーション(展開)
Create a basic Spring Boot web application with Java 21 and extract it to C:/projects/demo
AI は次の処理を行います:
getSpringBootInitDetails()を呼び出し、利用可能なオプションを取得します- 適切なデフォルト値(Spring Web、最新の Spring Boot バージョンなど)を選択します
- 設定を指定して
downloadSpringBootProject()を呼び出します - すべてのファイルを
C:/projects/demoに直接展開します(IDE で開ける状態になります)
例 2:データベースを使用するマイクロサービス(ZIP ダウンロード)
I need a Spring Boot microservice with:
- Spring Boot 3.5.9
- Java 21, Gradle
- Dependencies: Web, Data JPA, PostgreSQL, Lombok, Actuator
- Group: com.mycompany
- Artifact: user-service
- Save to: C:/microservices/user-service.zip
結果:配布またはアーカイブできる ZIP ファイルがダウンロードされます。
例 3:リアクティブアプリケーション(展開)
Create a Spring Boot WebFlux application with MongoDB and extract to C:/projects/reactive-api
結果:プロジェクトのすべてのファイルが展開され、IDE にインポートできる状態になります。
例 4:開発のクイックスタート
I need a REST API with Spring Boot, PostgreSQL, and Lombok. Extract it to C:/workspace/api-project so I can start coding immediately.
結果:プロジェクトは展開済みですぐに使えます。VS Code または IntelliJ でディレクトリを開くだけです!
ツールのパラメーター
getSpringBootInitDetails
パラメーターは不要です。利用可能な設定オプションをすべて含む JSON を返します。
downloadSpringBootProject
| パラメーター | 必須 | 説明 | 例 |
|---|---|---|---|
type | はい | ビルドツールの種類 | gradle-project, maven-project |
language | はい | プログラミング言語 | java, kotlin, groovy |
bootVersion | はい | Spring Boot のバージョン(メタデータと完全に一致する形式) | 3.5.9, 2.7.18.RELEASE |
groupId | はい | Maven のグループ ID | com.example |
artifactId | はい | プロジェクト/アーティファクト ID | demo |
name | はい | プロジェクトの表示名 | Demo Application |
description | いいえ | プロジェクトの説明 | Demo project for Spring Boot |
packageName | はい | ベースパッケージ名 | com.example.demo |
packaging | はい | パッケージの種類 | jar, war |
javaVersion | はい | Java のバージョン | 17, 21, 23 |
dependencies | はい | カンマ区切りの依存関係 ID | web,data-jpa,postgresql |
configurationFileFormat | いいえ | 設定ファイルの形式 | properties, yaml |
downloadPath | はい | 出力先のパス | 以下を参照 ⬇️ |
重要:Spring Boot のバージョン形式
⚠️ 重要:Spring Boot ではバージョン形式が異なります。
- Spring Boot 3.x:セマンティックバージョニング(例:
3.5.9、3.4.2、3.3.7) - Spring Boot 2.x:
.RELEASEサフィックスが付きます(例:2.7.18.RELEASE、2.6.15.RELEASE)
必ず最初に getSpringBootInitDetails() を呼び出して、正確なバージョン形式を取得してください。形式を推測したり、決めつけたりしないでください!
| downloadPath | はい | 出力先のパス | 以下を参照 ⬇️ |
downloadPath の動作
downloadPath パラメーターによって、プロジェクトの出力方法が決まります。
.zipで終わる → ZIP ファイルとして保存します- 例:
C:/projects/myapp.zip - 用途:アーカイブ、共有、または後で手動で展開する場合
- 例:
API 呼び出しの例
参考までに、実際の Spring Initializr API 呼び出しは次のようになります。
https://start.spring.io/starter.zip?type=gradle-project&language=java&bootVersion=3.5.9&groupId=com.example&artifactId=demo&name=demo&description=Demo%20project%20for%20Spring%20Boot&packageName=com.example.demo&packaging=jar&javaVersion=17&configurationFileFormat=properties&dependencies=web,postgresql
この URL の構造は、すべてのパラメーターが Spring Initializr に渡される方法を示しています。MCP ツールは入力内容に基づいて、この URL を自動的に組み立てます。
.zipで終わらない → すべてのファイルをディレクトリに展開します- 例:
C:/projects/myapp - 用途:すぐに IDE で開いて、ただちにコーディングを始められます
- すべてのプロジェクトファイルは、適切な構成を保ったまま展開されます
- 例:
よく使われる依存関係
よく使用される依存関係 ID は次のとおりです。
web- Spring Web(REST API)webflux- Spring WebFlux(リアクティブ)data-jpa- Spring Data JPAdata-mongodb- Spring Data MongoDBpostgresql- PostgreSQL ドライバーmysql- MySQL ドライバーh2- H2 データベースlombok- Lombokactuator- Spring Boot Actuatorsecurity- Spring Securityvalidation- バリデーションcloud-config-client- Spring Cloud Config クライアントcloud-eureka-client- Eureka Discovery クライアント
説明付きの完全な一覧を取得するには、getSpringBootInitDetails() を使用してください。
トラブルシューティング
JAR ファイルが見つからない
# Rebuild the project
.\gradlew.bat clean bootJar
接続エラー
start.spring.ioにアクセスできるインターネット接続を確認してください- ファイアウォールの設定を確認してください
MCP クライアントにツールが表示されない
- MCP の設定で JAR のパスが正しいことを確認してください
- MCP クライアントを完全に再起動してください
./mcp-springboot-bootstrap-stdio-server.logのログを確認してください
ダウンロード時の権限エラー
- ダウンロード先ディレクトリが存在し、書き込み権限があることを確認してください
- 絶対パスを使用してください(例:
./app.zipではなくC:/projects/app.zip)
開発
自動リリース
main ブランチへのプッシュ、またはバージョンタグの作成を行うと、GitHub Actions のワークフローが自動的に実行され、以下を行います。
- GraalVM を使用して、Windows、macOS、Linux 向けのネイティブ実行ファイルをビルドします
- 従来の JAR ファイルをビルドします
- すべての成果物を含む GitHub リリースを作成します
- ネイティブバイナリと JAR をリリースにアップロードします
バージョンタグを付けたリリースの場合(例:v1.0.0):
git tag v1.0.0
git push origin v1.0.0
ワークフローは、以下を含むリリースを自動的に作成します。
app-bootstrap.exe(Windows ネイティブ)app-bootstrap(Linux ネイティブ)app-bootstrap(macOS ネイティブ)app-bootstrap-0.0.1-SNAPSHOT.jar(従来の JAR)
エンドユーザーによる手動ビルドは不要です! リリースページからダウンロードするだけです。
プロジェクト構成
src/main/java/org/springboot/bootstrap/
├── AppBootstrapApplication.java # Main application
├── config/
│ └── RestClientConfig.java # RestClient configuration
└── tools/
└── SpringInItTools.java # MCP tools implementation
新しいツールの追加
SpringInItTools.javaに新しいメソッドを追加します- 名前と説明を指定して
@McpToolアノテーションを付けます - main ブランチにプッシュします(ビルドとリリースは自動的に行われます)
- アノテーションスキャンによってツールが自動的に検出されます
テスト
# Run tests
.\gradlew.bat test
# Run application locally (for testing)
.\gradlew.bat bootRun
技術スタック
- Spring Boot:3.5.9
- Spring AI MCP Server:1.1.2
- Java:21
- ビルドツール:Gradle
- HTTP クライアント:Apache HttpClient 5
- ネイティブイメージ:起動を超高速化する GraalVM Native Image のサポート
- CI/CD:マルチプラットフォームのネイティブビルドに GitHub Actions を使用
コントリビューション
- リポジトリをフォークします
- 機能ブランチを作成します
- 変更を加えます
- 十分にテストします
- プルリクエストを送信します
ライセンス
このプロジェクトは、デモ目的で現状のまま提供されます。
サポート
問題や質問がある場合:
- 上記のトラブルシューティングのセクションを確認してください
./mcp-springboot-bootstrap-stdio-server.logのログを確認してください- Java 21 以降を使用していることを確認してください
関連リンク
Spring Boot と Spring AI MCP Server を使用して ❤️ を込めて開発
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。