在Dify中集成OpenAPI MCP Server

本文将介绍如何搭建Dify服务器,以及在Dify中集成基于自定义 OAuth 应用授权的OpenAPI MCP Server。

前提条件

  • Dify服务器规格要求CPU >= 2 CoreRAM >= 4 GiB。

  • Dify版本 >= 1.8.0。

操作步骤

一. 搭建Dify服务器

本示例以在ECS实例中搭建Dify服务器为例。

  1. ECS实例中安装Docker

  2. 下载Dify代码

    git clone https://github.com/langgenius/dify.git
  3. 修改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。

  4. 启动Dify服务器:

    # 停止Dify 
    # docker compose down 
    # 启动Dify
    docker compose up -d

    当出现以下信息时,表示Dify服务器已成功启动。若出现报错,请重新执行docker compose up -d,直至出现以下信息。

    image

二. 创建OAuth应用

访问控制RAM控制台-OAuth应用中创建应用,在填入以下内容时需注意:

配置项

说明

OAuth 协议版本

固定选择 2.1。

应用类型

Web 应用Native 应用中选择一个。

访问令牌有效期

请根据业务需要进行调整。

刷新令牌有效期

请根据业务需要进行调整。

回调地址

固定地址:http://<ECS实例公网IP或域名>/console/api/mcp/oauth/callback,与Dify .env配置文件中的值保持一致。

OAuth 范围

必须选择/acs/mcp-server。

image

三. 创建OpenAPI MCP Server

阿里云OpenAPI MCP服务中创建MCP Server时,OAuth配置请选择自定义OAuth,并选取此前创建的OAuth应用。如果您使用的是已存在的MCP Server,请将OAuth配置修改为自定义OAuth,并选择此前创建的OAuth应用。 选择自定义OAuth后,OpenAPI MCP Server将以该OAuth应用配置完成授权(将授权码回调至自部署的 Dify 服务)。

image

四. 在Dify中添加OpenAPI MCP Server

  1. 在浏览器中输入Dify首页地址http://<ECS实例公网IP>,并根据指引完成配置后登录Dify。

  2. 工具 > MCP中添加MCP服务,其中Server URL填写阿里云OpenAPI MCP Server所提供的Streamable HTTP Endpoint

    image

    添加后等待自动授权完成。如出现以下信息,表示在Dify中已成功添加阿里云OpenAPI MCP Server。

    image

五. 在Dify中配置模型

Dify目前已支持主流的模型供应商,例如通义千问、Deepseek、OpenAIGPT系列等,更多信息,请参见接入大模型

  1. 点击右上角头像,选择设置。

    image

  2. 在模型供应商中安装模型,本示例选择安装通义千问,关于通义千问的相关介绍,请参见模型总览

    image

  3. 安装完成之后,完成模型的相关配置。包括API KEY、Dify默认使用系统推理模型、Embedding模型等。

    说明

    系统推理模型需要选择能够支持工具调用的模型,例如qwen3-max-preview、DeepSeek-R1等。

    image

六. 测试MCP功能

通过搭建一个简单的Agent应用测试OpenAPI MCP Server的能力。

  1. 创建一个Agent应用,请注意应用类型选择Agent。

    image

  2. Agent应用中添加工具,选择已添加到DifyOpenAPI MCP server。

    image

  3. 在调试与预览界面输入自然语言,例如“查询杭州地域的ECS数量”。

    image