Token导航 LogoToken导航TokenDH.com
Dify MCP Client logo
搜索检索stdio官方级别未说明来源级核验

Dify MCP Client

MCP Server

MCP Client as an Agent Strategy Plugin. Dify is not MCP Server but MCP Host.

工具数

0

提示词数

0

GitHub Stars

167

资源数

0
AI代理Python搜索

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

3dify-project

提供方

3dify-project

最后核验

2026/5/18 04:06

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install mcp-simple-arxiv

详细介绍

dify mcp客户端

MCP Client 作为支持计算机使用代理(UI-TARS-SDK)的代理策略插件。

\[!重要\] Dify不是 MCP Server 但是 MCP Host.

showcase1

运作原理

MCP client (ReAct Agent)节点可以连接 MCP servers.

  1. Tool, Resource, Prompt 列表转换为Dify工具。
  2. 您选择的法学硕士可以查看他们的 name, description, argument type
  3. LLM基于ReAct循环调用工具(原因→ Act → 观察)。
\[!注意\] 此存储库中的大多数代码包含以下文件。 #### Dify官方插件/代理策略 https://github.com/langgenius/dify-official-plugins/tree/main/agent-strategies/cot_agent

✅ 我所做的

  • 已复制 ReAct.py 并将文件重命名为 mcpReAct.py
  • 添加 config_json 通过编辑GUI输入字段 mcpReAct.yamlclass mcpReActParams()

在mcpReAct.py中,我添加了

  • MCP新增12项功能
  • __init__() 用于初始化 AsyncExitStackevent loop
  • 中的一些代码 _handle_invoke_action() 对于MCP
  • MCP设置和清理 _invoke()
\[!重要\] ReAct while循环保持原样

🔄 更新历史

  • 添加SSE MCP客户端(v0.0.2)
  • 支持多个SSE服务器(v0.0.3)
  • 更新python模块并简化其依赖关系(v0.0.4)

- mcp(v1.1.2)→v1.6.0+) - dify-plugin(0.0.1b72→v0.1.0)

  • 添加UI-TARS SDK集成,以实现GUI自动化功能(v0.0.5)
  • 支持流式HTTP MCP客户端
  • SSE参数: /sse?key=value (v0.0.6)

🤖 UI-TARS集成

此插件包括 UI-TARS SDK GUI自动化功能的集成。

\[!警告\] UI-TARS-SDK集成仅支持Dify插件的本地调试部署。 https://github.com/3dify-project/dify-mcp-client#-如何开发和部署插件 正常的difypkg安装不起作用。因为UI-TARS需要操作系统本机API,而Dify-plugin-env是Linux docker容器。 我正在考虑通过Streamable HTTP MCP提供替代解决方案。

主要特点

  • 按需GUI自动化:UI-TARS仅在需要时调用,减少代币消耗
  • 寿命控制:设置每个任务的最大循环计数,以防止自动化失控

已知限制

  • 单显示器支持:UI-TARS目前仅识别主监视器。不支持多显示器设置。
  • Mac Retina显示屏问题:在配备Retina显示器的macOS上,UI-TARS要求将显示分辨率设置为“默认”,而不是最高质量设置。否则,将单击错误的(w,h)点。https://github.com/bytedance/UI-TARS-desktop/issues/591

寿命参数

life_time 参数控制UI-TARS可以执行的GUI操作的最大数量:

  • 默认值:10次迭代
  • 用户可配置的最大值 ui_tars_max_life_time_count
  • 您选择的LLM可以根据任务复杂性在用户定义的限制内动态调整
\[!注意\] 目前硬编码为使用UI-TARS-1.5-7B模型,以实现最佳的性价比平衡。

🐳 使用预构建的Node.js部署Docker

构建Docker镜像

This pulldown guide is for TypeScript stdio MCP server user

docker build -t dify-mcp-client:latest .

或者使用我们预先构建的图像:

# In your docker-compose.yml
services:
  plugin-daemon:
    image: memedayo/dify-plugin-daemon:latest  # with Pre-built Node.js
    # ... rest of configuration

如果容器中没有Node.js,您将失去TypeScript stdio MCP支持。

UI-TARS配置

有关详细的UI-TARS设置,请参阅 UI-TARS桌面部署指南.

该插件自动将UI-TARS配置为ReAct循环中的工具。您需要提供:

  • 拥抱人脸推断端点URL
  • API类密钥(hf_xxxxx)
  • (可选)调整 ui_tars_max_life_time_count 代理参数

⚠️ 注意和限制

\[!小心\] 此插件可以 实施a 人在循环 默认情况下为机制,因此连接 仅限可靠的mcp服务器.
为了避免这种情况,请减少 max itereations(默认值:3)to 1,并在Chatflow中重复使用此Agent节点。
但是,代理内存将在工作流结束时重置。
使用 Conversaton Variable 保存历史记录并将其传递给QUERY。\ 别忘了添加一个短语,比如 *“调用工具时请求用户的许可”* 在说明中。

如何使用此插件

🛜从GitHub安装插件

  • 输入以下GitHub存储库名称
https://github.com/3dify-project/dify-mcp-client/
  • Dify>插件>+安装插件>从GitHub安装

difyUI1

⬇️从.difypkg文件安装插件

  • 转到发布https://github.com/3dify-project/dify-mcp-client/releases
  • 选择合适的版本 .difypkg
  • Dify>插件>+安装插件>安装来源>本地包文件

difyUI2

安装插件时如何处理错误?

问题:如果您遇到错误消息: plugin verification has been enabled, and the plugin you want to install has a bad signature,如何处理这个问题?

解决方案:打开 /docker/.env 并从 truefalse:

FORCE_VERIFYING_SIGNATURE=false

运行以下命令以重新启动Dify服务:

cd docker
docker compose down
docker compose up -d

添加此字段后,Dify平台将允许安装Dify Marketplace中未列出(因此未验证)的所有插件。

这个插件在哪里显示?

  • 安装只需几分钟
  • 安装后,您可以将其用作任何工作流的代理节点
  • 选择“mcpReAct”策略(否则无MCP)

配置

MCP代理插件节点需要像这样的config.json命令或URL来连接MCP服务器

{
    "mcpServers":{
        "name_of_server1":{
            "url": "http://host.docker.internal:8080/sse"
        },
        "name_of_server2":{
            "url": "http://host.docker.internal:8008/mcp"
        }
    }
}
\[!警告\] - 每个服务器的端口号应该不同,如8080、8008、。.. - 如果你想使用stdio-mcp服务器,有三种方法。 1. 使用mcp代理将其转换为流式HTTP mcp服务器https://github.com/sparfenyuk/mcp-proxy?tab=readme-ov文件#1-stdio-to-sestreamable http 1. 使用源代码部署( 通过.difypkg或GitHub存储库名称安装)https://github.com/3dify-project/dify-mcp-client/edit/main/README.md#-如何开发和部署插件 1. 在dify插件docker中预安装Node.js(仅限TypeScript stdio服务器)

聊天流示例

showcase2

\[!警告\] - “工具”字段不应为空。所以 选择Dify工具 比如“当前时间”。

我提供这个Dify聊天流 .yml 用于测试此插件。

https://github.com/3dify-project/dify-mcp-client/tree/main/test/chatflow

下载DSL(yml)文件后,将其导入Dify,您可以使用“Everything MCP server”测试MCP

https://github.com/modelcontextprotocol/servers/tree/main/src/everything

如何将stdio MCP服务器转换为Stremable HTTP(或SSE)

选项1️⃣: 编辑MCP服务器的代码

如果是fastMCP服务器,请按如下方式更改

if __name__ == "__main__":
-    mcp.run(transport="stdio")
+    mcp.run(transport="streamable-http")

选项2️⃣: 通过mcp代理

\[!警告\] 建议使用流式HTTP,而不是弃用的SSE 遵循旧的SSE设置不起作用。阅读https://github.com/sparfenyuk/mcp-proxy相反。

SSE setup (NOT Streamable HTTP)

\mcp-proxy>uv venv -p 3.12
.venv\Scripts\activate
uv tool install mcp-proxy

检查Node.js是否已安装以及npx(.cmd)路径

(Mac/Linux)

which npx

(Windows)

where npx

结果

C:\Program Files\nodejs\npx
C:\Program Files\nodejs\npx.cmd
C:\Users\USER_NAME\AppData\Roaming\npm\npx
C:\Users\USER_NAME\AppData\Roaming\npm\npx.cmd

如果claude_desktop_config.json遵循模式,

{
  "mcpServers": {
    "SERVER_NAME": {
       "command": CMD_NAME_OR_PATH 
       "args": {VALUE1, VALUE2}
    }
  }
}

通过此命令唤醒stdio MCP服务器

mcp-proxy --sse-port=8080 --pass-environment -- CMD_NAME_OR_PATH --arg1 VALUE1 --arg2 VALUE2 ...

如果您的操作系统是Windows,请使用npx.cmd而不是npx。以下是通过MCP代理将stdio“everything MCP server”转换为SSE的示例命令。

mcp-proxy --sse-port=8080 --pass-environment -- C:\Program Files\nodejs\npx.cmd --arg1 -y --arg2 @modelcontextprotocol/server-everything

同样,在另一个命令行上(如果您在v0.0.3中使用示例Chatflow)

pip install mcp-simple-arxiv
mcp-proxy --sse-port=8008 --pass-environment -- C:\Users\USER_NAME\AppData\Local\Programs\Python\Python310\python.exe -m -mcp_simple_arxiv

以下是mcp代理设置日志。

(mcp_proxy) C:\User\USER_NAME\mcp-proxy>mcp-proxy --sse-port=8080 --pass-environment -- C:\Program Files\nodejs\npx.cmd --arg1 -y --arg2 @modelcontextprotocol/server-everything
DEBUG:root:Starting stdio client and SSE server
DEBUG:asyncio:Using proactor: IocpProactor
DEBUG:mcp.server.lowlevel.server:Initializing server 'example-servers/everything'
DEBUG:mcp.server.sse:SseServerTransport initialized with endpoint: /messages/
INFO:     Started server process [53104]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://127.0.0.1:8080 (Press CTRL+C to quit)

🔨 如何开发和部署插件

官方插件开发指南

https://github.com/3dify-project/dify-mcp-client/blob/main/GUIDE.md

Dify插件SDK守护进程

如果你的操作系统是Windows,CPU是Intel或AMD,你需要下载最新的 dify-plugin-windows-amd64.exe

在此处选择您的操作系统兼容版本:

https://github.com/langgenius/dify-plugin-daemon/releases

  1. 为方便起见,将其重命名为dify.exe
  2. mkdir“C\\User\\User\\.local\\bin”(Windows)并将其注册为系统路径。
  3. 复制 dify.exe 转为dify mcp客户/
\[!提示\] 以下指南很有帮助。 https://docs.dify.ai/plugins/quick-start/develop-plugins/initialize-development-tools

参考

https://docs.dify.ai/plugins/quick-start/develop-plugins/initialize-development-tools

\[!注意\] 如果您提取或下载此仓库的代码,则可以跳过此阶段 `` dify plugin init `` 初始设置如下 InitialDifyPluginSetting

更改目录

cd dify-mcp-client

安装python模块

Python3.12+是兼容的。这 venvuv 不是必需的,但建议。

uv venv -p 3.12
.venv\Scripts\activate

安装python模块进行插件开发

uv pip install -r requirements.txt

仅限UI-TARS-SDK用户(安装Node.js v22 LTS后)

npm install

复制 env.example 并将其重命名为 .env

我变了 REMOTE_INSTALL_HOSTdebug.dify.ailocalhost (Docker Compose环境) 点击🪲bug图标按钮查看这些信息

激活Dify插件

python -m main

(按ctrl+C停止)

\[!提示\] .env的REMOTE_INSTALL_KEY经常发生变化。 如果您遇到以下错误消息 handshake failed, invalid key,续订。

包装成.difypkg

./dify-mcp-client 是我的默认根名称

dify plugin package ./ROOT_OF_YOUR_PROJECT

对开发人员有用的GitHub存储库

Dify插件SDK

https://github.com/langgenius/dify-plugin-sdks

MCP Python SDK

https://github.com/modelcontextprotocol/python-sdk

\[!提示\] MCP客户端示例
https://github.com/modelcontextprotocol/python-sdk/blob/main/examples/clients/simple-chatbot/mcp_simple_chatbot/main.py
\[!注意\] Dify插件有 requirements.txt 它会自动安装python模块。
我包括最新 mcp 因此,您不需要单独下载MCP SDK。

目录标签

目录标签

AI代理Python搜索research-and-datamcpdifydify-pluginsmcp-clientsDify插件本地部署MCP客户端ReAct代理GUI自动化工具调用

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP