本文将介绍如何搭建Dify服务器,以及在Dify中集成基于自定义 OAuth 应用授权的OpenAPI MCP Server。
前提条件
Dify服务器规格要求CPU >= 2 Core且RAM >= 4 GiB。
Dify版本 >= 1.8.0。
操作步骤
一. 搭建Dify服务器
本示例以在ECS实例中搭建Dify服务器为例。
在ECS实例中安装Docker。
下载Dify代码:
git clone https://github.com/langgenius/dify.git
修改Dify配置文件:
cd dify/docker cp .env.example .env vim .env
请在
.env
配置文件中找到以下配置项,并补充对应的值:说明这里的值需与OAuth应用中的回调地址保持一致。
配置项
值
CONSOLE_API_URL
http://<ECS实例公网IP或域名>。若是在本地部署,则为http://127.0.0.1。
CONSOLE_WEB_URL
http://<ECS实例公网IP或域名>。若是在本地部署,则为http://127.0.0.1。
SERVICE_API_URL
http://<ECS实例公网IP或域名>。若是在本地部署,则为http://127.0.0.1。
APP_API_URL
http://<ECS实例公网IP或域名>。若是在本地部署,则为http://127.0.0.1。
APP_WEB_URL
http://<ECS实例公网IP或域名>。若是在本地部署,则为http://127.0.0.1。
FILES_URL
http://<ECS实例公网IP或域名>。若是在本地部署,则为http://127.0.0.1。
启动Dify服务器:
# 停止Dify # docker compose down # 启动Dify docker compose up -d
当出现以下信息时,表示Dify服务器已成功启动。若出现报错,请重新执行docker compose up -d,直至出现以下信息。
二. 创建OAuth应用
在访问控制RAM控制台-OAuth应用中创建应用,在填入以下内容时需注意:
配置项 | 说明 |
OAuth 协议版本 | 固定选择 2.1。 |
应用类型 | 从Web 应用或Native 应用中选择一个。 |
访问令牌有效期 | 请根据业务需要进行调整。 |
刷新令牌有效期 | 请根据业务需要进行调整。 |
回调地址 | 固定地址:http://<ECS实例公网IP或域名>/console/api/mcp/oauth/callback,与Dify .env配置文件中的值保持一致。 |
OAuth 范围 | 必须选择/acs/mcp-server。 |
三. 创建OpenAPI MCP Server
在阿里云OpenAPI MCP服务中创建MCP Server时,OAuth配置请选择自定义OAuth,并选取此前创建的OAuth应用。如果您使用的是已存在的MCP Server,请将OAuth配置修改为自定义OAuth,并选择此前创建的OAuth应用。 选择自定义OAuth后,OpenAPI MCP Server将以该OAuth应用配置完成授权(将授权码回调至自部署的 Dify 服务)。
四. 在Dify中添加OpenAPI MCP Server
在浏览器中输入Dify首页地址
http://<ECS实例公网IP>
,并根据指引完成配置后登录Dify。在
中添加MCP服务,其中Server URL填写阿里云OpenAPI MCP Server所提供的Streamable HTTP Endpoint。添加后等待自动授权完成。如出现以下信息,表示在Dify中已成功添加阿里云OpenAPI MCP Server。
五. 在Dify中配置模型
Dify目前已支持主流的模型供应商,例如通义千问、Deepseek、OpenAI的GPT系列等,更多信息,请参见接入大模型。
点击右上角头像,选择设置。
在模型供应商中安装模型,本示例选择安装通义千问,关于通义千问的相关介绍,请参见模型总览。
安装完成之后,完成模型的相关配置。包括API KEY、Dify默认使用系统推理模型、Embedding模型等。
说明系统推理模型需要选择能够支持工具调用的模型,例如qwen3-max-preview、DeepSeek-R1等。
六. 测试MCP功能
通过搭建一个简单的Agent应用测试OpenAPI MCP Server的能力。
创建一个Agent应用,请注意应用类型选择Agent。
在Agent应用中添加工具,选择已添加到Dify的OpenAPI MCP server。
在调试与预览界面输入自然语言,例如“查询杭州地域的ECS数量”。