mcpField
S
spring-ai-mcp-server

spring-ai-mcp-server

ローカル
github.com/moises-paschoalick開発ツール270 週間前に更新

spring-ai-mcp-server について

Spring AIでコース管理ツールを備えたMCPサーバーを構築する学習プロジェクトです。MCP連携を学ぶ開発者向けで、Webインターフェースを使わずSTDIOで通信します。

主な機能

  1. 01Spring AIによるMCPサーバー構築
  2. 02コース一覧ツールの公開
  3. 03タイトルによるコース取得
  4. 04STDIO通信

活用シーン

  1. 01Spring AIでMCPツールを作る方法の学習
  2. 02コースデータ用MCPサーバーの試作

MCP 対応

STDIO経由でコース一覧とコース検索のツールをMCPクライアントに公開するMCPサーバーです。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

Spring AI MCP サーバー - 学習プロジェクト

これは、Spring AIを使用してMCP(Model Context Protocol)サーバーの作成方法を学ぶための優れた学習プロジェクトです。Dan Vegaのコースに沿って開発されており、MCP プロトコルを介してカスタムツールを AI モデルと統合する方法を紹介します。

🎯 プロジェクトについて

このプロジェクトでは、コースを管理するツールを公開するシンプルな MCP サーバーを実装しています。以下の方法を実践的に学べる例です。

  • Spring AI を使用して MCP サーバーを作成する
  • カスタムツール(tools)を定義する
  • MCP プロトコルを介して AI モデルと統合する
  • ウェブインターフェースのないサーバーを設定する(STDIO transport)

🏗️ プロジェクトのアーキテクチャ

ファイル構成
src/main/java/com/gotocode/courses/
├── CoursesApplication.java    # Classe principal da aplicação
├── CourseService.java         # Serviço com as ferramentas MCP
└── Course.java               # Modelo de dados (Record)
主なコンポーネント
  1. CoursesApplication:MCP サーバーを設定するメインクラス
  2. CourseService:コース管理用の MCP ツールを公開するサービス
  3. Course:タイトルと URL を持つコースを表すレコード

🛠️ 使用技術

  • Java 24
  • Spring Boot 3.4.5
  • Spring AI 1.0.0-M8
  • Maven

📋 前提条件

プロジェクトを実行する前に、以下がインストールされていることを確認してください。

  • Java 24以上
  • Maven 3.6+以上
インストールの確認
# Verificar versão do Java
java -version

# Verificar versão do Maven
mvn -version

🚀 プロジェクトの実行方法

1. リポジトリをクローンする
git clone https://github.com/moises-paschoalick/spring-ai-mcp-server.git
cd spring-ai-mcp-server
2. プロジェクトをビルドする
mvn clean compile
3. MCP サーバーを実行する
mvn spring-boot:run
4. 別の方法:JAR 経由で実行する
# Compilar o JAR
mvn clean package

# Executar o JAR
java -jar target/courses-0.0.1-SNAPSHOT.jar

🔧 設定

このプロジェクトは、application.propertiesファイルを使用して MCP サーバーとして動作するように設定されています。

spring.application.name=courses
spring.main.web-application-type=none
spring.ai.mcp.server.name=dan-vega-mcp
spring.ai.mcp.server.version=0.0.1
spring.main.banner-mode=off
logging.pattern.console=
重要な設定:
  • spring.main.web-application-type=none:HTTP サーバーを無効にします
  • spring.ai.mcp.server.name:MCP サーバーの名前を設定します
  • spring.main.banner-mode=off:Spring Boot のバナーを無効にします
  • logging.pattern.console=:STDIO transport を使用できるよう、コンソールログを削除します

🛠️ 利用可能な MCP ツール

サーバーは、主に次の2つのツールを公開します。

1. dv_get_courses
  • 説明:利用可能なすべてのコースの一覧を取得します
  • 戻り値:コースの一覧
2. dv_get_course
  • 説明:タイトルを指定して特定のコースを取得します
  • パラメーター:title(String)—コースのタイトル
  • 戻り値:該当するコース。見つからない場合は null

📝 使用例

データ構造
public record Course(String title, String url) {
}
サンプルデータ

サービスは、いくつかのサンプルコースとともに初期化されます。

courses.addAll(List.of(
    new Course("Título do vídeo 01", "https://www.urlvideo01"),
    new Course("Título do vídeo 02", "https://www.urlvideo02")
));

🔍 動作の仕組み

  1. 初期化:MCP サーバーはウェブインターフェースなしで起動します
  2. ツールの登録:CourseServiceが MCP ツールとして登録されます
  3. STDIO 通信:サーバーは標準入力/出力を介して通信します
  4. AI との統合:AI モデルは MCP プロトコルを介してツールを利用できます

🎓 プロジェクトで学べること

このプロジェクトでは、以下の方法を紹介します。

  • Spring AI でカスタムツールを作成する方法
  • ウェブインターフェースのない MCP サーバーの設定
  • @Toolアノテーションを使用してメソッドをツールとして公開する方法
  • MCP プロトコルを使用して AI モデルと通信する方法
  • 機能する MCP サーバーの基本構成

🤝 貢献

これは学習プロジェクトですが、貢献を歓迎します!貢献するには、次の手順に従ってください。

  1. プロジェクトをフォークします
  2. 機能追加用のブランチを作成します(git checkout -b feature/AmazingFeature)
  3. 変更をコミットします(git commit -m 'Add some AmazingFeature')
  4. ブランチにプッシュします(git push origin feature/AmazingFeature)
  5. Pull Request を作成します

📚 追加リソース

📄 ライセンス

このプロジェクトは MIT ライセンスの下で公開されています。詳細はLICENSEファイルを参照してください。


Dan Vega のコースに基づく学習プロジェクトとして開発 🚀

コメント

MCP は初めてですか?

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

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