MCP服务开发与AI集成

MCP服务背景与技术演进
-
GUI到AI交互的演进路径
-
早期系统通过命令行(CLI)进行操作,后发展为基于UI的鼠标键盘交互。
-
当前趋势是“一句话办事”,即用户通过自然语言指令让AI完成任务,本质是将操作回归到底层接口调用。
-
AI执行依赖于对API或CLI层面的访问能力,需构建统一标准的服务接口供模型识别和调用。
-
-
MCP的核心作用
-
MCP(Model Control Protocol)提供统一协议规范,解决原有接口参数混乱问题(如query/body混用)。
-
实现接口描述标准化,包含名称、description等字段,便于AI理解与调用。
-
支持跨平台复用,可在龙虾、Cast等不同AI工具中使用,避免封闭在单一系统内。
-
MCP服务开发要求与实现方式
-
开发环境与技术栈要求
-
MCP Server基于Java开发,当前版本要求Spring Boot 3.5 + Java 21。
-
项目已在Git上公开,不建议修改已有依赖配置。
-
使用特定注解标记工具类和服务方法,支持自动注册为可调用能力。
-
-
服务开发结构与编码实践
-
创建带有
@Tools注解的类,标明其为一个功能工具,并填写中英文描述。 -
推荐使用英文描述以避免编码兼容性问题,防止部分CR工具因乱码导致AI无法解析。
-
方法上添加
@TopArms等标签,用于暴露接口并生成标准Schema。 -
示例:天气查询工具通过HTTP请求第三方URL获取数据并封装返回。
-
MCP服务调试与验证流程
-
Postman调试MCP服务
-
升级Postman至最新版本后,支持直接连接MCP Server。
-
新建MCP类型请求,填入服务地址(如http://localhost:9311),选择协议类型(如stream+SSE)。
-
连接成功后自动拉取能力列表(MCP List),展示所有可用方法及其参数定义。
-
可在界面中直接运行方法,输入参数(如city="Beijing")进行测试。
-
-
Nacos平台的MCP转换能力
-
Nacos 3.1.0及以上版本新增MCP列表功能,支持从已有服务自动生成MCP服务。
-
提供HTTP转MCP服务选项,可选择已注册的服务进行协议转换。
-
支持编排组合多个接口形成新的业务方法,提升复用性。
-
但实测发现Swagger接口文档不全、注释缺失等问题影响转换效果,仍需人工梳理业务逻辑。
-
AI集成与技能封装机制
-
MCP Porter技能的作用
-
龙虾平台上的MCP Porter是一个纯文本技能,用于加载并调用MCP服务。
-
加载后可通过自然语言触发,自动识别所需调用的工具及参数。
-
内部通过
list server schema获取MCP服务能力清单,并由AI决定调用哪个工具。
-
-
技能链路完整流程
-
第一步:开发MCP服务并确保接口可用。
-
第二步:使用Postman验证协议正确性,确认参数传递无误。
-
第三步:通过MCP Porter技能验证AI是否能正确理解并调用该服务。
-
最终实现用户说“查北京天气”即可触发全流程,无需手动提取参数或处理中英文映射。
-
-
技能封装与用户体验优化
-
为避免用户记忆MCP地址,需将地址封装进新技能中。
-
如“控制台简报”技能,内置MCP URL,设定触发条件后打包发布。
-
技能内部使用Python脚本编写,具备高泛化能力,可基于模板动态生成报告并回答细节问题。
-
场景化接入策略与未来方向
-
按场景迭代接入MCP
-
不建议逐个对接原子接口,而应以业务场景为单位组织服务。
-
例如“底座工作台待办事项”作为一个页面级能力整体暴露,支持多维度查询。
-
利用AI泛化能力减少接口数量,降低维护成本。
-
-
历史接口的适配挑战
-
原有面向UI设计的接口过于细碎,不适合直接暴露给AI。
-
虽可通过技术手段批量转换,但受限于文档质量与业务重复度,实际效果有限。
-
建议优先梳理高频核心场景,重新组织service层接口,提升AI调用准确性。
-
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)