auto-mcp-client について
Spring AI に基づく MCP クライアントフレームワークで、stdio と HTTP SSE 経由で MCP サービスと通信します。自動初期化、ヘルスチェック、タイムアウト管理、接続再利用を実装し、Web ベースのエージェントをサポートします。
主な機能
- 01stdio と HTTP SSE プロトコルサポート
- 02自動接続初期化とヘルスチェック
- 03タイムアウト切断と接続再利用
- 04マルチエージェント分離
- 05Spring AI フレームワーク統合
活用シーン
- 01MCP サービスを照会する Web アプリケーション
- 02エージェントが外部ツールを自動呼び出し
- 03複数エージェントの MCP 共有利用
- 04サーバーリソース消費の削減
MCP 対応
Spring AI 上に構築された MCP クライアント実装で、stdio と HTTP SSE 経由で MCP サービスに接続し、ツールとリソースへのアクセスを提供します。
詳細
auto-mcp-client
プロジェクト概要
これは Spring AI 1.0.0-M7 に基づいた Java プロジェクトで、mcp-client サービスをカプセル化し、stdio および HTTP SSE(Server-Sent Events) を通じて MCP サーバーと相互作用することをサポートしています。プロジェクトは自動接続管理メカニズムを実装しており、自動初期化接続、ヘルスチェック、タイムアウト切断、および接続の再利用などの機能が含まれています。
プライベートモデル設定例
ai:
openai:
api-key: YWljcF9hcHA6UVd4aFpHUnBianB2Y0dWdUlITmxjMkZ0WlE=
base-url: http://10.0.1.133:30080
chat:
options:
stream: true
model: qwen3-30b-a3b
base-url: http://10.0.1.133:30080
completions-path: /v10/llm/chat/qwen3-30b-a3b/completion
機能特性
- 複数プロトコルサポート:
stdioおよびHTTP SSEを通じて MCP サーバーと通信をサポートします。 - 自動初期化接続:プロジェクト起動時に MCP サーバーとの接続初期化が自動的に完了します。
- 自動ヘルスチェック:接続のヘルスステータスを定期的にチェックし、接続が常に利用可能であることを確認します。
- 自動タイムアウト切断:接続が指定されたタイムアウト時間内に使用されない場合、リソースを解放するために自動的に接続を切断します。
- 接続の再利用:タイムアウト時間範囲内で、同じ接続を再利用してパフォーマンスとリソース利用率を向上させます。
- 環境分離:複数のエージェントが同じ MCP サーバーを使用する場合、相互に分離されます。
技術スタック
- フレームワーク:Spring AI 1.0.0-M7
- 言語:Java
- 依存ライブラリ:
- mcp-client
- Spring Boot 3.3.6
- HTTP クライアントライブラリ(OkHttp または HttpClient など)
クイックスタート
1. 環境準備
- Java バージョン:JDK 17 以上がインストールされていることを確認してください。
- Maven/Gradle:プロジェクトは Maven/Gradle ビルドツールを使用します。正しく設定されていることを確認してください。
2. プロジェクト実行前の設定
- bootstrap.yml の Nacos 設定センターとネームスペースを変更する必要があります。mcp-client-dev.yml 設定を Nacos 設定センターにインポートする必要があります。
- デフォルトで接続されるのは Alibaba Bailian の qwen2.5-72b-instruct 大規模言語モデル(OpenAI プロトコル)です。プライベート OpenAI プロトコルモデルへの切り替えをサポートします。API キーは自分で申請する必要があります。
- 組み込みのデフォルト default-mcp-registry.json を自分の API キーまたは他の MCP サーバーに変更する必要があります。
- 設定ファイルの Node サービスパスを変更する必要があります。サービス起動時に Node サービスが利用可能かどうかを最初にチェックします。チェック目的は stdio プロトコルをサポートする多くの MCP サーバーに対応するためです。
3. 組み込み効果デモ(他のツールの設定後に質問することで、すべてのツールにアクセス可能です)
- 効果 1:
- 質問:北京と上海の天気を比較して、今日の気温が高いのはどちらか、棒グラフを生成してください。
- 回答:

- 効果 2:
- 質問:データベース内の福建省 GDP トップ 5 を分析し、円グラフで描画してください。
- 回答:

- 効果 3:
- 質問:このウェブページの内容を整理して Markdown にまとめてください。
- 回答:

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