mcpField
M
ModelContextProtocolClient

ModelContextProtocolClient

ローカル
github.com/InnoBridge開発ツール287 週間前に更新

ModelContextProtocolClient について

MCP開発向けのSpring Bootクライアントアプリです。WebFlux SSEとstdioでMCPサーバーに接続する方法を示し、計算機、天気、Brave Searchの操作用エンドポイントも備えています。

主な機能

  1. 01WebFlux SSEでのサーバー接続
  2. 02stdioでのサーバー接続
  3. 03計算機と天気のHTTPエンドポイント
  4. 04Brave Search APIへのアクセス

活用シーン

  1. 01SSEとstdioの接続方式の比較
  2. 02エンドポイント経由の計算機や天気ツールの呼び出し
  3. 03アプリからのBrave Search実行

MCP 対応

MCPクライアントとして、WebFlux SSEとstdioによるサーバー接続を示します。各エンドポイントから、これらのトランスポートを介した操作を利用できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"ModelContextProtocolClient": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"compose"
]
}
}
}
起動コマンドdocker run -i --rm compose

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocicompose

ツール

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

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

詳細

ModelContextProtocolClient

MCP サーバーと通信するための、さまざまなトランスポート方式(WebFlux SSE、Stdio)を紹介する Spring Boot クライアントアプリケーションです。

セットアップ

  1. ルートディレクトリに、API キーを記載した .env ファイルを作成します。
BRAVE_SEARCH_API_KEY=your_brave_search_api_key_here
WEATHER_API_KEY=your_weather_api_key_here
  1. https://github.com/InnoBridge/ModelContextProtocolServer をクローンします。

  2. Docker のセットアップ

    1. docker-compose.yml のボリュームマッピングを更新します。
     modelcontextprotocolclient_application
     ...
    volumes:
      - .:/app
      - /var/run/docker.sock:/var/run/docker.sock
      - ./local/root:/root
      - ../{path to ModelContextProtocolServer repo}:/ModelContextProtocolServer
    
    1. Docker コンテナを起動します。
    sudo docker compose up
    
    1. MCP サーバーをビルドして実行します。
    # In a new terminal
    sudo docker exec -it modelcontextprotocolserver-application sh
    cd /app
    ./mvnw clean install
    ./mvnw spring-boot:run
    
    1. クライアントをビルドして実行します。
    # 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"
    

設定

このアプリケーションでは、複数のトランスポート設定を利用できます。

  1. WebFlux SSE トランスポート(デフォルト)

    • Server-Sent Events を使ってサーバーと通信します
    • サーバーは WebFlux モードで実行されている必要があります
  2. Stdio トランスポート

    • 標準入力/標準出力を使ってサーバーと通信します
    • stdio モードでサーバーの jar を自動的に起動します
  3. BraveSearch トランスポート

    • BraveSearch API と通信します
    • .env ファイルに BRAVE_SEARCH_API_KEY が必要です
    • API キーは Brave Search API から取得できます
  4. Weather API

    • WebFlux と Stdio の両トランスポートで天気情報の取得に使用されます
    • .env ファイルに WEATHER_API_KEY が必要です
    • API キーは WeatherAPI から取得できます

コメント

MCP は初めてですか?

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

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