Dify Agent 驱动轻量级 MCPserver:联动 Zapier 实现智能搜索高效数据流转
1.MCP Server
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 的主要功能
资源暴露与工具提供:
MCP Server 可以将本地文件、数据库、API 等资源作为数据实体暴露给 AI 模型,同时提供工具功能,帮助 AI 完成复杂任务,如数据检索、内容生成、实时更新等。例如,它支持对 MySQL、PostgreSQL 等数据库的查询和操作,也支持对本地文件系统的读写和目录管理。
会话管理与动态通知:
MCP Server 能够管理客户端与服务器的连接,确保会话的时效性和稳定性,同时通过实时推送机制,将最新的资源信息及时传递给 AI 模型,以保证数据的准确性和实时性。
安全性与隐私保护:
MCP Server 采用加密认证和访问控制机制,确保数据传输的安全性,避免敏感信息泄露。例如,它支持本地运行,避免将敏感数据上传至第三方平台,从而保护用户隐私。
标准化与模块化:
MCP Server 提供了标准化的通信协议,支持两种传输协议(STDIO 和 SSE),并允许开发者通过插件扩展功能,使其具备灵活性和扩展性。例如,它支持通过 HTTP 标准 POST 请求与客户端进行交互,同时支持 WebSocket 实现实时数据推送。
多场景应用:
本地资源集成:如文件操作、数据库管理、API 调用等。
云服务交互:如与 GitHub、Slack、Google Drive 等云服务的集成。
AI 助手扩展:如为 ChatGPT 等 AI 助手提供上下文支持和工具调用能力
目前 mcp-server 发展速度非常快, 目前 mcp-server 已经发展超过 7000 个 mcp-serve
2.Dify-Agent
Dify 是一款开源的大语言模型(LLM)应用开发平台,旨在简化生成式 AI 应用的开发、集成和部署过程。它结合了后端即服务(Backend as a Service)和 LLMOps 的理念,为开发者提供了一个直观、模块化且功能丰富的开发环境,使非技术人员也能轻松参与 AI 应用的定义和数据运营过程。
目前 dify 已经更新到 1.1.3+ 版本

dify 网址:https://dify.ai/zh
Agent 节点是 Dify Chatflow/Workflow 中用于实现自主工具调用的组件。它通过集成不同的 Agent 推理策略,使大语言模型能够在运行时动态选择并执行工具,从而实现多步推理。
2.1 配置步骤
添加节点
在 Dify Chatflow/Workflow 编辑器中,从组件栏拖拽 Agent 节点至画布。

选择 Agent 策略
在节点配置面板中,点击 Agent 策略。

从下拉菜单选择所需的 Agent 推理策略。Dify 内置了 Function Calling 和 ReAct 两种策略,可在 Marketplace → Agent 策略分类中安装使用。

Function Calling
通过将用户指令映射到预定义函数或工具,LLM 先识别用户意图,再决定调用哪个函数并提取所需参数。它的核心是调用外部函数或工具,属于一种明确的工具调用机制。
优点:
精确: 对于明确的任务,可以直接调用相应的工具,无需复杂的推理过程。
易于集成外部功能: 可以将各种外部 API 或工具封装成函数供模型调用。
结构化输出: 模型输出的是结构化的函数调用信息,方便下游节点处理。

ReAct (Reason + Act)
ReAct 策略使 Agent 交替进行思考和行动:LLM 首先思考当前状态和目标,然后选择并调用合适的工具,工具的输出结果又将引导 LLM 进行下一步的思考和行动,如此循环,直到问题解决。
优点:
有效利用外部信息: 能够有效地利用外部工具获取信息,解决仅靠模型自身无法完成的任务。
可解释性较好: 思考和行动的过程是交织的,可以一定程度上追踪 Agent 的推理路径。
适用范围广: 适用于需要外部知识或需要执行特定操作的场景,例如问答、信息检索、任务执行等。

配置节点参数
选择 Agent 策略后,配置面板会显示对应的配置项。Dify 官方内置的 Function Calling 和 ReAct 策略的配置项包括:
模型: 选择驱动 Agent 的大语言模型。
工具: 工具的使用方式由 Agent 策略定义,点击 “+” 添加并配置 Agent 可调用的工具。
搜索: 在下拉框中选择已安装的工具插件。
授权: 填写 API 密钥等授权信息后启用工具。
工具描述和参数设置: 提供工具描述,帮助 LLM 理解工具用途并选择调用,同时设置工具的功能参数。
指令: 定义 Agent 的任务目标和上下文。支持使用 Jinja 语法引用上游节点变量。
查询: 接收用户输入。
最大迭代次数: 设定 Agent 的最大执行步数。
输出变量: 提示节点输出的数据结构。

2.2 查看日志
Agent 节点执行过程中将生成详细日志。显示节点执行的总体信息,包括输入和输出、token 开销、耗时和状态。点击 “详情” 查看 Agent 策略执行的每一轮输出信息。

插件类型

Models(模型)
各类 AI 模型的接入插件,支持模型服务商和自定义模型两种类型,能够极大降低配置和调用 LLM API 的门槛。
Tools(工具)
工具指的是能够被 Chatflow / Workflow / Agent 类型应用所调用的第三方服务。提供完整的 API 实现能力,用于增强 Dify 应用的能力。
Agent 策略
Agent 策略插件能够定义 Agent 节点内部的推理和决策逻辑,包括 LLM 对于工具选择、调用以及对返回结果的处理逻辑。
Extensions(扩展)
仅提供 Endpoint 能力,为简单场景设计的轻量级方案。仅通过调用 HTTP 服务即可调用扩展功能,适用于只需要基础 API 调用的简单集成场景。关于扩展插件的开发详情,请参考快速开始:Extension 插件。
Bundle(插件包)
插件包是一系列插件的组合。通过安装插件集可以批量安装预选插件,告别手动逐个安装插件的繁琐过程。
MCP SSE+Zapier
安装一个插件叫做 MCP SSE . 可以在 插件市场搜索 MCP 检索到这个插件

如果直接安装安装不上可以:先下载到本地在安装 (点击详情)

Zapier MCP 配置
Zapier 是一种基于云的自动化工具,旨在通过连接不同的应用程序和服务来简化工作流程,提高生产力。用户无需编程知识即可创建自动化任务,这些任务被称为 “Zaps”。每个 Zap 包含两个核心部分:触发器(Trigger)和动作(Action)。触发器是启动自动化流程的事件,例如在某个应用中接收到新消息;动作则是在触发器发生后执行的操作,例如将数据同步到另一个应用。
Zapier 支持超过 7000 个应用程序的集成,包括电子邮件、社交媒体、文件管理、营销和数据分析等领域的应用。用户可以通过直观的界面轻松设置自动化工作流,例如将 Google 表单中的数据自动保存到 Dropbox 或通过 Slack 发送提醒此外,Zapier 还提供高级功能,如条件逻辑、数据格式化和多步骤路径,使用户能够构建复杂的工作流。
首先我们需要登录 https://zapier.com/app/login ,如果没有账号的小伙伴可以去注册一个。

登录后我们在 zapier 管理平台 创建一个 MCP Server URL:https://actions.zapier.com/settings/mcp/

开通 增加 MCP actions
点击 “Add a new action” ,进行授权
更多 tools 授权就不展示了
mcp see 配置
我们回到 dify 工作流,选择 mcp see 工具,进行授权,填写获取到的 key

配置好后去创建一个 Agent 看看效果:
或者 chatflow
提示词
结果
版权声明: 本文为 InfoQ 作者【汀丶人工智能】的原创文章。
原文链接:【http://xie.infoq.cn/article/4a4754eb4895f37db094663b4】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论