Este tópico descreve como configurar um servidor Dify e integrá-lo a um OpenAPI MCP Server por meio de uma aplicação OAuth personalizada para autorização.
Pré-requisitos
O servidor Dify requer pelo menos 2 núcleos de CPU e 4 GiB de RAM.
Dify versão 1.8.0 ou posterior.
Procedimento
Etapa 1: Configurar um servidor Dify
Este exemplo demonstra a configuração de um servidor Dify em uma instância ECS.
Instale o Docker na instância ECS.
-
Baixe o código do Dify:
git clone https://github.com/langgenius/dify.git -
Modifique o arquivo de configuração do Dify:
cd dify/docker cp .env.example .env vim .envNo arquivo de configuração .env, localize os parâmetros abaixo e defina seus valores:
NotaEsses valores devem corresponder ao endereço de callback da sua aplicação OAuth.
Parâmetro
Valor
CONSOLE_API_URL
http://<Endereço IP público ou nome de domínio da instância ECS>. Para implantações locais, use http://127.0.0.1.
CONSOLE_WEB_URL
http://<Endereço IP público ou nome de domínio da instância ECS>. Para implantações locais, use http://127.0.0.1.
SERVICE_API_URL
http://<Endereço IP público ou nome de domínio da instância ECS>. Para implantações locais, use http://127.0.0.1.
APP_API_URL
http://<Endereço IP público ou nome de domínio da instância ECS>. Para implantações locais, use http://127.0.0.1.
APP_WEB_URL
http://<Endereço IP público ou nome de domínio da instância ECS>. Para implantações locais, use http://127.0.0.1.
FILES_URL
http://<Endereço IP público ou nome de domínio da instância ECS>. Para implantações locais, use http://127.0.0.1.
-
Inicie o servidor Dify:
# Stop Dify # docker compose down # Start Dify docker compose up -dA saída abaixo indica que o servidor Dify foi iniciado com sucesso. Se ocorrer um erro, execute
docker compose up -dnovamente até que a seguinte saída apareça.[+] 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
Etapa 2: Criar uma aplicação OAuth
Crie uma aplicação na página OAuth Applications do console do Resource Access Management (RAM). Configure os parâmetros conforme descrito abaixo:
|
Parâmetro |
Descrição |
|
OAuth protocol version |
Deve ser 2,1. |
|
Application type |
Selecione Web Application ou Native Application. |
|
Access token validity |
Ajuste conforme as necessidades do seu negócio. |
|
Refresh token validity |
Ajuste conforme as necessidades do seu negócio. |
|
Callback address |
O endereço deve ser http://<Endereço IP público ou nome de domínio da instância ECS>/console/api/mcp/oauth/callback. Este valor deve corresponder ao definido no arquivo de configuração .env do Dify. |
|
OAuth scope |
Deve ser /acs/mcp-server. |
Etapa 3: Criar um OpenAPI MCP Server
Ao criar um MCP Server no serviço Alibaba Cloud OpenAPI MCP, defina a configuração OAuth como Custom OAuth e selecione a aplicação OAuth criada. Caso utilize um MCP Server existente, altere sua configuração OAuth para Custom OAuth e selecione sua aplicação. Após selecionar Custom OAuth, o OpenAPI MCP Server usará sua aplicação OAuth para autorização e redirecionará o código de autorização para seu serviço Dify auto-hospedado.
Etapa 4: Adicionar um OpenAPI MCP Server ao Dify
Em um navegador, acesse a página inicial do Dify em
http://<Public IP address of the ECS instance>, siga as instruções na tela para concluir a configuração e faça login no Dify.-
Acesse e adicione um serviço MCP. Em Server URL, insira o Streamable HTTP Endpoint fornecido pelo seu Alibaba Cloud OpenAPI MCP Server.
Após adicionar o serviço, aguarde a conclusão da autorização automática. Se bem-sucedido, o cartão do serviço MCP ficará verde e exibirá o status online.
No painel de detalhes à direita, o status do serviço será Authorized, e o painel listará as ferramentas ECS disponíveis, como Ecs-20140526-DescribeRegions, Ecs-20140526-DescribeAvailableResource, Ecs-20140526-RunInstances, Ecs-20140526-DescribeInstanceStatus e Ecs-20140526-DescribeInstances (7 ferramentas no total).
Etapa 5: Configurar um modelo no Dify
O Dify oferece suporte aos principais provedores de modelos, como Qwen, Deepseek e a série GPT da OpenAI. Para mais informações, consulte Conectar a um modelo de linguagem grande.
Clique em sua foto de perfil no canto superior direito e selecione Settings.
Na seção Model provider, instale um modelo. Este exemplo usa o Qwen. Para mais informações sobre o Qwen, consulte Selecionar um modelo.
-
Após a instalação, configure as definições do modelo, incluindo a API KEY, o modelo de raciocínio padrão do Dify e o modelo de embedding.
NotaO modelo de raciocínio deve suportar chamadas de ferramentas, como
qwen3-max-previewouDeepSeek-R1.Na página Model provider, o provedor Qwen exibirá o status Unauthorized. Clique em Settings ao lado dele para concluir a configuração de autorização. Em seguida, clique em System model settings na parte superior da página para selecionar o modelo de raciocínio padrão e o modelo de embedding.
Etapa 6: Testar a funcionalidade MCP
Crie uma aplicação de agente simples para testar as capacidades do OpenAPI MCP Server.
-
Crie uma aplicação de agente. Em Application Type, selecione Agent.
No painel Create application à esquerda, clique em Create Blank App.
-
Adicione ferramentas à aplicação de agente e selecione o OpenAPI MCP Server adicionado ao Dify.
Na página Orchestrate, na seção Tools na parte inferior, clique em + Add. No pop-up de ferramentas, selecione a categoria MCP, encontre mcp_demo e adicione todas as suas ferramentas. Após a adição, a seção Tools exibirá 7/7 Enabled.
-
Na interface Debug & Preview, insira uma consulta em linguagem natural, por exemplo, "quantas instâncias ECS existem em China (Hangzhou)?".
O assistente de IA chama a API
DescribeInstancescom os parâmetrosRegionId: cn-hangzhouePageSize: 1, extrai o campoTotalCountda resposta e retorna o resultado: Existe 1 instância ECS em China (Hangzhou).