MCP 服务

MCP(Model Context Protocol) 是让 AI 调用外部工具/数据源的通用协议。SparkX 通过 MCP 服务管理,让智能体和工作流能够自由调用任意外部能力,扩展性无上限。

1. 什么是 MCP

MCP(Model Context Protocol)是一套让大模型与外部工具通信的标准协议。你可以把它理解成"AI 世界的 USB 接口":

  • 一个 MCP Server(MCP 服务端)对外暴露若干个工具(Tool)
  • SparkX 作为 MCP Client(客户端)连接到 MCP Server,自动发现它有哪些工具
  • 智能体/工作流在需要时,就能调用这些工具(查天气、查订单、发邮件、调内部 API……)
SparkX 智能体 ──调用工具──► MCP Server(外部)──执行──► 返回结果
                (MCP 协议)

💡 有了 MCP,你不用改 SparkX 任何代码,只要部署/配置一个 MCP Server,智能体就自动多了一项能力。

2. MCP 服务能干什么

能力 说明
🔌 无限扩展 任何能写成 MCP Server 的能力都能接入(数据库、内部系统、第三方 API、本地脚本……)
🔗 接入意图树 MCP 工具可挂到智能体的意图树上,按意图路由调用
🧩 融入 RAG 管线 在 MIXED 场景下,模型可同时用检索结果 + MCP 工具
🔄 自动发现工具 连接 MCP Server 后,SparkX 自动拉取它的工具清单(工具数、参数定义)

3. MCP 服务列表

进入「AI 配置 → MCP 服务」菜单,看到所有已配置的 MCP 服务卡片:

MCP服务列表

每个卡片展示:

信息 说明
传输类型 SSE / HTTP Streamable(标签显示)
启用状态 启用 / 禁用(可点开关切换)
服务名称 自定义名称
地址 MCP Server 的端点 URL
认证 无认证 / API Key / Bearer Token(及是否已配置)
工具 该服务自动发现的工具数量

卡片操作

每个卡片底部有 4 个操作:

操作 说明
编辑 修改服务配置
测试 测试连接,验证配置是否正确(会弹出测试结果)
刷新工具 重新拉取 MCP Server 的工具清单(服务端工具变更后用)
删除 删除该服务(关联的工具快照一并删除,意图树中引用该服务的节点将失效)

⚠️ 删除 MCP 服务前,确认没有智能体/意图树正在引用它的工具,否则相关节点会失效。

4. 新增 / 编辑 MCP 服务

点击「新增服务」或在卡片点「编辑」,右侧弹出配置抽屉:

新增MCP服务

4.1 基本信息

字段 说明
服务名称(必填) 自定义,如「天气查询服务」
描述 服务用途说明(可选)
启用 是否启用该服务

4.2 连接配置

字段 说明
传输类型 当前支持 HTTP Streamable(MCP 标准传输)
服务地址(必填) MCP Server 的端点地址,如 http://localhost:3001/mcp

💡 服务地址要填 MCP Server 的完整端点路径,不是只填到根域名。

4.3 认证配置

三种认证方式可选:

认证类型 说明 额外字段
无认证 MCP Server 不需要鉴权
API Key 通过自定义请求头传 Key 请求头名称(默认 X-API-Key)+ API Key
Bearer Token 通过 Authorization 头传 Token Bearer Token

🔒 安全说明:

  • API Key / Token 在编辑时不会回显(后端脱敏),留空表示保留原值,改动才需重新填写
  • 卡片上的「(已配置)/(未配置)」标记帮你确认密钥状态

4.4 自定义请求头(可选)

如果 MCP Server 需要额外的自定义请求头(如 X-Tenant-Id),可在这里逐行添加:

  • 每行一个 Header(键值对)
  • + 添加请求头 增加行,点 删除

4.5 高级配置

字段 默认值 说明
超时(秒) 30 调用工具的超时时间(1~300)
重试次数 1 调用失败后的重试次数(0~10)
备注 备注(可选)
排序 100 列表排序,数值小者靠前

5. 测试与刷新

5.1 测试连接

配置完(或编辑时)点「测试连接」,会用当前表单参数真实连接一次 MCP Server:

  • 连接成功 → 弹出测试结果,显示发现的工具清单
  • 连接失败 → 提示具体错误(地址不通 / 认证失败 / 超时等),据此排查

💡 建议每次新增/修改服务都先测试,确认能连上再保存。

5.2 刷新工具

当 MCP Server 新增或改动了工具后,点「刷新工具」让 SparkX 重新拉取最新的工具清单。

  • 刷新成功 → 工具数更新,可在意图树/智能体里选用新工具
  • 刷新失败 → 提示错误原因

💡 测试连接和刷新工具都会更新工具快照,区别在于:测试偏重"验证能不能连",刷新偏重"同步最新工具列表"。

6. MCP 工具如何被使用

配置好 MCP 服务后,它的工具通过两条路径被智能体使用:

路径一:意图树路由(主路径)

在智能体的意图树配置里,把某个 MCP 工具挂到对应意图节点上。用户提问命中该意图时,智能体调用这个工具:

用户提问 → 意图分类 → 命中"查天气"意图 → 调用天气 MCP 工具 → 返回结果

路径二:工作流节点

在工作流编排里,通过 LLM 节点的提示词编排,让模型在 MIXED 场景下自主决定是否调用 MCP 工具(对应 PromptPlanner 的 MCP_ONLY / MIXED 场景路由)。

💡 这两条路径对应 README 里提到的 mcp/ 模块:McpToolRegistry(注册中心)+ McpToolService(执行器)+ McpClientManager(客户端管理)。

7. 配置速查表

配置项 默认值 说明
服务名称 自定义(必填)
传输类型 HTTP Streamable MCP 标准传输
服务地址 MCP Server 端点(必填)
认证类型 无认证 无 / API Key / Bearer Token
超时(秒) 30 1~300
重试次数 1 0~10
排序 100 小者靠前

8. 注意事项

  • ⚠️ 服务地址要填完整端点路径(如 http://localhost:3001/mcp),不要只填域名
  • ⚠️ API Key / Token 编辑时不回显,留空即保留原值;只有想更换时才重新填
  • ⚠️ 删除 MCP 服务会让引用它的意图节点失效,删除前务必确认
  • ⚠️ MCP Server 端工具变更后,记得点「刷新工具」同步,否则用的还是旧工具快照
  • 💡 生产环境建议给 MCP Server 配上认证(API Key / Bearer Token),避免裸奔
  • 💡 如果连接不稳定,适当调大「超时」和「重试次数」
知识星球
🌟 加入知识星球
解锁源码与设计详解
知识星球二维码 了解详情