モデルコンテキストプロトコル (MCP)
モデルコンテキストプロトコル (英語) (MCP) は、AI モデルが外部のツールやリソースと構造化された方法でやり取りできるようにする標準化されたプロトコルです。複数のトランスポートメカニズムをサポートし、さまざまな環境にわたって柔軟性を提供します。
MCP Java SDK (英語) は、モデルコンテキストプロトコルの Java 実装を提供し、同期と非同期の両方の通信パターンを通じて AI モデルおよびツールとの標準化された対話を可能にします。
Spring AI MCP
は、Spring Boot 統合により MCP Java SDK を継承し、クライアントスターターとサーバースターターの両方を提供します。Spring イニシャライザーを使用して、MCP サポートで AI アプリケーションをブートストラップします。
MCP Java SDK 0.8.0 の重大な変更 ⚠️ MCP Java SDK バージョン 0.8.0 では、新しいセッションベースのアーキテクチャを含むいくつかの重大な変更が導入されています。Java SDK 0.7.0 からアップグレードする場合は、詳細な手順については移行ガイド [GitHub] (英語) を参照してください。 |
MCP Java SDK アーキテクチャ
このセクションでは、MCP Java SDK アーキテクチャ (英語) の概要を説明します。Spring AI MCP 統合については、Spring AI MCP Boot スターターのドキュメントを参照してください。 |
Java MCP 実装は、3 層アーキテクチャに従います。
|
MCP クライアント (英語) | |
---|---|
MCP クライアントは、モデルコンテキストプロトコル (MCP) アーキテクチャの主要コンポーネントであり、MCP サーバーとの接続を確立および管理するロールを担います。プロトコルのクライアント側を実装し、次の処理を行います。
|
MCP サーバー (英語) | |
---|---|
MCP サーバーは、モデルコンテキストプロトコル (MCP) アーキテクチャの基本コンポーネントであり、クライアントにツール、リソース、機能を提供します。プロトコルのサーバー側を実装し、次の機能を果たします。
|
低レベルの MCP クライアント / サーバー API を使用した詳細な実装ガイダンスについては、MCP Java SDK ドキュメント (英語) を参照してください。Spring Boot を使用した簡略化されたセットアップについては、以下に説明する MCP Boot スターターを使用してください。
Spring AI MCP 統合
Spring AI は、次の Spring Boot スターターを通じて MCP 統合を提供します。
クライアントスターター
spring-ai-starter-mcp-client
- STDIO および HTTP ベースの SSE サポートを提供するコアスターターspring-ai-starter-mcp-client-webflux
- WebFlux ベースの SSE トランスポート実装
サーバースターター
spring-ai-starter-mcp-server
- STDIO トランスポートをサポートするコアサーバーspring-ai-starter-mcp-server-webmvc
- Spring MVC ベースの SSE トランスポート実装spring-ai-starter-mcp-server-webflux
- WebFlux ベースの SSE トランスポート実装