☰
Dify MCP支持详解:3步让AI Agent连接外部工具的完整指南
2026/10/6 22:57:41 网站建设 项目流程

Dify MCP支持详解:3步让AI Agent连接外部工具的完整指南

【免费下载链接】difyBuild Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from prototype to production without rebuilding the stack.项目地址: https://gitcode.com/GitHub_Trending/di/dify

Dify 是一个开源的 AI 应用开发平台,其MCP(Model Context Protocol,模型上下文协议)支持是连接 AI Agent 与外部工具的核心能力。通过 Dify MCP 支持,你可以用 3 步让 Dify 中的 AI Agent、Chatflow 或 Workflow 应用直接调用外部工具与数据源,也能反向把你的 Dify 应用发布为标准 MCP Server,供 Claude 等外部客户端调用。

什么是 Dify MCP 支持?一文看懂

MCP 由 Anthropic 提出,是一种让大模型应用安全调用外部工具的统一协议。Dify 对 MCP 做了双向支持:

方向能力说明
📥 消费端把外部 MCP Server 加为工具Dify 作为 MCP 客户端,自动拉取远端工具列表供 AI 调用
📤 服务端把 Dify 应用发布为 MCP Server外部客户端通过标准 MCP 协议调用你的 Dify 应用

Dify 的 MCP 客户端同时支持SSE 和 Streamable HTTP两种传输方式,并能根据服务器 URL 自动识别、自动回退(详见 mcp_client.py)。这意味着无论是社区里常见的sse端点还是新版mcp端点,基本都能"粘贴 URL 即用"。

第1步:如何添加外部 MCP Server(工具)

这是 Dify MCP 教程中最常用的一步——把远端 MCP 服务接入你的工作空间:

  1. 进入目标应用的编排界面,打开工具(Tools)面板;
  2. 点击添加工具 → MCP,选择自定义 MCP 服务;
  3. 粘贴你的 MCP Server 地址(如http://your-mcp-server:port/sse或/mcp端点);
  4. 如需鉴权,可在请求头(Headers)中配置 API Key 等参数,Dify 还支持在请求头中引用入站请求头({{request.headers.xxx}}占位符),方便透传调用方身份;
  5. 点击连接,Dify 会自动执行list_tools,把远端工具列表和参数 Schema 全部拉取进来。

💡 提示:连接超时、SSE 读取超时都可以在添加时单独配置,方便对接响应较慢的远端服务。

MCP 工具在内部会被转换为与插件工具一致的结构,远端工具的inputSchema会自动映射为 Dify 的工具参数,AI 即可按标准工具调用流程使用它(转换逻辑见 provider.py)。

第2步:如何在 AI Agent 应用中使用 MCP 工具

接入完成后,让 AI 用起来只需简单拖拽:

  • Agent / Agent(策略)模式:在 Agent 的工具列表中勾选刚才添加的 MCP 工具,AI 会在对话中根据用户意图自主决定调用哪个工具、传什么参数;
  • Workflow / Chatflow 模式:把 MCP 工具作为工具节点拖入画布,在参数中引用上游变量(如用户输入、LLM 输出),实现确定性的编排逻辑;
  • 凭据与身份:MCP 提供方支持身份模式(Identity Mode)配置,可将调用者身份透传给远端服务。

在 Agent 模式下,建议给工具补充清晰的中文/英文描述,有助于大模型更准确地选择工具——这些描述正是 MCP 服务端返回的description字段,由 Dify 自动带入(数据模型见 entities 相关定义)。

第3步:如何把 Dify 应用发布为 MCP Server

Dify 的另一项 MCP 能力:把你搭建好的 Dify 应用(含工作流)一键发布成标准 MCP Server,让 Claude Desktop、其他 Agent 平台等外部客户端直接调用。

核心流程:

  1. 在应用设置中打开MCP Server开关,填写名称与描述,系统会生成一个唯一的server_code;
  2. 配置用户输入表单——把应用的输入变量映射为外部客户端可调用的参数;
  3. 获得形如/mcp/server/{server_code}/mcp的访问端点,交给外部客户端即可。

服务端由 Dify 的 MCP Server 模块实现,基于Streamable HTTP传输并遵循 JSON-RPC 2.0 规范,支持协议版本协商(MCP-Protocol-Version头)、会话管理与调用鉴权(实现见 mcp.py 与 streamable_http.py)。每个已发布的 MCP Server 都会以AppMCPServer记录持久化,并支持 normal/disabled 状态管理(模型定义见 model.py,管理接口见 mcp_server.py)。

Dify MCP 常见问题(FAQ)

Q1:SSE 和 Streamable HTTP 有什么区别?SSE 是 MCP 的早期传输方式;Streamable HTTP 是新版标准,基于普通 HTTP 请求/响应,更简单稳定。Dify 会自动尝试 SSE,失败后回退到 Streamable HTTP,一般无需手动选择。

Q2:MCP Server 需要鉴权怎么办?在添加 MCP 工具时通过自定义请求头(Headers)传入Authorization等凭证即可;Dify 也支持用占位符引用入站请求头做动态透传。

Q3:发布为 MCP Server 后,外部调用需要认证吗?Dify 会校验 MCP Server 的状态与归属应用,访问受应用级权限控制,适合在企业内网或带网关的环境中对外暴露能力。

总结:3 步掌握 Dify MCP 工作流

步骤操作效果
第1步粘贴 MCP Server URL,添加为工具AI 自动获得外部工具调用能力
第2步在 Agent / 工作流中启用该工具对话中自主调用,或节点化编排
第3步开启应用的 MCP Server 功能外部客户端可反向调用你的 AI 应用

借助这套双向 MCP 能力,团队可以在同一个协作空间中,把 AI 应用既作为工具消费方扩展能力,又作为能力提供方对外输出,从原型到生产无需重建技术栈。更多细节可参考仓库中的 API 架构指南 与 README。

【免费下载链接】difyBuild Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from prototype to production without rebuilding the stack.项目地址: https://gitcode.com/GitHub_Trending/di/dify

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询