MCP Toolbox Java SDK v1.0:企业级智能体数据访问

Google 宣布 MCP Toolbox Java SDK 正式发布 v1.0。这个版本把类型安全的 agent 编排能力带到企业 Java 生态,面向高并发、事务完整性和状态管理要求苛刻的生产环境。

MCP 要解决的核心问题是集成碎片化。当你有 N 个 AI 模型和 M 个企业数据源时,就需要构建和维护 N×M 条定制连接。MCP 作为统一协议层,像 USB Type-C 一样解耦模型与数据源,让任何符合 MCP 的 agent 都能通过同一套协议访问已接入的系统,省去为每个新模型或数据库单独写集成代码。

v1.0 相比 v0.2 新增了一批面向生产的功能。传输层抽象与 HttpMcpTransport 把核心协议逻辑与底层 HTTP 客户端解耦,方便替换网络实现或自定义连接池。客户端认证通过 CredentialsProvider 和 AuthMethods 解耦,每次请求异步解析凭证,支持动态刷新 token 或接入自己的 token 来源;Google OIDC via ADC 开箱即用。工具参数支持默认值,降低 prompt 载荷。服务端绑定的敏感参数(如 tenant_id)会自动从暴露的工具定义中剥离,防止 LLM 篡改。MCP 版本选择和会话跟踪被标准化,确保协议协商和会话生命周期一致。内置 HTTP 凭证暴露警告,在凭证即将通过明文 HTTP 传输时发出运行时提示。通用请求头 map 可附加企业代理头、事务追踪 ID 等元数据。

文章用虚构的 Cymbal Transit 公司展示了端到端实现。用户提出自然语言需求后,agent 需要同时关联宠物政策这样的非结构化数据、时刻表和座位这样的结构化数据,并完成订票事务,还要记住多轮对话上下文。数据库采用 AlloyDB,原生支持关系数据和高维向量。tools.yaml 把自然语言意图映射为参数化安全查询,避免 LLM 直接接触数据库。在 Spring Boot 应用中,@MemoryId 注解把对话历史绑定到 HTTP Session,LangChain4j 负责 schema 转换和工具路由,省去手写 if/else 意图解析。远程 MCP 数据库工具被包装成原生 Java 方法。

安全方面,GoogleCredentialsProvider 让应用通过 ADC 从执行环境继承身份,不需要硬编码密钥,OIDC token 按 audience 自动铸造和缓存。v1.0 还会在明文 HTTP 传输凭证时告警。由于 MCP Toolbox 与 Spring Boot Agent 完全解耦,两者可以在 Cloud Run 上独立扩缩容,分别应对高并发和有状态会话需求。

要上手,只需在 pom.xml 添加 SDK 依赖,并保留 x-version-update 注释,供发布脚本自动升级版本。

Announcing MCP Toolbox Java SDK v1.0: Agentic data access for the enterprise

查看原文