当前位置: 首页 > news >正文

学习笔记 | 如何将MaxKB应用对外发布为MCP服务?

最近,我们注意到一些技术团队开始探讨MaxKB是否支持以MCP(Model Context Protocol,模型上下文协议)的方式对外提供服务。这一需求的背景非常明确:随着企业中多个AI智能体(例如客服、财务、运维、人事等)陆续部署,大家越来越需要一个能够统一调度、动态响应的入口。

传统做法是预先固化工作流,然后在MaxKB应用的高级编排中通过逻辑判断调用任意一个智能体。这样的做法不仅灵活性低,面对以下几类实际需求时也会显得力不从心:

■业务需求变更频繁:业务规则、制度、流程经常调整,固定流程无法实时适配;

■ 上下文动态组合:用户单次提出的问题可能涉及多个领域,例如“帮我订一张去北京的高铁票,并确认差旅标准”。这一场景需要同时调用财务、差旅和OA三个智能体,传统的编排方式必须提前穷举所有组合,使得工作流体量膨胀,同时缺乏扩展性;

■ 智能体动态上下线:每新增或下线一个智能体时,必须修改整个工作流的编排逻辑;

■ 用户意图变化:对话中用户随时追加约束或修改条件时,传统节点难以回溯,引入工作流上下文又容易导致Token大量消耗与大模型幻觉增加;

■ 智能体能力无法协同:无法让各个智能体在运行时互相调用和配合。

一、解决方案

MaxKB应用启用API KEY后,利用对外提供的API接口,将其封装为标准MCP Tool。每个应用的配置、功能与工具描述可以作为部署变量动态提供给大模型上下文,从而实现针对不同应用分别部署独立的MCP服务。

此方案目前已实现功能包括:

■ 符合标准的MCP Tool接口,可以被Claude Desktop、Cursor、Dify、LangChain等客户端直接调用;

■ 支持流式传输(streamable_http)。

基于上述功能,将MaxKB应用发布为MCP服务后再接入到业务系统智能体,可以带来以下优势:

■ 零编排调用:支持MaxKB以及Claude、Cursor、Dify、LangChain等MCP兼容客户端在对话过程中动态识别和调用MaxKB工具,无需预定义流程;

■ 即插即用:新增/下线应用仅需调整MCP配置,无需重构整体工作流;

■ 多智能体并行处理:用户单次查询可以同时触发多个MaxKB应用的MCP Tool(例如财务+人事+运维),结果自动汇总返回;

■ 用户问题动态调整:通过大模型提示词,在用户的问题无法回答或者检索不到内容时,让AI动态调整用户问题(比如当用户提问“如何报销差旅”没有检索到答案时,可以让AI尝试改写用户问题为“出差发票如何申请报销”),然后调用MCP应用查询。

二、实现方法

1.适用于MaxKB V1版本

已经打包好镜像,下载后可直接运行:

下载链接:

https://f2c-east-1258036468.cos.ap-shanghai.myqcloud.com/MaxKB%E5%BA%94%E7%94%A8%EF%BC%88%E5%8B%BF%E5%88%A0%EF%BC%89/maxkb-app-mcp.tar

加载镜像使用以下命令:

docker load -i maxkb-app-mcp.tar

配置docker-compose.yml如下:

version:‘3.8’ services: mcp-maxkb-server:
image: maxkb-app-mcp:latest
container_name: maxkb-mcp-app
ports:
- “8000:8000”# Host:Container port mapping
environment:
API_KEY:“application-30XXXXX”# 替换为你的实际MaxKB应用 API 密钥
BASE_URL:“https://xxxxxxxx/api/application” # 替换为你的实际部署的MaxKB地址,并加上/api/application
APP_ID:“53e12e8e-ac93-11ef-959e-0242xxxxxxxac180002”# 替换为你的实际MaxKB应用 API ID
SERVER_NAME:“飞致云公司员工手册查询助手”# MaxKB应用名称,修改你时间应用名称
TOOL_NAME:“ai_chat”# MCP工具名称,可以自定义
TOOL_DESCRIPTION:“发送消息关于查询飞致云员工手册查询信息,提供飞致云公司员工手册查询能力,支持查询出差、发票、入职、人事等员工手册等相关内容”#
重点描述为此MaxKB应用具备的能力和作用,此处描述越详细越好,能够提供MCP使用的准确率
restart: always

运行服务:

docker-compose up -d

2.适用于MaxKB V2版本

已经打包好镜像,下载后可直接运行:

下载链接:

https://f2c-east-1258036468.cos.ap-shanghai.myqcloud.com/MaxKB%E5%BA%94%E7%94%A8%EF%BC%88%E5%8B%BF%E5%88%A0%EF%BC%89/maxkbv2-app-mcp.tar

加载镜像使用以下命令:

docker load -i maxkbv2-app-mcp.tar

配置docker-compose.yml如下:

version:‘3.8’ services: mcp-maxkbv2-server:
image: maxkbv2-app-mcp:latest
container_name: maxkbv2-mcp-app
ports:
-“18010:8000”# 将主机的8000端口映射到容器的8000端口
environment: # 设置环境变量
API_KEY:“application-xxxxx”# 替换为你的实际 API 密钥
BASE_URL:“https://xxxxxxx”#替换为你的实际部署的MaxKB地址
SERVER_NAME:“医院HIS系统智能问答系统”
TOOL_NAME:“maxkb_chat”
TOOL_DESCRIPTION:“发送消息查询医院HIS系统使用说明,包含出入院、护士站、住院、门诊、药房等使用模块”
restart: always

启动并查看日志:

docker-compose up -d docker logs -f maxkbv2-mcp-app

查看日志,看到如下界面即为成功。
在这里插入图片描述

三、使用方式

1.配置MCP服务

在MaxKB应用的AI对话节点配置MCP工具。JSON格式如下:

{ “maxkb-mcp”: {
“url”:“http://hostip:port/mcp”,
“transport”:“streamable_http” } }

在这里插入图片描述

此外,也可以采用MaxKB的MCP调用节点来配置MCP。在下方工具列表中,可以查看刚刚我们在docker-compose文件中自定义的MaxKB应用MCP工具及描述。
在这里插入图片描述

2.测试问答效果

在高级编排页面调试对话,大模型将根据用户的问题,自动调用对应的MaxKB应用MCP工具获取答案并回复。
在这里插入图片描述

四、总结

通过上述方案,企业可以直接将现有的MaxKB智能体应用,以MCP的方式对外提供服务,无需开发即可显著提升智能体应用的跨域协作能力,同时也能够大幅降低业务智能体扩展与迭代的复杂度。依托MCP协议,MaxKB能够帮助企业快速构建可扩展、易维护的一体化AI应用生态。

http://www.dtcms.com/a/363805.html

相关文章:

  • 嵌入式学习 51单片机基础
  • 数控机床相邻轨迹最大过渡速度计算方法介绍
  • 25 万/秒写入 + 70% 硬件节省,TDengine 在首自信工业时序数据平台中的落地
  • 别再误会了!Redis 6.0 的多线程,和你想象的完全不一样
  • 蒙特卡洛采样与粒子滤波算法学习
  • DP-观察者模式代码详解
  • 代码随想录笔记-回溯算法
  • AI 写作实战:用 GPT-4o+ Claude 3 生成小红书文案,转化率提升 30%
  • 一文看懂 FastDatasets:用 LLM 极速生成高质量 SFT 数据集(已支持 Hugging Face Spaces PyPI)
  • maven私有仓库配置
  • 犀牛派A1上使用Faster Whisper完成音频转文字
  • 【Medical Image Analysis 1区TOP】用于MRI重建的全局感受野傅里叶卷积块
  • 《LINUX系统编程》笔记p8
  • FPGA时序约束(四)--主时钟约束
  • ESLint 相关
  • 算法模板(Java版)_前缀和与差分
  • 2025大学生必考互联网行业证书排名​
  • Git 代码提交管理指南
  • 【鸿蒙面试题-6】LazyForEach 懒加载
  • 单多行文本溢出
  • 大数据毕业设计选题推荐-基于大数据的大学生就业因素数据分析系统-Spark-Hadoop-Bigdata
  • 从0到1掌握进度管理:核心概念解析+目标设定的新手友好指南!
  • Elasticsearch常用DSL快速查询指南
  • Linux一共有多少个版本?
  • 基于SpringBoot2+Vue2开发的储物柜管理系统
  • 详解STM32的完整启动流程
  • Java流程控制04——if选择结构(本文为个人学习笔记,内容整理自哔哩哔哩UP主【遇见狂神说】的公开课程。 > 所有知识点归属原作者,仅作非商业用途分享)
  • CentOS 7 服务器CPU突然飙升至100%?精准定位问题。
  • HBase Region
  • token存储方案