MCP服务
MCP服务节点是工作流中实现第三方能力调用的核心组件之一,允许工作流通过调用MCP服务来执行特定功能任务。
MCP服务与插件的关系:两者都是为工作流引入外部能力的方式。插件采用平台定义的封装规范,开发者可将外部API或自定义函数封装为插件使用;MCP服务则基于业界标准协议,能够接入更广泛的第三方工具生态。在功能上两者互补,开发者可根据实际需求选择使用。
| 维度 | MCP节点 | 插件节点 |
|---|---|---|
| 协议标准 | 基于MCP开放协议标准(业界通用) | 基于平台自定义封装规范 |
| 生态范围 | 可接入开源社区、第三方市场的广泛MCP工具生态 | 平台预置插件 + 开发者自建插件 |
| 配置方式 | 安装MCP服务后直接使用,工具参数自动导入 | 需配置输入输出参数映射和请求头 |
| 适用场景 | 需要快速接入开源社区MCP工具、标准化协议对接 | 需要封装企业内部API |
选型建议:
- 如果你需要使用开源社区的现成MCP工具(如联网搜索、文件操作等),推荐使用MCP服务。
- 如果你需要封装企业内部RESTful API或自定义函数逻辑,推荐使用插件。
- 如果MCP和插件都能满足需求,优先选择MCP服务,可复用更广泛的生态资源。
MCP服务节点的执行原理:MCP节点执行时,平台会根据MCP服务的协议配置,将输入参数按MCP协议规范组装请求并发送给MCP服务端,等待MCP服务端处理完成后,将返回数据映射为输出参数传递给下游节点。
数据流转过程:上游节点输出 → 输入参数映射 → 平台按MCP协议发起调用 → MCP服务端处理并返回 → 输出参数映射 → 下游节点获取
添加节点
平台支持三类MCP创建方式,均支持在平台内便捷配置调用,详细MCP介绍请参考MCP介绍:
| 接入方式 | 说明 | 获取方式 | 选型建议 |
|---|---|---|---|
| 平台精选MCP | 平台官方上架到资产广场的标准化服务。 | 资产广场一键获取,免去自主托管与底层代码开发。接入方法请参考基于模板创建MCP。 | 若需调用通用成熟工具(如Bing联网搜索等),推荐优先选择平台精选MCP,极速接入。 |
| 自定义接入MCP | 支持自主接入开源社区或自行开发的标准服务(自定义创建)。 | 在平台内通过提供MCP服务端运行地址完成接入,接入方法请参考自定义接入MCP。 | 当精选库无法满足业务,且您拥有自研或开源社区中基于MCP协议托管的工具时推荐使用。 |
| 从第三方安装MCP | 支持引入第三方伙伴或云商店提供的商业化服务。 | 订阅华为云ROMA Connect或云商店服务,接入方法请参考使用第三方服务安装MCP。 | 适用于企业内部系统集成或需要采购外部专业商业化领域工具时推荐选择。 |
使用MCP服务调用外部工具时,可能产生第三方服务的调用费用,该费用由第三方服务方收取,与平台费用无关。特别是从第三方安装的MCP服务(如开源社区的MCP服务),可能存在订阅费用或按调用次数计费,请在安装前确认费用规则。
配置MCP服务节点
参数只读限制:MCP服务节点的输入/输出参数完全由所选工具元信息动态生成,在工作流节点内为只读状态,不支持直接在工作流中修改参数名或添加参数项。
配置MCP节点的详细参数说明如下:
工具
如果MCP内包含多个工具,可以选择所需的工具进行使用。
如果当前接入的MCP服务内包含多个子工具,可以在下拉列表中选择本次节点需要执行的具体工具。选择后,输入参数会自动切换为该工具定义的参数结构。选择不同的工具后,输入参数会自动切换为该工具定义的参数结构。如果之前已配置了输入参数的引用或固定值,切换工具后需要重新配置,否则可能导致参数缺失或类型不匹配。
输入参数
为MCP所需的入参指定数据来源。输入参数的名称和类型从MCP服务元信息中自动导入,无需手动添加。选择不同的工具后,输入参数会自动切换为该工具定义的参数结构。
每个输入参数需要指定数据来源,支持两种方式:
- 引用:支持用户选择工作流中已包含的前置节点的输出变量值和全局配置中的记忆变量。前置节点为开始节点时,可以引用其输入参数。
- 输入:支持用户输入固定值。
当输入参数选择“引用”方式时,所引用的上游节点输出变量的类型必须与MCP服务定义的输入参数类型一致或兼容,否则可能导致节点运行报错或数据解析异常。
输出参数
定义节点运行完毕后向下游传递的数据。输出参数的所有信息从MCP服务元信息中自动导入,无需手动修改。MCP节点运行时会调用工具处理输入参数,并返回处理后的数据供下游节点使用。
异常处理
支持对节点的异常(如超时、调用失败等情况)进行处理,包括超时时间、重试次数、异常处理方式。
- “超时时间”:支持用户配置超时时间,取值范围0.1~900,默认900s。
- “重试次数”:支持配置重试次数(不重试、重试1次、重试2次、重试3次),系统默认不重试。
- “异常处理方式”:配置异常处理方式。
- 中断流程:节点发生异常后,直接中断流程,不再运行后续节点。
- 返回设定内容:节点发生异常后,工作流不会中断,用户可自定义设置需要返回的输出字段内容,必须是输出参数中已定义的字段,且格式为合法的JSON格式。
- 执行异常流程:节点发生异常后,工作流不会中断,而是会执行异常处理流程。用户可以在该运行异常的节点后新增节点,并为新增的异常分支配置相应的处理流程。
配置示例
本示例使用预置的Bing MCP搭建具备联网搜索功能的工作流。用户提问问题后,会先经过Bing MCP进行搜索,再由大模型进行答案总结。
- 添加MCP服务
在工作流编辑页面添加MCP服务节点,如果之前已经安装过Bing MCP,可以直接选择该MCP。如果先前未安装,选择“空白创建”,按照页面提示创建Bing MCP,该MCP无需鉴权,可以直接安装使用。
图3 添加MCP服务
- 变量引用
- 依次连接开始节点、Bing MCP节点、大模型节点、结束节点。
- Bing MCP节点引用开始节点的输入,大模型节点的输入参数引用Bing MCP的输出参数,结束节点引用大模型节点的输出。
图4 配置节点变量引用
相关操作
- 单击节点名称,可修改节点名称。
- 单击
图标,可对节点进行重命名、复制、删除或更换节点;也可以将节点连接到结束节点。 - 单击
图标,可对节点进行测试。 - 单击名称下面的节点说明,可修改节点的描述信息。
- 单击
图标,可查看文档信息。
常见问题
- MCP安装失败
如果MCP安装失败,多数原因是MCP本身的问题,如开源社区的MCP维护不及时或后端服务失效。遇到安装失败的情况,请尝试更换MCP来源。
- 引用上游变量后,节点运行报错“参数类型不匹配”
上游输出类型与MCP工具要求类型不一致;MCP中如果包含多个工具,选择工具后参数类型会发生变化,需要重新配置参数变量。
- MCP鉴权配置失败如何排查
1. 确认鉴权参数(如API Key、Token)是否正确且未过期;2. 确认鉴权参数的格式是否符合MCP服务要求(如是否需要加Bearer前缀);3. 确认MCP服务端是否正常运行且网络可达;4. 如果是从第三方安装的MCP,确认订阅状态是否有效。
- MCP服务调用超时如何处理
检查网络连通性和MCP服务端的响应速度。如果MCP服务确实需要较长响应时间,可在异常处理中将超时时间调大(最大900秒)。如果超时频繁发生,建议检查MCP服务端是否存在性能问题,或考虑更换MCP来源。