Este tema describe cómo configurar un servidor Dify e integrarlo con un OpenAPI MCP Server mediante una aplicación OAuth personalizada para la autorización.
Requisitos previos
El servidor Dify requiere como mínimo 2 núcleos de CPU y 4 GiB de RAM.
Dify versión 1.8.0 o posterior.
Procedimiento
Paso 1: Configurar un servidor Dify
Este ejemplo muestra cómo configurar un servidor Dify en una instancia ECS.
Instale Docker en la instancia ECS.
-
Descargue el código de Dify:
git clone https://github.com/langgenius/dify.git -
Modifique el archivo de configuración de Dify:
cd dify/docker cp .env.example .env vim .envEn el archivo de configuración
.env, busque los siguientes parámetros y establezca sus valores:NotaEstos valores deben coincidir con la dirección de callback de su aplicación OAuth.
Parámetro
Valor
CONSOLE_API_URL
http://<Dirección IP pública o nombre de dominio de la instancia ECS>. Si despliega localmente, use http://127.0.0.1.
CONSOLE_WEB_URL
http://<Dirección IP pública o nombre de dominio de la instancia ECS>. Si despliega localmente, use http://127.0.0.1.
SERVICE_API_URL
http://<Dirección IP pública o nombre de dominio de la instancia ECS>. Si despliega localmente, use http://127.0.0.1.
APP_API_URL
http://<Dirección IP pública o nombre de dominio de la instancia ECS>. Si despliega localmente, use http://127.0.0.1.
APP_WEB_URL
http://<Dirección IP pública o nombre de dominio de la instancia ECS>. Si despliega localmente, use http://127.0.0.1.
FILES_URL
http://<Dirección IP pública o nombre de dominio de la instancia ECS>. Si despliega localmente, use http://127.0.0.1.
-
Inicie el servidor Dify:
# Stop Dify # docker compose down # Start Dify docker compose up -dLa siguiente salida indica que el servidor Dify se inició correctamente. Si ocurre un error, ejecute
docker compose up -dnuevamente hasta que aparezca la siguiente salida.[+] Running 13/13 ✔ Network docker_ssrf_proxy_network Created ✔ Network docker_default Created ✔ Container docker-ssrf_proxy-1 Started ✔ Container docker-redis-1 Started ✔ Container docker-db-1 Healthy ✔ Container docker-web-1 Started ✔ Container docker-weaviate-1 Started ✔ Container docker-sandbox-1 Started ✔ Container docker-worker_beat-1 Started ✔ Container docker-api-1 Started ✔ Container docker-plugin_daemon-1 Started ✔ Container docker-worker-1 Started ✔ Container docker-nginx-1 Started
Paso 2: Crear una aplicación OAuth
Cree una aplicación en la página OAuth Applications de la consola de Resource Access Management (RAM). Considere las siguientes configuraciones de parámetros:
|
Parámetro |
Descripción |
|
OAuth protocol version |
Debe ser 2.1. |
|
Application type |
Seleccione Web Application o Native Application. |
|
Access token validity |
Ajústelo según sus necesidades empresariales. |
|
Refresh token validity |
Ajústelo según sus necesidades empresariales. |
|
Callback address |
La dirección debe ser http://<Dirección IP pública o nombre de dominio de la instancia ECS>/console/api/mcp/oauth/callback. Este valor debe coincidir con el de su archivo de configuración .env de Dify. |
|
OAuth scope |
Debe ser /acs/mcp-server. |
Paso 3: Crear un OpenAPI MCP Server
Al crear un MCP Server en el servicio Alibaba Cloud OpenAPI MCP, configure OAuth configuration como Custom OAuth y seleccione la aplicación OAuth que creó. Si usa un MCP Server existente, cambie su configuración de OAuth a Custom OAuth y seleccione su aplicación. Tras seleccionar Custom OAuth, el OpenAPI MCP Server usará su aplicación OAuth para la autorización y redirigirá el código de autorización a su servicio Dify autoalojado.
Paso 4: Agregar un OpenAPI MCP Server a Dify
En un navegador, vaya a la página principal de Dify en
http://<Public IP address of the ECS instance>, siga las instrucciones en pantalla para completar la configuración y luego inicie sesión en Dify.-
Vaya a y agregue un servicio MCP. En Server URL, introduzca el Streamable HTTP Endpoint proporcionado por su Alibaba Cloud OpenAPI MCP Server.
Después de agregar el servicio, espere a que finalice la autorización automática. Si la operación se completa correctamente, la tarjeta del servicio MCP se volverá verde y mostrará un estado en línea.
En el panel de detalles de la derecha, el estado del servicio es Authorized y se enumeran las herramientas ECS disponibles, como Ecs-20140526-DescribeRegions, Ecs-20140526-DescribeAvailableResource, Ecs-20140526-RunInstances, Ecs-20140526-DescribeInstanceStatus y Ecs-20140526-DescribeInstances (7 herramientas en total).
Paso 5: Configurar un modelo en Dify
Dify admite los principales proveedores de modelos, como Qwen, Deepseek y la serie GPT de OpenAI. Para obtener más información, consulte Conectar a un modelo de lenguaje grande.
Haga clic en su foto de perfil en la esquina superior derecha y seleccione Settings.
En la sección Model provider, instale un modelo. Este ejemplo usa Qwen. Para obtener más información sobre Qwen, consulte Select a model.
-
Después de la instalación, configure los ajustes del modelo, incluida la API KEY, el modelo de razonamiento predeterminado de Dify y el modelo de embedding.
NotaEl modelo de razonamiento debe admitir llamadas a herramientas, como
qwen3-max-previewoDeepSeek-R1.En la página Model provider, el proveedor Qwen muestra un estado Unauthorized. Haga clic en el botón Settings junto a él para completar la configuración de autorización. Luego, haga clic en el botón System model settings en la parte superior de la página para seleccionar el modelo de razonamiento predeterminado y el modelo de embedding.
Paso 6: Probar la funcionalidad MCP
Cree una aplicación de agente sencilla para probar las capacidades del OpenAPI MCP Server.
-
Cree una aplicación de agente. En Application Type, seleccione Agent.
En el panel Create application de la izquierda, haga clic en Create Blank App.
-
Agregue herramientas a la aplicación de agente y seleccione el OpenAPI MCP Server que agregó a Dify.
En la página Orchestrate, en la sección Tools de la parte inferior, haga clic en + Add. En la ventana emergente de herramientas, seleccione la categoría MCP, busque mcp_demo y agregue todas sus herramientas. Después de agregarlas, la sección Tools mostrará 7/7 Enabled.
-
En la interfaz Debug & Preview, introduzca una consulta en lenguaje natural, por ejemplo, "¿cuántas instancias ECS hay en China (Hangzhou)?".
El asistente de IA llama a la API
DescribeInstancescon los parámetrosRegionId: cn-hangzhouyPageSize: 1, extrae el campoTotalCountde la respuesta y devuelve el resultado: Hay 1 instancia ECS en China (Hangzhou).