新鲜的行业动态和技术资讯

新闻资讯

【数字前沿】把Teamcenter能力交给AI Agent:Spring AI下MCP服务的落地路径!


发布时间:

2026-09-17

下面以Teamcenter为例,介绍如何用Spring AI把Teamcenter SOA接口封装成MCP Server,并通过MCP Inspector与Agent完成端到端验证。

在制造业,Teamcenter里沉淀着Item、BOM、流程、变更等核心数据。AI模型能读文档、写报告,但要为工程师在PLM里建一个Item,还需要跨越最后一公里:把自然语言需求变成对Teamcenter SOA的对应调用。

 

MCP(Model Context Protocol,模型上下文协议)正是为了解决这个断层而来。它给大模型和外部系统之间约定了一套通用对话规则,让各类Agent都能以标准化方式调用企业已有的PLM能力。

 

下面以Teamcenter为例,介绍如何用Spring AI把Teamcenter SOA接口封装成MCP Server,并通过MCP Inspector与Agent完成端到端验证。无需推翻现有系统,只需为现有能力加一层标准协议,即可让AI开始完成实际的PLM操作。

 

01 MCP是什么?解决了什么问题?

MCP由Anthropic提出并开源,是一种让大语言模型与外部工具、数据源、企业系统通信的开放协议。

 

在没有MCP之前,每接入一个新工具,开发团队都要为模型写专属适配代码,重复造轮子、信息孤岛、维护成本高。MCP把每个工具一套方言变成一套通用协议:模型按统一格式输出tool_call,MCP Client找到对应Server,Server调用外部系统,返回结果再交给模型继续推理。这样,Teamcenter的能力就可以被多种支持MCP的Agent复用。

图1 MCP工具调用链路:模型输出tool_call → 工具分发 → MCP Client → Server → 外部系统执行 → 结果返回 → 模型继续推理

 

MCP Server支持多种开发语言,如Python、Node.js、Go、Java、C/C++等。传输协议分两类:stdio和HTTP。stdio为本地子进程,适合本机工具、本地文件系统、低延迟场景;HTTP为远程端点,Agent通过URL连接,适合企业内部API、跨网络共享、云端MCP平台。本例使用Spring Boot + Spring AI构建HTTP协议的MCP Server。

 

02 用Spring AI编写TC MCP Server(HTTP)

2.1 准备一个工程项目

项目结构如图2所示。主工程为TcMCPServer,核心包为com.kd.tc.TcMCPServer,包含启动类TcMcpServerApplication、工具类TcTool,以及service、utils、resources/application.yaml等。

 

图2 TcMCPServer项目结构

 

2.2 引入依赖

在pom.xml中指定Spring AI版本并导入BOM,即可统一管理相关依赖:

<properties>

       <java.version>21</java.version> 

      <spring-ai.version>2.0.0</spring-ai.version>

</properties>    

<dependencyManagement>

       <dependencies>

          <dependency>

             <groupId>org.springframework.ai</groupId>

             <artifactId>spring-ai-bom</artifactId>

             <version>${spring-ai.version}</version>

             <type>pom</type>

             <scope>import</scope>

          </dependency>

       </dependencies>

    </dependencyManagement>

 

2.3 编写Tool

核心逻辑在TcTool中。用@Service标注,方法用@Tool暴露为可调用的MCP工具。getHelp用于介绍服务能力,createItem接收Item Type和Item Name,登录Teamcenter后完成对象创建。

@Service

public class TcTool {@Tool(name = "getHelp" , description = "介绍tc的mcp服务有什么方法")

    public  String getHelp() {

        return "tc的mcp服务包含创建对象和搭建bom两个函数";    }

    @Tool(name = "createItem" ,description = "在TC系统中创建一个对象数据")

    public String createItem(@ToolParam(description = "TC系统中的的Item Type") String type

 ,@ToolParam(description = "需要创建的Item Name") String itemName){

      String uuid = UUID.randomUUID().toString();

      AppXSession session = new AppXSession(tcUrl,tcUser,tcPassword,uuid);

      session.login();

      Connection tcConn = session.getConnection();

      if(tcConn==null) {

        return "登录tc系统失败";

      }


  //编写业务逻辑


     return 返回结果给Agent;

    }

}

 

2.4 注册Tool并启动

在启动类中通过MethodToolCallbackProvider把TcTool注册为MCP工具。可以注册多个Tool,但工具名称不能重复。

@SpringBootApplication

public class TcMcpServerApplication {

    public static void main(String[] args) {

       SpringApplication.run(TcMcpServerApplication.class, args);

    }

    //注册tool

    @Bean

    public ToolCallbackProvider tcTools(TcTool tcTool) {

       return MethodToolCallbackProvider.builder()

             .toolObjects(tcTool)

             .build();    }}

 

2.5 配置application.yaml

关键配置包括启用MCP Server、使用STATELESS streamable HTTP方式、指定服务后缀/mcp,以及声明具备的tool、resource、prompt、completion等能力。

server:

  port: 8099

spring:

  application:

    name: TcMCPServer

  main:

    # 关闭启动时的 Spring Banner 打印

    banner-mode: off

  ai:

    mcp:

      server:

        name: ${spring.application.name}

        version: 0.0.1

        enabled: true  # 启动MCP Server

        type: sync

        protocol: STATELESS  # 使用Stateless streamable HTTP方式

        instructions: "这是一个TC soa 的接口服务"

        annotation-scanner:

          enabled: false  # 启动注解扫描,用于扫描@McpTool注解

        streamable-http:

          mcp-endpoint: /mcp #服务后的后缀 如:http://IP:8099/mcp

        capabilities:

          tool: true  # 说明该MCP Server提供tool能力

          resource: true  # 启用资源读取能力

          prompt: true    # 启用提示词模板能力

          completion: true # 启用自动补全能力

 

03 测试验证

3.1 用MCP Inspector调试

服务启动后,执行npx @modelcontextprotocol/inspector打开MCP Inspector。选择Transport Type为Streamable HTTP,填写URL http://localhost:8099/mcp,连接成功后进入Tools标签页,点击List Tools即可看到getHelp和createItem。选择createItem,输入type和itemName,点击Run Tool即可调用TC创建对象。

图3 MCP Inspector中配置HTTP连接并调用createItem工具

 

Inspector返回成功结果,同时可在服务控制台看到Teamcenter登录与对象创建日志。

图4 createItem调用成功,TC对象已创建

 

3.2 在Agent中接入

将MCP Server地址配置到Agent的mcp.json中,支持stdio与HTTP两种模式。本例使用HTTP方式,配置url即可。

图5 Agent配置文件mcp.json中的stdio与HTTP接入方式

 

配置完成后,向Agent发出自然语言指令,例如:帮我创建一个类型为Item、名称为test02的数据。Agent会自动解析意图,调用createItem工具,完成Teamcenter对象创建,并在Teamcenter客户端中实时可见。

图6 Agent通过自然语言调用MCP工具,在Teamcenter中完成对象创建

 

04 能做什么、下一步怎么走

通过MCP把Teamcenter SOA能力封装为工具后,工程师可以用自然语言创建Item、搭建BOM、查询属性;在Agent工作流中串联多个Teamcenter操作,减少在PLM界面与文档之间反复切换;能力一次封装、多处复用,不同Agent和客户端都能调用。

 

下一步可在此基础上扩展:增加BOM构建、流程状态变更、权限校验、结果脱敏与错误处理、与企业知识库结合等。MCP解决的是连通问题,价值核心在于让PLM数据与Agent推理形成闭环,把AI从问答助手变成能执行业务动作的智能协作者。

关键词:

PLM | ALM | iMerge | NX | MOM | Simcenter

【数字前沿】把Teamcenter能力交给AI Agent:Spring AI下MCP服务的落地路径!

下面以Teamcenter为例,介绍如何用Spring AI把Teamcenter SOA接口封装成MCP Server,并通过MCP Inspector与Agent完成端到端验证。

2026-09-17

【数字前沿】Plant Simulation × NVIDIA Omniverse:工厂仿真迈入 3D 高保真与元宇宙新阶段!

随着西门子与 NVIDIA 的技术合作不断深化,Plant Simulation 在保留 2D 仿真能力的同时,也搭建起通往 3D 高保真场景的桥梁。

2026-09-11

【问题集锦】告别重复录入:把 Project 计划直接搬进 PLM!

本期内容聚焦“通过project将项目计划导入PLM”问题解决,归纳了用户常见的操作困扰并给出对应解决思路,希望能为您的日常工作提供切实帮助。

2026-09-09