【AI智能体】Dify 开发与集成MCP服务实战操作详解
目录
一、前言
二、Dify 介绍
2.1 Dify是什么
2.2 MCP 介绍
2.2.1 什么是MCP
2.2.2 MCP核心特性
2.3 Dify中开发与使用MCP介绍
2.3.1 MCP Server开发与使用
2.4 dify 开发MCP Server优势
三、Dify开发与集成MCP操作过程
3.1 Dify MCP 插件说明
3.2 安装mcp-server插件
3.3 创建新应用
3.3.1 工作流开始节点增加输入变量
3.3.2 增加和配置大模型节点
3.3.3 效果测试
3.4 mcp-server发布与使用
3.5 配置MCP 发现工具
3.6 创建智能体应用
3.6.1 创建智能体
3.6.2 配置提示词
3.6.3 引用 mcp服务发现工具
3.6.4 效果测试
四、客户端集成使用Dify MCP服务
4.1 魔塔平台集成MCP
4.2 VSCode集成MCP服务
五、写在文末
一、前言
MCP ,即模型上下文协议(Model Context Protocol, MCP),由 Anthropic 公司(Claude 大模型母公司)在 2024 年 11 月推出的开放协议,旨在标准化大型语言模型与外部数据源和工具之间的交互方式。MCP 被形象地比喻为 AI 领域的"USB-C 接口",因为它提供了连接各类服务的统一框架。从而增强模型的实时交互和任务执行能力。Dify提供了一套完整的工具链,支持从提示词工程(Prompt Engineering)到应用发布的全流程,而且基于Dify平台,应用开发者可以定制化自己的企业MCP服务,通过暴露Endpoint之后,应用中就可以方便的进行集成使用,从而大大减少开发MCP的过程,本篇将详细结束如何基于Dify开发MCP服务并集成使用。
二、Dify 介绍
2.1 Dify是什么
Dify 是一个开源的大模型应用开发平台,旨在帮助开发者快速构建、部署和管理基于大型语言模型(LLM)的 AI 应用。它提供了一套完整的工具链,支持从提示词工程(Prompt Engineering)到应用发布的全流程,适用于企业级 AI 解决方案和个人开发者项目。
官网入口:Dify: Production-Ready AI Agent Builder
中文站入口:Dify:企业级 AI Agent 开发平台
2.2 MCP 介绍
2.2.1 什么是MCP
MCP ,即模型上下文协议(Model Context Protocol, MCP),由 Anthropic 公司(Claude 大模型母公司)在 2024 年 11 月推出的开放协议,旨在标准化大型语言模型与外部数据源和工具之间的交互方式。MCP 被形象地比喻为 AI 领域的"USB-C 接口",因为它提供了连接各类服务的统一框架。从而增强模型的实时交互和任务执行能力。
2.2.2 MCP核心特性
MCP 具备如下核心特点:
-
标准化集成
-
MCP统一了不同AI模型(如Claude、GPT等)与外部工具(如数据库、API、浏览器等)的交互方式,避免了传统定制化API开发的重复劳动
-
-
双向通信
-
不同于传统AI只能被动接收数据,MCP支持AI主动检索信息并执行操作(如更新数据库、触发工作流),实现真正的“代理式AI”
-
-
动态上下文管理
-
MCP允许AI在会话中持续携带上下文信息(如用户偏好、历史记录),使多步骤任务(如“查询天气→推荐行程→预订酒店”)能自动串联执行
-
-
安全与灵活性
-
MCP支持本地或云端部署,通过OAuth 2.1认证和数据沙箱机制保障敏感信息的安全访问
-
2.3 Dify中开发与使用MCP介绍
在 Dify 中,对于MCP可以分MCP Server的开发和MCP服务的集成两部分,这两种分别对应到实际应用中两种不同的使用场景。
2.3.1 MCP Server开发与使用
mcp-server 插件由 Dify 社区贡献,是一款扩展类型的插件,在dify的插件市场中通过mcp关键字可以搜到。
安装该插件后,可将任何 Dify 应用转换为兼容 MCP 的服务器端点,供外部 MCP 客户端直接访问。在实际业务中,其完整的开发使用流程如下:
- 将 Dify 作为 MCP 工具暴露:
- 将你的 Dify 应用程序转变为单个 MCP 工具,Cursor、Claude Desktop、Cline、Windsurf 甚至其他 Dify 实例等客户端都可调用
- 利用 Dify Endpoint :
- 创建应用程序端点后,将获得 MCP 客户端可以用来连接的唯一 URL。
- 运行 MCP 服务:
- 该插件会自动在 Dify 的插件环境中启动 HTTP 服务,通过 HTTP 和 SSE 协议处理来自 MCP 客户端的请求。这涵盖了从协议握手到功能发现以及工具执行的所有内容。
- 应用集成:
- 比如在其他的客户端工具,像魔搭、Cursor、VSCode等就可以直接访问该端点进行使用,或者在程序中集成使用。
2.4 dify 开发MCP Server优势
在 Dify 平台上开发 MCP(Model Context Protocol)Server 具有显著优势,特别是在构建灵活、可扩展的 AI 智能体应用方面。以下是其主要优势:
1)标准化接口,提升开发效率
-
统一交互协议:MCP 提供标准化的客户端-服务器通信协议,使得 Dify 可以无缝集成各类外部工具(如数据库、API、文件系统等),无需为每个工具单独适配接口。
-
拖拽式编排:Dify 的可视化工作流编辑器结合 MCP Server,开发者只需简单拖拽即可完成功能集成,大幅降低开发门槛。
2)灵活扩展,支持多场景应用
-
动态工具发现:MCP Server 支持动态发现新工具,Dify 应用可自动识别并使用新增功能,无需重新部署。
-
跨平台兼容:MCP Server 可对接多种 AI 客户端(如 Claude Desktop、Cursor IDE),一套 MCP 服务可同时支持 Dify 和其他 AI 平台。
3)高效数据流转,增强 AI 能力
-
RAG(检索增强生成)优化:通过 MCP Server,Dify 可轻松接入企业知识库、数据库等,提升 AI 生成内容的准确性和实时性。
-
自动化任务执行:结合 Zapier 等 MCP 服务,Dify 可实现跨应用自动化(如自动发送邮件、更新 CRM 数据),提高业务效率。
4)安全与解耦设计
-
数据本地化:MCP Server 可在企业 VPC 内独立部署,确保敏感数据不外流。
-
解耦架构:MCP 服务与 Dify 应用解耦,更新工具只需修改 MCP Server,无需调整 Dify 主程序。
5)生态整合 & 社区支持
-
丰富插件市场:Dify 提供 MCP 相关插件(如
MCP SSE
、Zapier MCP
),简化集成流程。 -
活跃开发者社区:GitHub 上有大量开源 MCP Server 实现(如 Python SDK、Node.js 版本),加速自定义开发。
Dify 开发 MCP Server 的核心优势在于 标准化、灵活性、高效集成和低成本运维,特别适合企业级 AI 智能体应用的快速构建。无论是自动化任务、知识库增强,还是多工具协同,Dify + MCP 的组合都能提供强大支持,推动 AI 应用的规模化落地。
三、Dify开发与集成MCP操作过程
接下来我们通过实际操作演示如何在Dify中开发MCP Server并进行集成使用。
3.1 Dify MCP 插件说明
mcp-server插件,可以将我们在Dify上面构建的应用直接发布成为一个符合MCP标准的服务端点
这款由Dify社区贡献的Extension插件,安装后能够让你的任何Dify应用变身为MCP Server,允许外部兼容MCP协议的客户端直接访问,这为Dify 应用的集成和共享提供了极大的便利。插件的核心功能如下:
-
将MCP应用暴露为MCP工具
-
它能将你的整个Dify应用(无论简单或复杂)抽象成一个单一的MCP工具,外边外部MCP客户端(如cursor、cline、甚至dify自身)发现和调用。
-
-
利用Dify Endpoint功能生成访问入口
-
当你为应用创建Endpoint之后,会得到一个专属的URL,外部MCP客户端可以通过这个URL直接连接到你的应用。
-
-
提供标准的MCP服务
-
插件会在Dify环境中自动运行一个HTTP服务,该服务基于HTTP和SSE协议,能够高效处理外部MCP客户端的请求,包括协议握手、能力发现(告诉客户端做什么)以及实际的工具调用。
-
3.2 安装mcp-server插件
如下,通过主页右上角的插件按钮,进入dify插件市场,搜索MCP相关插件,找到该插件并点击安装即可(安装过程会根据网络情况不同而有一定耗时)
等待安装完成之后,在个人的插件列表页面就能看到了
3.3 创建新应用
mcp-server配置的时候需要关联一个具体的应用,先创建一个新的应用,这里使用工作流,如下:
3.3.1 工作流开始节点增加输入变量
开始节点增加一个输入参数,作为用户的输入
3.3.2 增加和配置大模型节点
增加一个大模型节点,接收来自开始节点用户的输入,传递到系统提示词中构成完整的传递给大模型的提示词,这里让大模型模仿输入的author的风格写一首诗,参考下面的配置
大模型节点之后增加一个结束节点,结束节点的输入变量为大模型的输出参数
3.3.3 效果测试
点击右上角的发布更新
然后点击左侧的运行
通过下面的运行结果可以看到工作流配置的是没问题的
3.4 mcp-server发布与使用
选择上述安装完成的mcp-server插件,点击右侧+号
在下面设置API端点的表单中填写端点名称,并选择上一步创的那个工作流配置进去
最下面的那个参数需要重点关注一下,这个参数的格式一般是json格式,参考下面的参数配置进去:
{"name":"poem","description":"模仿输入的作者风格写诗歌","inputSchema":{"title":"poem","type":"object","properties":{"author":{"title":"author","description":"作者","type":"string"}},"required":["author"]}
}
参数说明:
-
Properties : 列出应用接收的所有参数及其类型,本示例只有一个参数,author;
-
Description: 用于向MCP Client说明此应用的主要功能,帮助系统在需要的时候自动发现并调用;
-
Required : 声明调用应用时必须提供的参数。对于聊天类应用(Agent / ChatFlow),参数通常是必须的;
将上面的参数配置到json输入框中保存,保存配置后,会自动生成Endpoint URL,我们在后续使用的就是GET 后面的那一串URL地址。
3.5 配置MCP 发现工具
在前面的步骤中安装了插件MCP Server,并关联了工作流能力,且暴露了端点,相当于是一个公共服务能力,如何在客户端中发现这个MCP Server并且正确调用呢,这就需要MCP Client的应用中集成mcp的服务发现能力,在dify的工具市场中,需要安装一个MCP SSE的服务发现工具,主要是配置授权相关信息,如下点击安装:
安装完成后,在下面的工具一栏中可以看到自己安装的工具列表
将下面的授权配置拷贝进去
如下,拷贝进去之后点击保存
保存成功,出现右侧的已授权效果说明配置成功
3.6 创建智能体应用
该应用可以理解为客户端应用,将利用MCP的服务发现工具调用上面发布的MCP Server,参考下面的步骤。
3.6.1 创建智能体
新建一个智能体类型的应用
3.6.2 配置提示词
在输入编排中添加如下提示词
调用mcp工具回答用户问题,先获取工具列表,再选中可用的工具,最后返回工具结果中的诗歌原文以及解析内容
3.6.3 引用 mcp服务发现工具
在编排界面下面的工具选项中,选择上一步配置的发现和调用MCP的工具,将其中的两项能力添加进去
3.6.4 效果测试
当输入作者的名字时,可以看到大模型会先走本地的工具调用,如果没有其他问题的话,将会看到如下类似的效果
四、客户端集成使用Dify MCP服务
基于Dify开发的MCP Server并暴露出来端点之后,除了Dify自身的应用可以使用之外,也可以在其他的客户端集成使用,接下来在其他客户端集成使用。
4.1 魔塔平台集成MCP
在dify上面开发的自定义mcp服务,当sse地址暴露出来之后,就可以在其他的客户端进行集成和使用了,这里我们在魔塔平台做一下测试,魔塔入口:ModelScope 魔搭社区
进入魔搭mcp测试页面:MCP Playground
在弹出的输入框中填写名称,配置前面dify中生成的sse地址
点击保存配置
配置完成后,在左侧的实验场中就会为你的这个MCP服务生成一些测试用例
在实验场提供的模拟测试用例中,比如随机选择第一个模仿李白的风格写一首诗,通过输出结果可以看到,MCP Server的工具已经被触发调用了
通过上面的操作过程,可以看到mcp-server插件提供了一种非常便捷的方式,能够将我们自己在dify中构建的应用转化为MCP Server,提供给内外部各种客户端调用。这无疑是大大增强了 Dify应用的通用性和集成能力。
尽管目前配置 APP Input Schema的JSON格式还需要一些手动操作,略显繁琐,但是相比从0开始搭建服务接口,已经简化了很多。
4.2 VSCode集成MCP服务
在VSCode中安装Cline插件,然后在Cline的MCP配置中参照下面的方式进行配置
提一个问题,模拟李白的风格写一首诗
可以看到效果与魔塔上面的类似,先调用了在Cline中配置的MCP,最后生成了一首诗歌,其他的客户端工具也是类似,有兴趣的同学可以继续尝试。
五、写在文末
本文通过案例操作,详细介绍了基于Dify配置MCP Server,并发布使用的详细过程,通过这种方式,可以让应用开发者更好更专注的面向业务开发,而只需要做简单的集成即可完成对MCP的服务能力的使用,本篇到此结束,感谢观看。