开启左侧

如何将Dify工作流发布为MCP服务,提供给cline,cherry studio等调用?

[复制链接]
作者:CSDN博客
介绍

Dify能够通过MCP SSE插件调用其他平台的MCP-server,Dify的工作流或Chatflow是否也能发布为MCP-server,供其他支持MCP client的工具使用呢?今天,为大家介绍一款Dify插件——mcp-server,它能够实现这一功能,即将Dify的工作流或Chatflow发布为MCP-server,供其他第三方工具调用。 插件名字叫做MCP-server,我们在dify插件市场可以找到这个工具
如何将Dify工作流发布为MCP服务,提供给cline,cherry studio等调用?-1.png


Mcp-server 是一个由 Dify 社区贡献的 Extension 类型插件。安装后,你可以把任何 Dify 应用转变成符合 MCP 标准的 Server Endpoint,供外部 MCP 客户端直接访问。它的主要功能包括:
**暴露为 MCP 工具:**将 Dify 应用抽象为单一 MCP 工具,供外部 MCP 客户端(如 Cursor、Claude Desktop、Cline,Windsurf、Dify 等)调用。
**利用 Dify Endpoint 功能:**用户创建应用 Endpoint 后,将获得唯一的 URL,外部 MCP 客户端可直接通过该 URL 连接。
**提供 MCP 服务:**插件在 Dify 插件环境中自动启动 HTTP 服务,基于 HTTP 和 SSE 协议,高效处理外部 MCP 客户端请求,包括协议握手、能力发现以及工具调用。
使用

+ .env配置endpoint地址 首先你需要在dify的安装路径下进入docker再进入 .env
文件 1001 行找到如下配置
:::info
PLUGIN_DEBUGGING_HOST=0.0.0.0
PLUGIN_DEBUGGING_PORT=5003
EXPOSE_PLUGIN_DEBUGGING_HOST=你的地址
EXPOSE_PLUGIN_DEBUGGING_PORT=5003
# If this key is changed, DIFY_INNER_API_KEY in plugin_daemon service must also be updated or agent node will fail.
PLUGIN_DIFY_INNER_API_KEY=QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1
PLUGIN_DIFY_INNER_API_URL=http://api:5001
ENDPOINT_URL_TEMPLATE=http://你的地址/e/{hook_id}
:::
我们需要把 EXPOSE_PLUGIN_DEBUGGING_HOST 、ENDPOINT_URL_TEMPLATE 这2个地方的localhost 换成你的局域网IP或者公网IP。如172.16.xx.xx:8000
修改之后,记得重启dify
命令:
:::info
docker compose -p dify down
docker compose -p dify up
:::
    mcp-server配置
在插件中找到mcp-server,配置如下
如何将Dify工作流发布为MCP服务,提供给cline,cherry studio等调用?-2.png


输入参数内容如下:
properties:列出应用接收的所有参数及其类型。本示例的参数只有一个,author。
description:用于向 MCP Client 说明此应用的主要功能,帮助系统在需要时自动发现并调用。
required:声明调用应用时必须提供的参数。对于聊天类应用(Agent / Chatflow),参数是通常是必需的。
这块大家可以拷贝,根据自己的实际情况进行替换。
主要是name、description、title、properties中的参数名称、required后面的值。
  1. {"name":"poem","description":"模仿输入的作者风格写诗歌","inputSchema":{"title":"poem","type":"object","properties":{"author":{"title":"author","description":"作者","type":"string"}},"required":["author"]}}
复制代码
保存配置后将会自动生成Endpoint URL。我们后续用到的是GET后面的URL地址。
如何将Dify工作流发布为MCP服务,提供给cline,cherry studio等调用?-3.png


sse和mcp两个get请求都可以,看你要使用哪种方式,这里以sse为例子
上述地址get 请求地址在浏览器上输入验证一下,确保客户端网络能够访问这个MCP-server
在cline调用mcp测试

在cline添加mcp

如何将Dify工作流发布为MCP服务,提供给cline,cherry studio等调用?-4.png


添加远程服务器

如何将Dify工作流发布为MCP服务,提供给cline,cherry studio等调用?-5.png


如何将Dify工作流发布为MCP服务,提供给cline,cherry studio等调用?-6.png


如何将Dify工作流发布为MCP服务,提供给cline,cherry studio等调用?-7.png


调用成功

如何将Dify工作流发布为MCP服务,提供给cline,cherry studio等调用?-8.png


在cherry studio测试

添加MCP服务器

如何将Dify工作流发布为MCP服务,提供给cline,cherry studio等调用?-9.png


找个有function calling或者思考模型测试

如何将Dify工作流发布为MCP服务,提供给cline,cherry studio等调用?-10.png


如何将Dify工作流发布为MCP服务,提供给cline,cherry studio等调用?-11.png


dify配置参考:csdn大佬
诗的schema参考的是:知乎大佬

原文地址:https://blog.csdn.net/awhitev/article/details/147987018
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题
阅读排行更多+

Powered by Discuz! X3.4© 2001-2013 Discuz Team.( 京ICP备17022993号-3 )