Topik ini menjelaskan cara menyiapkan server Dify dan mengintegrasikannya dengan OpenAPI MCP Server menggunakan aplikasi OAuth kustom untuk otorisasi.
Prasyarat
-
Server Dify memerlukan minimal CPU 2 core dan RAM 4 GiB.
-
Versi Dify 1.8.0 atau yang lebih baru.
Prosedur
Langkah 1: Menyiapkan server Dify
Contoh ini menunjukkan cara menyiapkan server Dify pada Instance ECS.
-
Instal Docker pada Instance ECS.
-
Unduh kode Dify:
git clone https://github.com/langgenius/dify.git -
Ubah file konfigurasi Dify:
cd dify/docker cp .env.example .env vim .envPada file konfigurasi
.env, temukan parameter berikut dan atur nilainya:CatatanNilai-nilai ini harus sesuai dengan callback address dari Aplikasi OAuth Anda.
Parameter
Nilai
CONSOLE_API_URL
http://<Alamat IP publik atau Nama domain Instance ECS>. Jika Anda melakukan deployment secara lokal, gunakan http://127.0.0.1.
CONSOLE_WEB_URL
http://<Alamat IP publik atau Nama domain Instance ECS>. Jika Anda melakukan deployment secara lokal, gunakan http://127.0.0.1.
SERVICE_API_URL
http://<Alamat IP publik atau Nama domain Instance ECS>. Jika Anda melakukan deployment secara lokal, gunakan http://127.0.0.1.
APP_API_URL
http://<Alamat IP publik atau Nama domain Instance ECS>. Jika Anda melakukan deployment secara lokal, gunakan http://127.0.0.1.
APP_WEB_URL
http://<Alamat IP publik atau Nama domain Instance ECS>. Jika Anda melakukan deployment secara lokal, gunakan http://127.0.0.1.
FILES_URL
http://<Alamat IP publik atau Nama domain Instance ECS>. Jika Anda melakukan deployment secara lokal, gunakan http://127.0.0.1.
-
Jalankan server Dify:
# Hentikan Dify # docker compose down # Jalankan Dify docker compose up -dOutput berikut menunjukkan bahwa server Dify telah berhasil dijalankan. Jika terjadi error, jalankan kembali perintah
docker compose up -dhingga output berikut muncul.[+] 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
Langkah 2: Membuat Aplikasi OAuth
Buat aplikasi pada halaman Aplikasi OAuth di Konsol Resource Access Management (RAM). Perhatikan pengaturan parameter berikut:
|
Parameter |
Deskripsi |
|
Versi protokol OAuth |
Harus 2.1. |
|
Jenis aplikasi |
Pilih salah satu dari Web Application atau Native Application. |
|
Masa berlaku access token |
Atur sesuai kebutuhan bisnis Anda. |
|
Masa berlaku refresh token |
Atur sesuai kebutuhan bisnis Anda. |
|
Callback address |
Alamat harus berupa http://<Alamat IP publik atau Nama domain Instance ECS>/console/api/mcp/oauth/callback. Alamat ini harus sesuai dengan nilai dalam file konfigurasi .env Dify Anda. |
|
OAuth scope |
Harus /acs/mcp-server. |
Langkah 3: Membuat OpenAPI MCP Server
Saat membuat MCP Server di layanan Alibaba Cloud OpenAPI MCP, atur konfigurasi OAuth ke Custom OAuth dan pilih Aplikasi OAuth yang telah Anda buat. Jika Anda menggunakan MCP Server yang sudah ada, ubah konfigurasi OAuth-nya menjadi Custom OAuth dan pilih aplikasi Anda. Setelah memilih Custom OAuth, OpenAPI MCP Server akan menggunakan Aplikasi OAuth Anda untuk otorisasi serta mengarahkan authorization code ke layanan Dify yang Anda host sendiri.
Langkah 4: Menambahkan OpenAPI MCP Server ke Dify
-
Buka browser, akses halaman utama Dify di
http://<Alamat IP publik Instance ECS>, ikuti petunjuk di layar untuk menyelesaikan penyiapan, lalu login ke Dify. -
Navigasi ke dan tambahkan layanan MCP. Untuk Server URL, masukkan Streamable HTTP Endpoint yang disediakan oleh OpenAPI MCP Server Alibaba Cloud Anda.
Setelah layanan ditambahkan, tunggu hingga otorisasi otomatis selesai. Jika berhasil, kartu layanan MCP berubah menjadi hijau dan menampilkan status online.
Pada panel detail di sebelah kanan, status layanan adalah Authorized, dan panel tersebut mencantumkan tool ECS yang tersedia, seperti Ecs-20140526-DescribeRegions, Ecs-20140526-DescribeAvailableResource, Ecs-20140526-RunInstances, Ecs-20140526-DescribeInstanceStatus, dan Ecs-20140526-DescribeInstances (total 7 tool).
Langkah 5: Mengonfigurasi model di Dify
Dify mendukung penyedia model utama seperti Qwen, Deepseek, dan seri GPT dari OpenAI. Untuk informasi lebih lanjut, lihat Menghubungkan ke model bahasa besar.
-
Klik gambar profil Anda di pojok kanan atas dan pilih Settings.
-
Pada bagian Model provider, instal sebuah model. Contoh ini menggunakan Qwen. Untuk informasi lebih lanjut tentang Qwen, lihat Memilih model.
-
Setelah instalasi, konfigurasikan pengaturan model, termasuk API KEY, model penalaran default Dify, dan model penyematan.
CatatanModel penalaran harus mendukung tool calls, seperti
qwen3-max-previewatauDeepSeek-R1.Pada halaman Model provider, penyedia Qwen menampilkan status Unauthorized. Klik tombol Settings di sampingnya untuk menyelesaikan konfigurasi otorisasi. Lalu, klik tombol System model settings di bagian atas halaman untuk memilih model penalaran dan model penyematan default.
Langkah 6: Menguji fungsionalitas MCP
Buat aplikasi agen sederhana untuk menguji kemampuan OpenAPI MCP Server.
-
Buat aplikasi agen. Untuk Application Type, pilih Agent.
Pada panel Create application di sebelah kiri, klik Create Blank App.
-
Tambahkan tool ke aplikasi agen dan pilih OpenAPI MCP Server yang telah Anda tambahkan ke Dify.
Pada halaman Orchestrate, di bagian bawah pada Tools, klik + Add. Pada pop-up tool, pilih kategori MCP, temukan mcp_demo, lalu tambahkan semua tool-nya. Setelah ditambahkan, bagian Tools menampilkan 7/7 Enabled.
-
Pada antarmuka Debug & Preview, masukkan kueri dalam bahasa alami, misalnya, "berapa jumlah instance ECS di China (Hangzhou)?"
Asisten AI memanggil API
DescribeInstancesdengan parameterRegionId: cn-hangzhoudanPageSize: 1, mengekstrak bidangTotalCountdari respons, lalu mengembalikan hasil: Terdapat 1 instance ECS di China (Hangzhou).