modelcontextprotocol/java-sdk
The official Java SDK for Model Context Protocol servers and clients. Maintained in collaboration with Spring AI
解决的问题
提供一种标准化的方式,让 Java 应用程序能够集成 Model Context Protocol (MCP),从而通过一致的接口与 AI 模型和工具进行交互。这消除了开发者为每个不同的 AI 工具或模型连接而构建自定义集成逻辑的需要。
工作原理
SDK 使用模块化架构实现 MCP 规范,支持同步和异步通信。它使用 Reactive Streams(通过 Project Reactor)来处理协议的双向、非阻塞特性,同时为简单用例提供同步封装。在数据处理方面,使用 Jackson 进行 JSON 序列化,使用 JDK HttpClient 作为默认客户端传输,同时使用 Jakarta Servlet 实现服务端传输。
适用人群
需要实现 MCP 客户端(消费 AI 服务)或 MCP 服务器(向 AI 模型暴露自身工具和数据)的 Java 开发者,用于构建 AI 驱动的应用程序。
主要亮点
- 灵活的编程模型:支持反应式流以满足高性能异步需求,同时提供同步 API 以简化使用。
- 模块化设计:将核心逻辑与 JSON 绑定和传输实现分离,允许开发者仅包含必要的组件。
- 与 Spring AI 集成:通过 Spring Boot 启动器、基于注解的方法处理以及 OAuth 2.0/API 密钥安全机制扩展 SDK 功能。
- 传输无关性:默认支持 STDIO、JDK HttpClient 和 Servlet,但对其他实现(如 Netty 或 Vert.x)保持开放。
相关
- 项目
- 项目
- 项目
- 项目
- 项目