背景
MaxKB 工作流中有两个组件可以调用 MCP,一个是 “MCP 调用”组件,一个是 “AI 对话” 节点。
“MCP 调用”组件需要指定 MCP 中的具体方法并设置参数来源, “AI 对话节点”组件由当前节点选择的模型自主选择方法和参数。
两种方式各有优劣,下面以高德地图 MCP 调用为示例说明两种方式的具体用法和效果。
MCP 调用组件
调用单参数方法
“maps_ip_location” 方法会根据用户输入的 IP 地址,定位 IP 的所在位置。
在工作流中添加 “MCP调用” 组件,输入高德地图 MCP 配置后,点击 “获取工具”,并选择 “maps_ip_location” 方法,设置 “ip” 参数引用用户问题,并通过 “指定回复” 将结果打印出来。
测试效果:输入 IP 地址 “150.139.134.253”,最终返回了该 IP 的位置信息
调用多参数方法
“maps_text_search” 方法会根据用户输入的关键字进行 POI 搜索,并返回相关的信息,入参参数包括 “city”、“keywords” 等,如果需要从用户问题中提取对应参数值,则需要使用多个 “AI 对话节点” 或函数将对应的参数提取出来做为 “MCP 调用” 组件的引用参数,参考工作流如下:
测试效果:输入“深圳有哪些猪脚饭”,最终返回了深圳的猪脚饭饭店列表
AI 对话组件
开启 “AI 对话” 组件的 “MCP”,并配置高德地图 MCP 服务即可使用,前提是节点选择的模型本身具备调用 MCP 的能力,例如腾讯云 deepseek-r1。
测试效果:输入 “从长沙到深圳的路线规划”,模型会结合 MCP 自主选择需要调用的方法链完成路线规划
效果对比
维度 | MCP 调用组件 | AI 对话调用组件 |
---|---|---|
配置方式 | 必须显式选择固定方法,手动设置参数引用 | 无需指定方法与参数,模型自动推理 |
参数处理 | 多参数需额外节点提取关键参数,流程复杂 | 模型自动提取并生成所需参数 |
多方法链式调用 | 每调用一次方法需新增一个 MCP 节点,配置繁琐 | 单次对话即可完成多方法链式调用 |
单参数单任务 | 配置简单,无需模型介入,执行速度快 | 仍需模型推理,耗时相对较长 |
多任务/复杂场景 | 需要多个节点与流程组合,维护成本高 | 模型统一调度,灵活适配多任务 |
适用场景 | 单参数、单任务、对延迟敏感的场景 | 多任务智能体、复杂推理、灵活多变的场景 |
主要优点 | 配置简单(单参数场景)、执行速度快 | 智能灵活、无需手动配置、易扩展 |
主要缺点 | 多参数/多任务时配置复杂、节点膨胀 | 需模型推理,响应时间更长 |
综上所述,“MCP 调用” 组件与 AI 对话调用组件在配置复杂度、执行效率及适用场景方面存在显著差异:
-
当业务场景明确、参数单一且对响应延迟高度敏感时,“MCP 调用” 组件以其“零模型推理、配置即运行”的特性,能够实现极简且高效的任务执行;
-
当业务流程存在多参数、多步骤或需根据上下文动态决策时,“AI 对话” 调用组件凭借模型的推理能力,可在单一节点内完成复杂链式调用与多任务协调,显著降低维护成本并提升系统灵活性。