modelcontextprotocol/java-sdk

The official Java SDK for Model Context Protocol servers and clients. Maintained in collaboration with Spring AI

何を解決するか

MCP(Model Context Protocol)との統合を標準化された方法で提供し、Javaアプリケーションが一貫したインターフェースを通じてAIモデルやツールとやり取りできるようにします。これにより、開発者は接続したい各AIツールやモデルに対してカスタム統合ロジックを毎回構築する必要がなくなります。

動作方法

SDKはモジュールアーキテクチャを採用し、MCP仕様を実装しており、同期および非同期通信の両方をサポートしています。プロトコルの双方向的・非ブロッキング性を処理するためにReactive Streams(Project Reactor経由)を使用しつつ、シンプルなユースケース向けに同期的なラッパーを提供しています。データ処理にはJacksonを用いてJSONシリアライズを行い、デフォルトのクライアントトランスポートにはJDK HttpClientを使用。サーバーサイドトランスポートにはJakarta Servletを利用しています。

対象ユーザー

AI機能を搭載したアプリケーションを開発するJava開発者で、MCPクライアント(AIサービスを消費するため)またはMCPサーバー(自社のツールやデータをAIモデルに公開するため)を実装する必要がある方々。

特徴

  • 柔軟なプログラミングモデル:高パフォーマンスな非同期要件にはリアクティブストリーミングを、シンプルな用途には同期APIをサポート。
  • モジュール設計:コアロジックとJSONバインディング、トランスポート実装を分離しており、必要なコンポーネントのみを含めることが可能。
  • Spring AI統合:Spring Bootスターター、アノテーションベースのメソッド処理、OAuth 2.0/APIキー認証を含むSDK拡張機能。
  • トランスポート非依存:STDIO、JDK HttpClient、Servletをデフォルトでサポート。NettyやVert.xなどの他の実装にも対応可能。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト