40-dify案例分享-dify独家揭秘:mcp_sse+Zapier_MCP如何打造轻量级MCPserver达成万物互联

1.前言

MCP Server(模型上下文协议服务器)是一种基于模型上下文协议(Model Context Protocol,简称MCP)构建的轻量级服务程序,旨在实现大型语言模型(LLM)与外部资源之间的高效、安全连接。MCP协议由Anthropic公司于2024年11月开源,其核心目标是解决AI应用中数据分散、接口不统一等问题,为开发者提供标准化的接口,使AI模型能够灵活访问本地资源和远程服务,从而提升AI助手的响应质量和工作效率。

MCP Server 的架构与工作原理

MCP Server 采用客户端-服务器(Client-Server)架构,其中客户端(MCP Client)负责与服务器建立连接,发起请求,而服务器端则处理请求并返回响应。这种架构确保了数据交互的高效性与安全性。例如,客户端可以向服务器发送请求,如“查询数据库中的某个记录”或“调用某个API”,而服务器则根据请求类型,调用相应的资源或工具,完成任务并返回结果。

MCP Server 支持动态发现和实时更新机制。例如,当新的资源或工具被添加到服务器时,客户端可以自动感知并使用这些新功能,从而提高系统的灵活性和扩展性

MCP Server 的主要功能

  1. 资源暴露与工具提供
    MCP Server 可以将本地文件、数据库、API等资源作为数据实体暴露给AI模型,同时提供工具功能,帮助AI完成复杂任务,如数据检索、内容生成、实时更新等。例如,它支持对MySQL、PostgreSQL等数据库的查询和操作,也支持对本地文件系统的读写和目录管理。
  2. 会话管理与动态通知
    MCP Server 能够管理客户端与服务器的连接,确保会话的时效性和稳定性,同时通过实时推送机制,将最新的资源信息及时传递给AI模型,以保证数据的准确性和实时性。
  3. 安全性与隐私保护
    MCP Server 采用加密认证和访问控制机制,确保数据传输的安全性,避免敏感信息泄露。例如,它支持本地运行,避免将敏感数据上传至第三方平台,从而保护用户隐私。
  4. 标准化与模块化
    MCP Server 提供了标准化的通信协议,支持两种传输协议(STDIO和SSE),并允许开发者通过插件扩展功能,使其具备灵活性和扩展性。例如,它支持通过HTTP标准POST请求与客户端进行交互,同时支持WebSocket实现实时数据推送。
  5. 多场景应用
    MCP Server 可以应用于多种场景,包括但不限于:
    • 本地资源集成:如文件操作、数据库管理、API调用等。
    • 云服务交互:如与GitHub、Slack、Google Drive等云服务的集成。
    • AI助手扩展:如为ChatGPT等AI助手提供上下文支持和工具调用能力

目前mcp-server发展速度非常快。在短短1个多月的时间目前mcp-server已经发展超过5000个mcp-server

image-20250401224117436

上期给大家介绍过 mcp-server案例分享-即梦AI文生视频 通过fastapi_mcp 实现了一个mcp-server当时在 cherry-studio上通过SSE方式实现的。目前来说我们很多mcp-client 工具都支持 sse 和 stdio 方式

image-20250407171940088

其中stdio 更多是客户端的部署方式。 今天给大家介绍dify的 mcp 方案,所以避免不了就需要sse 的实现方案。我个人觉的为了SEE方案应该会有更多人去选择。话不多说下面给大家介绍一下如何在 dify 实现一个mcp-server

2.插件和工具介绍

为了使用dify mcp-server 我们需要将dify 升级到1.0+版本,最新的dify 版本是1.1.3 大家升级到这个版本

image-20250407172336086

MCP SSE 插件下载及安装

接下来我们需要安装一个插件叫做MCP SSE . 可以在 插件市场搜索 MCP 检索到这个插件

image-20250407172621475

我们看将这个插件打开查看详情

image-20250407172655216

我们打开这个插件后可以看到目前dify 官方版本是0.0.6 版本。这里建议大家不要在官方下载这个版本。(0.0.6 版本有BUG)

大家可以通过github 链接下载最新版本0.0.8 版本

https://github.com/junjiem/dify-plugin-tools-mcp_sse/releases/tag/0.0.8

image-20250407172838471

将下载的mcp_sse.difypkg 通过 本地插件上传方式安装

image-20250407173022431

上传完成后点击安装。如果按照中比较慢,大家可以把dify env 配置文件修改一下。详细可以参考我之前的文章

Dify 实战:纯内网1.0+版本,攻克模型工具插件离线安装难题

安装完成后我们就可以看到mcp sse这个插件了。

image-20250407173452076

Zapier MCP 配置

上面我们提到dify 安装MCP sse其实是一个MCP client 目前MCP client 也有不少,主流的是cursor 、cline 等。大家如果想知道有多少

MCP client 可以去这个网站 https://mcp.so/ 去查找。

image-20250407173808799

接下来我们需要配置一个带有sse 的mcp server

前几天我们知道Zapier 也实现了mcp server ,这下好了 通过Zapier 一个就可以实现上百个mcp server了,我们也就不需要一个一个

mcp server 配置了(一个一个配置费劲)。

什么是Zapier 简单介绍一下。

Zapier 是一种基于云的自动化工具,旨在通过连接不同的应用程序和服务来简化工作流程,提高生产力。用户无需编程知识即可创建自动化任务,这些任务被称为“Zaps”。每个 Zap 包含两个核心部分:触发器(Trigger)和动作(Action)。触发器是启动自动化流程的事件,例如在某个应用中接收到新消息;动作则是在触发器发生后执行的操作,例如将数据同步到另一个应用。

Zapier 支持超过 7000 个应用程序的集成,包括电子邮件、社交媒体、文件管理、营销和数据分析等领域的应用。用户可以通过直观的界面轻松设置自动化工作流,例如将 Google 表单中的数据自动保存到 Dropbox 或通过 Slack 发送提醒此外,Zapier 还提供高级功能,如条件逻辑、数据格式化和多步骤路径,使用户能够构建复杂的工作流。

下面我们和大家说一下Zapier的配置。

登录

首先我们需要登录https://zapier.com/app/login ,如果没有账号的小伙伴可以去注册一个。

image-20250407174346870

可以用google 、facebook、微软等账号实现授权登录,也可以用邮箱注册登录。(QQ 邮箱也是可以的)

登录后我们在zapier 管理平台 创建一个MCP Server URL

https://actions.zapier.com/settings/mcp/

image-20250407174606220

开通zapier MCP Server

zapier 会给我们生成一个带有公网地址的 MCP Server URL

https://actions.zapier.com/mcp/sk-xxxxxxxx/sse

上面的地址记得保存一下,后面会用到。

我们点击“edit mcp actions”

image-20250407174825416

开通 增加MCP actions

点击 “Add a new action” 第一次进来 是没有 MCP actions (我这里已经配置了2个)

image-20250407174930074

image-20250407175027833

在上面action 输入我们需要安装的 action 我这里就举google gmail 例子

image-20250407175117948

选择 send email

弹出授权对话框

image-20250407175201027

我们需要输入google 账号和密码 授权给zapier。说白了就是把我们账号和密码托管给zapier。这样它就能实现自动给我们发邮件了。

我们在给大家看一下Tavily 的配置

image-20250407175416612

这个配置和上面的类似,因为我也配置过了,这里就不给大家演示了。每个组件大致都是差不多的都是需要授权。

以上步骤我们就完成了zapier 的配置,当然大家也可以根据需要添加其他action

3.mcp see 配置

我们回到 dify工作流,选择mcp see工具

image-20250407180553489

点击授权按钮,这个工具组件默认给我们返回 http://127.0.0.1:8000/sse 地址

{  "server_name": {    "url": "http://127.0.0.1:8000/sse",    "headers": {}, "timeout": 60,    "sse_read_timeout": 300  }}

我们需要把之前的zapier MCP Server URL 替换

{ "zapier-mcp": { "url": "https://actions.zapier.com/mcp/sk-ak-xxxxxx/sse", "headers": {}, "timeout": 60, "sse_read_timeout": 300 } }

把上述地址复制 点击 保存完成设置

image-20250407180816355

image-20250407180840165

以上步骤我就完成了dify MCP-sse设置了。

4 .验证及测试

我们这里在dify 工作台中创建一个 ai agent

image-20250407181057490

进入 dify-mcp-sse ai agent 在左下角工具添加 MCP SSE工具

image-20250407181235642

image-20250407181307492

接下来我们设置一下模型,我们这里选择火山引擎提供的 deepseek-v3模型。 这个模型需要注意支持tools 调用的模型,有的模型是不支持的(推荐大家使用火山引擎提供的deepseek-v3模型 ,效果不错)

image-20250407181641699

image-20250407181538549

验证测试

我的问题

请告诉我2025年4月7日最新科技新闻

image-20250407181820259

我们通过上图可以看到 模型通过意图识别触发了MCP server调用,首先调用了 mcp_sse_list_tools 查看一下目前zapier MCP Server 提供了哪些工具,这里可以从Cherry Studio 提供的MCP server 配置上看到

image-20250407182113623

模型搜索到 tavily_search 可以调用,然后再调用mcp_sse_call_tools 实现搜索和调用。

接下来我们在让它把这些新闻信息邮件形式发给我QQ 邮箱

把以上的内容通过 发给75271002@qq.com 这个邮件

image-20250407182404398

同样的操作它也知道我们要发邮件需求,所以调用了之前配置好的google邮箱 给我QQ邮件发送了信息。

image-20250407182841227

通过以上方式我们就实现2个Zapier 配置的2个 MCP server实现新闻搜索和邮件发送联动功能。当然大家也可以根据自己的需求来组合其他MCP,通过这样的方式我们就可以实现打打字,动动嘴利用MCP 模型上下文的能力通过模型和工具整合实现万物互联了。

5.总结

今天主要带大家实现了在 Dify 中搭建 MCP Server 以实现万物互联的工作流,详细介绍了整个工作流的实现步骤。本次工作流涉及到 Dify 平台的升级、插件的安装与配置,以及 Zapier 自动化工具的使用等知识。虽然步骤较多,但只要按照文章的指引逐步操作,相信大家都能够掌握。感兴趣的小伙伴可以关注支持,今天的分享就到这里结束了,我们下个文章见。

### Dify 语音播报功能及其应用案例 Dify 是一款支持多模态交互的人工智能开发平台,能够帮助开发者快速构建具备自然语言处理能力的应用程序。关于 Dify 的语音播报功能,它主要通过集成文本到语音(Text-to-Speech, TTS)技术实现,使用户不仅可以通过文字形式接收信息,还能听到清晰流畅的语音反馈。 #### 功能概述 Dify 平台允许开发者自定义代理助理的行为模式,其中包括设置对话开场白和初始问题[^1]。这使得当用户首次与代理助理互动时,系统可以主动提供任务类型的介绍以及可提问的例子。这种设计有助于提升用户体验并引导用户更高效地利用系统的各项功能。 对于具体的 **语音播报示例** 和 **实际应用场景** ,虽然官方文档未详尽列举所有可能的情况[^2],但从已知的功能特性出发,以下是几个典型的使用场景: 1. **客户服务机器人** - 场景描述:企业网站或移动应用程序中的虚拟客服角色采用 Dify 技术来响应客户的咨询请求。 - 实现方式:客户输入查询后,除了显示书面答复外,还会播放对应的音频文件解释解决方案。 2. **教育辅助工具** - 应用领域:在线学习平台上部署基于 Dify 构建的教学助手,用于朗读课程材料或者解答学生疑问。 - 特点优势:相比单纯依赖视觉媒介传递知识而言,加入听觉维度能更好地满足不同学习风格的需求。 3. **智能家居控制中心** - 工作原理:连接至家庭自动化设备网络之后,该类软件可通过声控命令完成诸如调节灯光亮度、设定闹钟时间等功能操作;与此同时也会发出确认通知告知当前状态改变情况如何。 4. **无障碍访问服务** - 面向群体:视力受损人士或其他难以依靠传统屏幕阅读方法获取资讯者。 - 解决方案:借助高质量合成音效再现网页内容摘要或者其他重要数据片段供这类特殊需求人群收听理解。 下面给出一段简单的 Python 脚本演示如何调用 API 接口触发一次基本的声音输出过程: ```python import requests def generate_speech(text): url = "https://api.dify.com/v1/synthesize" headers = { 'Authorization': 'Bearer YOUR_ACCESS_TOKEN', 'Content-Type': 'application/json' } payload = {"text": text} response = requests.post(url, json=payload, headers=headers) if response.status_code == 200: audio_url = response.json().get('audioUrl') return audio_url else: raise Exception(f"Error generating speech: {response.text}") if __name__ == "__main__": sample_text = "欢迎来到Dify的世界!" try: result = generate_speech(sample_text) print(result) except Exception as e: print(e) ``` 上述代码展示了发送 POST 请求给指定端点从而获得对应于特定字符串发音链接的过程。需要注意的是,在真实环境中应当妥善保管个人认证令牌以免泄露敏感权限信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值