作为打工人,你肯定遇到过这种场景:
- 老板扔过来一个”全员AI转型”的KPI 📈
- 但你们公司的核心业务全都是Java写的…
- 几百个Jakarta EE服务,跑得好好的
- 难道要为了接AI agent,把系统全部重写成Python??
😭 重写要多久?两年?三年?
⚠️ 风险多大?业务中断、数据迁移、测试..
💸 成本多少?招人、培训、重构…
停停停!🚫 根本不需要!
Open Liberty有个beta功能叫
mcpServer-1.0
只需要加两个注解,你的现有服务立马变身AI工具!
✅ 不用改业务逻辑
✅ 不用重建安全体系
✅ 不用新部署一套Python中间件
🤔 什么是MCP?为啥它很重要?
MCP = Model Context Protocol(模型上下文协议)
简单说:AI agent调用外部系统的标准接口
现在市面上的MCP生态基本都是Python在玩
LangChain、Anthropic SDK…全是Python的天下
Java开发者表示:我太难了 🥲
但IBM Open Liberty的新feature直接破局! 🔥
🏗️ 架构超简单,一看就懂
AI Agent (Claude/GPT等)
↓
MCP端点 /myapp/mcp
↓
Open Liberty服务器(你们已经在用的)
↓
@Tool注解的方法(新增,约10行代码)
↓
你们现有的CDI服务(完全不用动!)
安全层?✅ 自动的
LDAP集成?✅ 原生支持
LTPA token?✅ 开箱即用
SSO单点登录?✅ 拿来即用
🚀 三步上手,真的巨简单!
第一步:开启功能
在你的 server.xml 里加一行:
<featureManager>
<feature>microProfile-7.0</feature>
<feature>jakartaee-10.0</feature>
<feature>mcpServer-1.0</feature> <!-- 就加这行! -->
</featureManager>
搞定!MCP端点自动生成:http://你的地址:端口/应用名/mcp
⚠️ 注意:mcpServer-1.0 目前是beta状态
第二步:写个工具类
假设你现有的服务长这样:
@ApplicationScoped
public class InventoryService {
public Product findProduct(String sku) { /* 你原来的代码 */ }
public List<Order> getOrderHistory(String customerId) { /* 你原来的代码 */ }
}
完全不用动它! 另外写一个工具类:
@ApplicationScoped
public class InventoryMcpTools {
@Inject
private InventoryService inventoryService; // 注入现有服务
@Tool(
name = "lookupProduct",
title = "商品查询",
description = "查询商品的库存、价格和描述。当用户问商品信息时用这个。"
)
public String lookupProduct(
@ToolArg(name = "sku", description = "商品编码") String sku) {
Product p = inventoryService.findProduct(sku);
return p != null ? p.toJson() : "找不到商品";
}
}
就这!两个注解:@Tool 和 @ToolArg
AI就能调用你的Java服务了!🎉
第三步:安全?现成的!
你们现有的LDAP、SSO、LTPA…
统统不用动,MCP自动继承!
<security-constraint>
<web-resource-name>MCP端点</web-resource-name>
<url-pattern>/mcp/*</url-pattern>
<auth-constraint>
<role-name>ai-agent-role</role-name>
</auth-constraint>
</security-constraint>
你们的权限体系直接复用
审计日志?自动进现有的SIEM!📊
💡 Python方案 vs Open Liberty方案
| 对比项 | Python中间件方案 | Open Liberty MCP |
|---|---|---|
| 需要新部署运行时吗 | ❌ 要部署Python服务 | ✅ 现有WLP直接用 |
| 安全要重新做吗 | ❌ 要在Python里重写 | ✅ 继承现有配置 |
| LDAP/SSO支持 | ❌ 要自己集成 | ✅ 原生支持 |
| 审计日志 | ❌ 单独的日志流 | ✅ 统一审计 |
| 业务层调用 | ❌ 跨网络REST调用 | ✅ 同JVM直接注入 |
| 部署复杂度 | ⚠️ 两套运行时 | ✅ 一个WAR搞定 |
📅 CIO视角的落地路径
如果是200个Liberty服务的企业:
| 时间 | 任务 |
|---|---|
| 第1-2周 | 在试点服务启用 mcpServer-1.0,加3-5个高价值工具 |
| 第3-4周 | 接入内部AI agent,验证LDAP和LTPA权限控制 |
| 第2个月后 | 逐步推广到其他服务,各团队按自己的节奏来 |
不是重写项目,是功能迭代! ✨
🧪 怎么测试?
用MCP Inspector验证工具注册:
npx @modelcontextprotocol/inspector
指向 http://localhost:9080/你的应用/mcp
就能看到AI能调用的所有工具啦!
📝 总结一下
Open Liberty的MCP Server功能,对Java企业开发者来说真的yyds:
- ✅ 两个注解 暴露MCP工具
- ✅ 现有服务不用动 包装器模式
- ✅ 安全继承 不用重建RBAC/LDAP/SSO
- ✅ 一个运行时 还是你们熟悉的WLP
对于要搞AI转型的CIO们:
你们家的Java系统不是技术债务 🙅♂️
它们是最快的AI落地路径! 🚀
那些AI转型最快的企业
不是重写一切的,而是解锁已有能力的!
🔗 相关链接
⚠️ 注意:mcpServer-1.0 目前是beta状态
想要啥新功能,去GitHub提issue 👉
- OpenLiberty/open-liberty Issues
- 示例项目:liberty-mcp-server
- Integrate your Liberty app with agentic AI using MCP server
- Model Context Protocol Server 1.0 updates and more in 26.0.0.2-beta
- Log Throttling and Model Context Protocol Server 1.0 updates in 26.0.0.1-beta
#OpenLiberty #MCP #Java #企业级开发 #AI #JakartaEE #程序员 #技术分享 #企业AI