使用说明
Dify MCP服务器
一个基于TypeScript的MCP(模型上下文协议)服务器,将MCP客户端连接到Dify应用程序。此服务器动态地将Dify应用程序公开为可以直接在MCP客户端中使用的工具。
概述
此服务器实现了模型上下文协议,以在MCP客户端和Dify应用程序之间架起桥梁。它从Dify API动态获取应用程序规范,并将其作为MCP工具公开。服务器允许用户通过MCP客户端内的统一界面与多个Dify应用程序进行交互。
特性
动态Dify集成
- 使用API密钥连接到多个Dify应用程序
- 自动获取应用程序元数据和参数
- 根据Dify应用程序规范动态生成工具接口
- 支持各种输入类型,包括文本、段落和选择下拉菜单
请求处理
- 通过请求重试进行稳健的错误处理
- 支持阻塞和流式响应模式
- JSON BigInt处理大数值
配置
- 通过环境变量配置的API密钥
- 可配置的基本URL和超时设置
- 当环境变量不可用时,回退到默认值
安装
先决条件
- Node.js(v16或更高版本)
- npm或纱线
设置
- 克隆存储库
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文件中指定的条款获得许可。