Dify MCP 连接服务器
一个基于 TypeScript 的服务器,将 MCP 客户端连接到 Dify 应用程序,并动态地将 Dify 应用程序作为工具公开,以便在 MCP 客户端中直接使用。
服务介绍
Dify MCP 服务器

这是一个基于 TypeScript 的 MCP(Model Context Protocol)服务器,用于将 MCP 客户端连接到 Dify 应用程序。该服务器可以动态地将 Dify 应用程序作为工具暴露出来,以便在 MCP 客户端中直接使用。
概览
此服务器实现了 Model Context Protocol,以桥接 MCP 客户端和 Dify 应用程序。它从 Dify API 动态获取应用程序规范,并将其作为 MCP 工具公开。服务器允许用户通过 MCP 客户端内的统一界面与多个 Dify 应用程序进行交互。
特性
动态 Dify 集成
- 使用 API 密钥连接多个 Dify 应用程序
- 自动获取应用程序元数据和参数
- 根据 Dify 应用程序规范动态生成工具接口
- 支持多种输入类型,包括文本、段落和下拉选择框
请求处理
- 强大的错误处理机制,支持请求重试
- 支持阻塞和流式响应模式
- 处理 JSON 中的大数值(BigInt)
配置
- 通过环境变量配置 API 密钥
- 可配置的基础 URL 和超时设置
- 当环境变量不可用时,回退到默认值
安装
前提条件
- Node.js (v16 或更高版本)
- npm 或 yarn
设置
- 克隆仓库
git clone https://github.com/zhuzhoulin/dify-mcp-server.git
cd dify-mcp-server
- 安装依赖
npm install
- 构建项目
npm run build
与 Windsurf IDE 集成
要与 Windsurf IDE 一起使用,请将服务器配置添加到您的 MCP 设置中:
{
"mcpServers": {
"dify-mcp-server": {
"command": "node",
"args": [
"/path/to/dify-mcp-server/build/index.js"
],
"env": {
"AGENT_API_KEYS": "key1,key2,key3",
"BASE_URL": "https://api.dify.ai",
"TIMEOUT": "60000"
}
}
}
}
环境变量
AGENT_API_KEYS: 逗号分隔的 Dify API 密钥列表BASE_URL: Dify API 的基础 URL (默认: https://api.dify.ai)TIMEOUT: 请求超时时间(毫秒,默认: 60000)
如何获取环境变量
API 密钥(AGENT_API_KEYS): 多个以,分割


使用
配置完成后,Dify MCP 服务器将:
- 使用提供的 API 密钥连接到指定的 Dify 应用程序
- 获取应用程序元数据和参数规范
- 根据 Dify 应用程序配置生成 MCP 工具接口
- 在 Windsurf IDE 中提供这些工具
每个 Dify 应用程序都将作为一个单独的工具暴露出来,名称格式为 dify_app_info_{application_name}。
开发
可用脚本
npm run build: 构建项目npm run prepare: 准备项目的分发npm run watch: 监视更改并重新构建npm run inspector: 运行 MCP 调试器
项目结构
src/index.ts: 主服务器实现src/request.ts: 用于 Dify API 通信的 HTTP 客户端src/type.ts: Dify API 的 TypeScript 接口
故障排除
如果您遇到问题:
- 确认您的 API 密钥正确并且具有必要的权限
- 检查 BASE_URL 是否可以从您的环境中访问
- 查看服务器日志以获取详细的错误信息
- 确保 Dify 应用程序已正确配置并可访问
许可
本项目根据 LICENSE 文件中指定的条款获得许可。