Dify应用实战(32) - 绝不允许还有人不会用MCP

大模型容器人工智能与算法
本文适用对象:中级水平


目标:让Dify与MCP配合更丝滑














上一篇我们学习了如何让AI应用的Agent具备长记忆能力,这样每次对话,都会让AI记住对话历史,就再也不用每次都要重新交代一遍背景。不知道各位网友是否动手完成学习了没?







上半年早些时候,麦金叔针对MCP的概念和技术,做过非常全面的介绍,之前的系列课地址如下(或者在主页点击MCP文章集合):    

https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzAxNjQxMTQ3NA==&action=getalbum&album_id=3920108317908877315&scene=126&sessionid=1767002709417#wechat_redirect

但是当时Dify还没有官方支持MCP,所以是通过第三方的插件形式来实现的。经过大半年的发展,MCP技术已经习以为常,所以官方也早就完成了对MCP的适配(虽然支持不完全)。不过新接触Dify的朋友,可能还处在知识爆炸的阶段,没有理解MCP怎么用。






正好今天结合Dify的官方MCP功能,再给新入行的朋友说道说道。

picture.image

01.

概念与架构

MCP(Model Context Protocol)是由Anthropic于2411月开源的模型上下文协议,它是AI大模型与外部世界交互的标准化接口,被形象地称为AI领域的"USB-C接口"。







它能实现即插即用最根本的原因在于AI大模型能力的进化。当模型能主动调用工具的时候,为了更好的解耦创建工具和使用工具,MCP协议便有了用武之地。








所以就不难理解围绕MCP工具的架构就是3个部分。

使用方 :就是谁在用工具,如Dify的工作流里面的某个大模型,或者Cherry Studio对话中的某个大模型。

执行方 :即提供能力,也就是它可以做什么事情,查询数据库,或获取网站文章等。

运行环境 :包括了使用方在哪里运行,执行方在哪里运行,它们可以在一台机器上,也可以在不同机器上,也可以在同一台机器的不同沙箱环境里。

02.

使用实例

理解了上述3个部分之后,现在我们再来看看Dify里面如何对应的。

picture.image

我们分别对这三部分进行配置。

先设置中间的部分,它是连接大模型和MCP的桥梁。从顶部菜单工具进入后,点击MCP,切换至MCP配置页。使用最左的“添加MCP服务(HTTP)”,在弹出的对话框内进行设置。

picture.image

这里我们先不看是否成功,假设这一步添加成功了,就先回到第一部分。


添加Agent节点后,需要给它配上MCP工具。在Agent策略这里,选择官方的Agent下的FunctionCalling或ReAct。如下图所示:

picture.image

其他的插件会有兼容性问题,如果没有就忽略。如果之前安装过,注意不要再去选择。


工具列表这里点击+,弹出对话框切到MCP页面,选择上面我们添加的MCP服务的标识符,就完成了MCP工具选择。

picture.image

如果界面上显示工具名和工具箱下有图标就成功了。

picture.image

动手部分就已经完成,其他就不赘述了。

03.

MCP运行

现在我们再来理解一下,上面说的第三部分。因为第一部分和第二部分的执行是在Dify的API服务中,而第三部分MCP的运行也需要有地方。








很多朋友困惑的地方就在这里,导致找到的MCP如果是以SaaS服务方式提供的,才能在Dify中用。也就是服务商那里才是真正运行MCP代码的地方,比如看到这种配置信息。

picture.image

而绝大多数网上开源的MCP(可从导航站mcp.so上搜索)是不提供运行的(Playground是另外一回事)。


比如配置里有command命令的,这种就是需要自行提供执行环境的。uvx需要Python环境,而npx需要Nodejs环境。

picture.image

picture.image

如果不是在Dify上用,而是本地助手工具如Cherry Studio,就需要先配置运行环境,才能成功运行MCP工具。只有MCP工具能正常运行,大语言模型才能成功调用它们。







最后一个问题,如果你找到的那个MCP没有提供SaaS服务,而Dify又要用,那应该怎么办?


如果理解了上述麦金叔说的,到这里基本上就懂了。最重要的一点就是你需要一个能运行这些MCP的地方,最简单的方案是将其放在Dify的容器一起,也包装为一个可运行的容器。






当然,如果你需要的开源MCP已经有提供SSE的方式,只需要运行时按SSE方式启动,通过容器内部sse地址就可使用。而如果开源MCP代码里面还是只有Stdio的方式,就还需要进一步改造,利用MCP Proxy项目,将其进一步封装。


总之,普通人要想在Dify上使用mcp.so里面找到的大多数MCP还是需要具备一定的技术能力的,非技术人员量力而行。

总结

今天介绍了如何让Dify的AI应用能通过MCP来扩展能力,通过原理的介绍和动手配置,让你彻底理解MCP的使用。

如果你对AI的发展感兴趣,欢迎一键三连。有任何问题可以长按下图添加小助手的微信,我们共同探讨。

picture.image

0
0
0
0
关于作者

文章

0

获赞

0

收藏

0

相关资源
大规模高性能计算集群优化实践
随着机器学习的发展,数据量和训练模型都有越来越大的趋势,这对基础设施有了更高的要求,包括硬件、网络架构等。本次分享主要介绍火山引擎支撑大规模高性能计算集群的架构和优化实践。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论