Spring Boot AI MCP Server について
Model-Controller-Presenter パターンを採用した AI アプリケーション向け Spring Boot プロジェクトです。Spring AI と OpenAI を統合し、AI 応答を生成する REST API を提供します。
主な機能
- 01Spring Boot と Java 17 を基盤に採用
- 02Spring AI と OpenAI の統合
- 03Model-Controller-Presenter アーキテクチャ
- 04AI 応答生成用 REST API
- 05バリデーションと例外処理
- 06ユニットテスト
活用シーン
- 01Spring Boot ベースの AI アプリケーション構築
- 02REST エンドポイント経由の AI 応答生成
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Spring Boot AI MCP Server
概要
このプロジェクトは、AI を活用したアプリケーション向けに Model-Controller-Presenter(MCP)アーキテクチャパターンを実装する Spring Boot アプリケーションです。Spring AI と OpenAI の統合を使用して、AI 機能を強化したアプリケーションを構築するための基盤を提供します。
機能
- Java 17 対応の Spring Boot 3.2.3
- OpenAI との Spring AI 統合
- MCP アーキテクチャパターン
- RESTful API エンドポイント
- 例外処理
- バリデーション
- 単体テスト
アーキテクチャ
このプロジェクトでは、MCP(Model-Controller-Presenter)アーキテクチャパターンを採用しています。
- Model:データとビジネスロジックを表します
- Controller:HTTP リクエストとレスポンスを処理します
- Presenter:表示用にデータをフォーマットします
プロジェクト構成
src/
├── main/
│ ├── java/
│ │ └── com/
│ │ └── junie/
│ │ └── mcp/
│ │ ├── ai/
│ │ │ ├── config/
│ │ │ ├── controller/
│ │ │ ├── dto/
│ │ │ └── service/
│ │ └── common/
│ │ ├── dto/
│ │ ├── entity/
│ │ └── exception/
│ └── resources/
│ └── application.properties
└── test/
└── java/
└── com/
└── junie/
└── mcp/
└── ai/
└── service/
はじめに
前提条件
- Java 17 以降
- Gradle 8 以降
- OpenAI API キー
設定
application.properties ファイルまたは環境変数に OpenAI API キーを設定します。
spring.ai.openai.api-key=${OPENAI_API_KEY}
プロジェクトのビルド
./gradlew build
プロジェクトの実行
./gradlew bootRun
API エンドポイント
AI レスポンスの生成
POST /api/v1/ai/generate
リクエストボディ:
{
"prompt": "Your prompt here"
}
レスポンス:
{
"success": true,
"message": "Success",
"data": {
"content": "AI-generated response"
},
"timestamp": "2023-06-01T12:00:00"
}
ライセンス
このプロジェクトは MIT ライセンスのもとでライセンスされています。詳細については LICENSE ファイルを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。