Sprint Boot Sample MCP Server について
Sprint Boot Sample MCP Server は、MCP サーバー開発を学び、テストする Java 開発者向けの Spring Boot サンプルです。基本的なアプリ構成を示し、MCP Inspector でテストやデバッグができます。
主な機能
- 01Spring Boot による MCP サーバー構築
- 02シンプルな REST API
- 03ユニットテストを同梱
- 04MCP Inspector によるテストとデバッグ
- 05リモートデバッグの設定
活用シーン
- 01Spring Boot での MCP サーバー構築を学習
- 02MCP Inspector でサーバーとの通信をテスト
- 03サーバーのリクエストと応答の流れをデバッグ
MCP 対応
MCP サーバーの例として、クライアント接続とツール呼び出しの方法を示します。README にはツールの具体的な機能は記載されていません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
これは、Spring Boot を使用した Model Context Protocol(MCP)サーバーのサンプル実装です。このサーバーは、テストとデバッグに Model Context Protocol Inspector を使用することを想定して設計されています。サーバーとやり取りするためのシンプルな REST API を提供し、基本的な Spring Boot アプリケーションのセットアップ方法を示します。サーバーの機能を検証するための単体テストも含まれています。
📋 目次
🧠 MCP とは?
Model Context Protocol(MCP)は、AI モデルが外部ツールやデータソースと通信する方法を定義するオープンスタンダードです。AI アシスタントが次の情報にアクセスするための標準的な方法を提供します。
- 🌐 リアルタイム情報
- 📊 カスタムデータベース
- 🔄 API とサービス
- 📁 ファイルシステム
MCP は「AI 向けの USB 規格」のようなものです。共通のインターフェースを提供することで、あらゆる AI モデルが一貫したプロトコルを通じてさまざまなツールを利用できます。 Spring Boot で MCP を使用するメリット:
- 🔄 シームレスな統合:アプリケーションの機能を AI アシスタントに簡単に公開できます
- 🛠️ ツールの定義:シンプルなアノテーションを使ってカスタムツールを定義できます
- 🚀 Spring Boot のシンプルさ:Spring の依存性注入と設定管理を活用できます
- 📈 AI 機能の強化:AI モデルに組織のリアルタイムデータやサービスへのアクセスを提供できます
要件
- Java 17+
- Maven
- MCP Inspector(テスト用、任意)
例:Claude Desktop の設定
{
"mcpServers": {
"sample-mcp-server": {
"command": "java",
"args": [
"-jar",
"sample-mcp-server-0.0.1-SNAPSHOT.jar",
"--port",
"8080",
"--host",
"localhost"
],
"env": {
"JAVA_TOOL_OPTIONS": "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005"
}
}
}
}
注:JAVA_TOOL_OPTIONS 環境変数は、リモートデバッグ用の JVM オプションを設定するために使用します。アドレスとポートは必要に応じて変更できます。
💻 開発
デバッグ
MCP Inspector のインストール
npm -g install @modelcontextprotocol/inspector
テスト用に MCP Inspector を実行する
MCP サーバーのビルド
mvn clean package
MCP Inspector の実行
npx @modelcontextprotocol/inspector \
-e JAVA_TOOL_OPTIONS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 \
java -jar target/sample-mcp-server-<version>-SNAPSHOT.jar \
--port 8080 --host localhost
注:JAVA_TOOL_OPTIONS 環境変数は、リモートデバッグ用の JVM オプションを設定するために使用します。アドレスとポートは必要に応じて変更できます。
これで MCP Inspector を使用して、Spring Boot MCP サーバーをテストおよびデバッグできます。Inspector には、サーバーとやり取りし、送受信されるデータを可視化できる使いやすいインターフェース(ブラウザー)が用意されています。Inspector を使用してサーバーにリクエストを送信し、レスポンスを確認し、クライアントとサーバー間のデータフローを分析できます。
サーバーをデバッグするには、コードにブレークポイントを設定し、IDE のデバッガーを使ってコードをステップ実行し、変数を確認できます。JAVA_TOOL_OPTIONS 環境変数で指定したリモートデバッグオプションを使用して、実行中のサーバーにデバッガーをアタッチしてください。
Spring AI は MCP Java SDK を生産性向上機能で拡張し、MCP サーバーを簡単に構築できるようにします [1]。
🔧 Claude Desktop でこのサーバーを使用する
このサンプルサーバーは、Claude Desktop や MCP に対応した他の AI アシスタントと統合できます。AI アシスタントでサーバーを設定した後、次の手順を実行してください。
- この Spring Boot MCP サーバーを起動します
- Claude Desktop を開き、設定でサーバーを有効にします
- このサーバーが提供するツールを必要とする質問を Claude にします
- Claude がサーバーをシームレスに利用してデータにアクセスし、アクションを実行する様子を確認します
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。