modelcontextprotocol/java-sdk

开发工具

让 JVM 应用通过 MCP 标准协议向 AI 模型暴露工具,或调用外部工具,而不必自建适配层。

3,742
1,115
Java
MIT
上线 1 年

如果你在 Java 服务里为了让 AI 助手调用内部函数而手写 JSON 适配层,这个官方 SDK 用一份维护中的 MCP 实现替换那层胶水代码。真正要判断的不是 MCP 是否值得关注,而是现有 Spring 或纯 Java 技术栈能否再吸收一个协议依赖。

解决什么问题

一个 Java 服务通常只想做一件事:让 AI 客户端发现并调用一组定义好的操作,比如查数据库、调内部 API,而不是为每个集成都手写传输、参数模式和会话层。在这个 SDK 之前,这意味着自己搭 JSON-RPC 管道、决定同步还是异步行为、再发明一套能力发现机制。现在服务端注册能力、客户端协商能力都走协议,SDK 文档也说明支持同步与异步两种模式。结果是 Java 进程可以作为一个标准 MCP 服务端或客户端存在,而不是一次性集成。

有什么不同

这是官方 SDK,与 Spring AI 合作维护,这个关系直接影响了设计。如果项目已经在用 Spring Boot,Spring AI MCP starter 提供客户端与服务端的 Boot 集成,以及基于注解的方法处理,暴露工具可以是声明式的,不必手写。仓库还公布了对 MCP 一致性测试套件 0.1.15 版本的验证结果:服务端 40/40 全部通过,客户端则是 3/4 场景、9/10 项检查通过。这个差异是采用时要权衡的重点:服务端路径目前公开的验证证据比客户端路径更完整。

SDK 要求 Java 17+,通过 Maven Central 和 BOM 发布,不引入新的运行时。但从源码构建和测试需要预装 Docker 和 npx,因为测试会启动外部进程;这项成本主要落在贡献者和跑完整测试的 CI 上,不只是使用发布产物的调用方。README 摘录没有展开全部传输与生命周期细节,真正集成时应以 SDK 文档 为准。

谁值得试

适合:已经在用 Java 或 Spring Boot、内部有一批工具或数据服务,希望 AI 客户端按标准协议发现并调用它们的团队,尤其是能用注解式 Spring 接线减少样板代码的情况。同一代码库同时需要客户端和服务端角色的项目也适合。

不适合:仍在 Java 17 以下的团队,或者希望构建与测试工具链完全不依赖 Docker 和 npx 的团队。如果集成计划高度依赖客户端场景端到端可用,应先看已公布的一致性结果,而不是默认客户端与服务端同等成熟。非 JVM 团队在这里没有收益。

使用条件与边界

需要 Java 17 或更高版本。依赖从 Maven Central 获取并提供 BOM,便于对齐各模块版本。源码构建和测试流程需要预装 Docker 与 npx,这更多影响 CI 设计和贡献者上手,而不是库的使用者。客户端一致性套件尚未全部通过(3/4 场景、9/10 项检查),且项目较新(创建于 2025 年 1 月),应以实际依赖的版本核对 API 与协议对齐情况。README 摘录有截断,传输方式和生产环境生命周期建议应在正式投入前到链接文档中确认。

HotRepo 点评

HotRepo 自 2026-10-24 起跟踪该仓库,仅有 2 个记录日期,无法判断趋势方向。唯一具体信号是 2026-10-25 的 java 周榜第 5 名、本周 +18 星。采用前值得核对:所选 SDK 版本对应哪一版一致性套件和 Java 基线,以及客户端一致性缺口是否影响你的集成计划。

本文由 AI 根据项目 README 生成,更新于 2026年10月25日,以项目官方文档为准。