ModelContextProtocolClient について
MCP開発向けのSpring Bootクライアントアプリです。WebFlux SSEとstdioでMCPサーバーに接続する方法を示し、計算機、天気、Brave Searchの操作用エンドポイントも備えています。
主な機能
- 01WebFlux SSEでのサーバー接続
- 02stdioでのサーバー接続
- 03計算機と天気のHTTPエンドポイント
- 04Brave Search APIへのアクセス
活用シーン
- 01SSEとstdioの接続方式の比較
- 02エンドポイント経由の計算機や天気ツールの呼び出し
- 03アプリからのBrave Search実行
MCP 対応
MCPクライアントとして、WebFlux SSEとstdioによるサーバー接続を示します。各エンドポイントから、これらのトランスポートを介した操作を利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ツール一覧はまだ取得されていません
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ModelContextProtocolClient
MCP サーバーと通信するための、さまざまなトランスポート方式(WebFlux SSE、Stdio)を紹介する Spring Boot クライアントアプリケーションです。
セットアップ
- ルートディレクトリに、API キーを記載した
.envファイルを作成します。
BRAVE_SEARCH_API_KEY=your_brave_search_api_key_here
WEATHER_API_KEY=your_weather_api_key_here
-
https://github.com/InnoBridge/ModelContextProtocolServer をクローンします。
-
Docker のセットアップ
- docker-compose.yml のボリュームマッピングを更新します。
modelcontextprotocolclient_application ... volumes: - .:/app - /var/run/docker.sock:/var/run/docker.sock - ./local/root:/root - ../{path to ModelContextProtocolServer repo}:/ModelContextProtocolServer- Docker コンテナを起動します。
sudo docker compose up- MCP サーバーをビルドして実行します。
# In a new terminal sudo docker exec -it modelcontextprotocolserver-application sh cd /app ./mvnw clean install ./mvnw spring-boot:run- クライアントをビルドして実行します。
# In another new terminal docker exec -it modelcontextprotocolclient-application sh ./mvnw spring-boot:run
利用可能なエンドポイント
WebFlux トランスポート
GET /webflux/tools- 利用可能なすべてのツールを一覧表示しますPOST /webflux/calculate- 計算機ツールを使って計算しますcurl -X POST "http://localhost:8080/webflux/calculate?operation=add&a=5&b=3"POST /webflux/weather- 天気情報を取得しますcurl -X POST "http://localhost:8080/webflux/weather?location=San%20Francisco&format=celsius"
Stdio トランスポート
GET /stdio/tools- 利用可能なすべてのツールを一覧表示しますPOST /stdio/calculate- 計算機ツールを使って計算しますcurl -X POST "http://localhost:8080/stdio/calculate?operation=add&a=5&b=3"POST /stdio/weather- 天気情報を取得しますcurl -X POST "http://localhost:8080/stdio/weather?location=San%20Francisco&format=celsius"
BraveSearch トランスポート
GET /tools/bravesearch- 利用可能なツールを一覧表示しますPOST /bravesearch- Web 検索を実行しますcurl -X POST "http://localhost:8080/bravesearch?query=spring%20boot"
設定
このアプリケーションでは、複数のトランスポート設定を利用できます。
-
WebFlux SSE トランスポート(デフォルト)
- Server-Sent Events を使ってサーバーと通信します
- サーバーは WebFlux モードで実行されている必要があります
-
Stdio トランスポート
- 標準入力/標準出力を使ってサーバーと通信します
- stdio モードでサーバーの jar を自動的に起動します
-
BraveSearch トランスポート
- BraveSearch API と通信します
.envファイルにBRAVE_SEARCH_API_KEYが必要です- API キーは Brave Search API から取得できます
-
Weather API
- WebFlux と Stdio の両トランスポートで天気情報の取得に使用されます
.envファイルにWEATHER_API_KEYが必要です- API キーは WeatherAPI から取得できます
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。