作为打工人,你肯定遇到过这种场景:

  • 老板扔过来一个”全员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 #MCP #Java #企业级开发 #AI #JakartaEE #程序员 #技术分享 #企业AI