Saat aplikasi AI pihak ketiga berkomunikasi dengan server OpenAPI MCP melalui HTTP tetapi tidak dapat menangani autentikasi Alibaba Cloud secara mandiri, gunakan aliyun utils mcp-proxy sebagai proxy autentikasi lokal. Proxy ini secara otomatis menangani otorisasi OAuth dan manajemen token, sehingga aplikasi dapat memanggil API layanan Alibaba Cloud tanpa perlu mengelola kredensial.
Ikhtisar aliyun utils mcp-proxy
aliyun utils mcp-proxy adalah tool proxy server MCP yang disediakan oleh Alibaba Cloud CLI. Tool ini menyederhanakan interaksi antara aplikasi AI pihak ketiga, seperti Dify dan LangChain, dengan server OpenAPI MCP. Saat pertama kali dijalankan, Anda harus menyelesaikan otorisasi OAuth secara manual. Setelah itu, proxy akan menangani penyegaran token secara otomatis.
Cara kerjanya: Aplikasi mengirim permintaan API ke mcp-proxy. Proxy menambahkan kredensial lalu meneruskan permintaan tersebut ke server OpenAPI MCP.
Peran kredensial: Saat runtime, aliyun utils mcp-proxy menggunakan dua jenis kredensial yang berlaku pada tahap berbeda:
Kredensial Alibaba Cloud CLI — Pasangan AccessKey yang Anda konfigurasikan dengan menjalankan
aliyun configure. Anda dapat menggunakan--profileuntuk menentukan konfigurasi mana yang digunakan. Proxy menggunakan kredensial ini untuk menanyakan atau membuat aplikasi OAuth selama tahap startup.Token OAuth — Proxy memperoleh token ini selama otorisasi pertama dan menyegarkannya secara otomatis pada eksekusi berikutnya. Proxy menggunakan token ini untuk autentikasi saat meneruskan permintaan ke server OpenAPI MCP.
Identitas yang kredensialnya Anda konfigurasikan untuk CLI harus memiliki izin RAM terkait aplikasi OAuth. Untuk detailnya, lihat Langkah 1: Konfigurasi Alibaba Cloud CLI. Cakupan server MCP yang dapat diakses oleh proxy saat meneruskan permintaan ditentukan oleh identitas yang menyelesaikan otorisasi OAuth.
Setelah Anda menjalankan mcp-proxy, semua pengguna pada host dapat mengakses semua server MCP dalam cakupan izin pengguna CLI yang menjalankan proxy melalui port proxy tersebut. Sebelum menerapkan proxy, baca Risiko keamanan dan mitigasinya serta selesaikan konfigurasi isolasi lingkungan, kontrol akses jaringan, dan batasan cakupan server.
Konfigurasi dan jalankan proxy
Langkah 1: Konfigurasi Alibaba Cloud CLI
Instal atau upgrade Alibaba Cloud CLI ke versi 3.5.0 atau lebih baru. Untuk petunjuknya, lihat Instal, update, dan uninstal Alibaba Cloud CLI.
Konfigurasikan CLI dengan pasangan AccessKey dari akun Alibaba Cloud atau Pengguna RAM.
aliyun configure # Masukkan ID AccessKey, Rahasia AccessKey, dan wilayah default sesuai permintaan.Jika Anda menggunakan Pengguna RAM, berikan izin pada tabel berikut kepada Pengguna RAM tersebut.
Izin
Tujuan
Skenario
ram:ListApplicationsMenanyakan aplikasi OAuth berdasarkan nama.
Wajib. Proxy memerlukan izin ini saat pertama kali dijalankan, atau saat informasi otorisasi lokal tidak tersedia. Izin ini juga diperlukan saat Anda menggunakan
--oauth-app-nameuntuk menentukan aplikasi yang sudah ada.ram:CreateApplicationMembuat aplikasi OAuth default
aliyun-cli-mcp-proxy.Diperlukan saat Anda tidak menggunakan
--oauth-app-nameuntuk menentukan aplikasi dan aplikasi default belum ada.ram:GetApplicationMenanyakan aplikasi OAuth berdasarkan ID.
Disarankan. Proxy menggunakan izin ini untuk menggunakan kembali informasi otorisasi lokal yang tersimpan. Tanpa izin ini, proxy harus menyelesaikan otorisasi OAuth baru setiap kali dijalankan.
Langkah 2: Jalankan proxy untuk pertama kali dan selesaikan otorisasi OAuth
Saat Anda menjalankan mcp-proxy untuk pertama kali, Anda harus menyelesaikan otorisasi OAuth satu kali untuk mendapatkan izin penyegaran token.
Jalankan proxy di foreground.
Di lingkungan dengan GUI, jika Anda tidak menambahkan parameter
--no-browser, CLI secara otomatis membuka browser untuk menjalankan alur login otorisasi OAuth, sehingga Anda tidak perlu memasukkan kode otorisasi secara manual. Setelah otorisasi selesai, langsung lanjut ke langkah 5.aliyun utils mcp-proxy --host 127.0.0.1 --port 8088Di server tanpa GUI, tambahkan parameter
--no-browser. Langkah-langkah berikut memandu Anda untuk memperoleh kode otorisasi secara manual.aliyun utils mcp-proxy --host 127.0.0.1 --port 8088 --no-browser
CatatanAnda dapat menggunakan parameter
--oauth-app-nameuntuk menentukan aplikasi OAuth kustom. Aplikasi tersebut harus memenuhi persyaratan berikut:Cakupan OAuth: Termasuk cakupan otorisasi yang ditentukan oleh parameter
--scope. Nilai default-nya adalah/acs/mcp-server.Redirect URI: Termasuk
http://<host>:<port>/callback, di manahostdanportadalah nilai dari parameter--hostdan--portyang Anda gunakan untuk menjalankan proxy.Jenis aplikasi: Harus merupakan aplikasi
NativeApp.
Terminal mencetak URL otorisasi.
Setting up MCPOAuth profile 'default-mcp'... Opening browser for OAuth login... URL: https://signin.alibabacloud.com/oauth2/v1/auth?client_id=XXXX&response_type=code&scope=%2Facs%2Fmcp-server&redirect_uri=http://127.0.0.1:8088/callback&code_challenge=XXX&code_challenge_method=S256 Please open the authorization URL on a machine with a browser and complete the sign-in. After authorization, the browser will redirect to a callback URL. Even if the page fails to load (connection error), the authorization code is in the URL. Please copy the value of the `code` parameter from the browser's address bar. Example: If the URL is: http://127.0.0.1:8088/callback?code=abc123xyz&state=... Then copy only: abc123xyz Enter authorization code: <YOUR CODE>Buka URL tersebut di browser, login, dan selesaikan otorisasi.
Setelah otorisasi berhasil, halaman dialihkan ke alamat yang berisi parameter
code, atau langsung menampilkan kode otorisasi. Salin nilaicode, tempelkan ke terminal, lalu tekan Enter untuk mengonfirmasi.Saat terminal menampilkan pesan
OAuth login successful!, proses login otorisasi berhasil.2025/12/04 19:11:49 OAuth authorization code received successfully 2025/12/04 19:11:49 Start to exchange code for token with PKCE 2025/12/04 19:11:49 Exchange code for token with PKCE successfully OAuth login successful!Saat terminal menampilkan pesan
MCP Proxy Server Started, proxy berhasil dijalankan.MCP Profile 'default-mcp' configured for oauth app 'aliyun-cli-mcp-proxy' successfully! MCP Proxy Server Started Listen: 127.0.0.1:8088 Region: CN
Langkah 3: Konfigurasi layanan latar belakang systemd (contoh CentOS)
Untuk menjaga proxy tetap berjalan stabil, konfigurasikan sebagai layanan systemd yang otomatis dijalankan saat boot.
Buat file layanan
systemd: aliyun-mcp-proxy.Ganti konten berikut:
Ganti
your-userdalam perintah dengan nama pengguna non-rootyang sebenarnya yang menjalankan perintah ini. Pengguna ini harus telah mengonfigurasi kredensial dengan menjalankanaliyun configure, dan harus telah menyelesaikan otorisasi OAuth sebelumnya di bawah pengguna ini. Saat layanan dijalankan, proxy menggunakan kembali kredensial otorisasi yang tersimpan di direktori home pengguna ini dan tidak memicu otorisasi browser lagi.ExecStartharus berisi jalur mutlak perintahaliyun. Jalankanwhich aliyununtuk mendapatkan jalur sebenarnya, lalu ganti/usr/local/bin/aliyunpada contoh. systemd tidak mengurai field ini melalui shell, sehingga substitusi perintah seperti$(which aliyun)tidak berlaku.
sudo tee /etc/systemd/system/aliyun-mcp-proxy.service << 'EOF' [Unit] Description=Aliyun CLI MCP Proxy After=network.target [Service] Type=simple User=your-user ExecStart=/usr/local/bin/aliyun utils mcp-proxy --host 127.0.0.1 --port 8088 --no-browser Restart=always RestartSec=10 Environment=HOME=/home/your-user [Install] WantedBy=multi-user.target EOFMuat ulang konfigurasi
systemddan jalankan layanan.# Muat ulang konfigurasi sudo systemctl daemon-reload # Jalankan layanan sudo systemctl start aliyun-mcp-proxy # Aktifkan layanan agar berjalan saat boot sudo systemctl enable aliyun-mcp-proxy
Langkah 4: Verifikasi layanan proxy
Verifikasi bahwa layanan berjalan dengan baik menggunakan salah satu metode berikut.
Lihat status layanan
Jalankan perintah berikut untuk melihat status layanan.
sudo systemctl status aliyun-mcp-proxyJika output berisi
active (running), layanan berhasil dijalankan.Request Proxy Port
Jalankan perintah berikut untuk mengirim permintaan langsung ke port proxy.
curl http://127.0.0.1:8088/Jika proxy berfungsi dengan baik, Anda akan menerima respons kesalahan XML dari server MCP, yang menunjukkan bahwa koneksi antara proxy dan layanan telah terbentuk.
<?xml version='1.0' encoding='UTF-8'?><Error><RequestId>B3311876-XXXXX</RequestId><HostId>openapi-mcp.cn-hangzhou.aliyuncs.com</HostId><Code>InvalidAction.NotFound</Code><Message>Specified api is not found, please check your url and method.</Message><Recommend><![CDATA[https://api.alibabacloud.com/troubleshoot?q=InvalidAction.NotFound&product=OpenAPIExplorer&requestId=B3311876-XXX]]></Recommend></Error>
Studi kasus: integrasi dengan Dify
Contoh berikut menggunakan Dify yang diterapkan melalui Docker Compose pada instance ECS yang sama untuk menjelaskan cara mengonfigurasi dan menggunakan proxy mcp-proxy dalam aplikasi.
Langkah 1: Dapatkan alamat IP bridge Docker host dan jalankan layanan mcp-proxy
Kontainer Dify harus mengakses layanan mcp-proxy melalui alamat IP bridge Docker host.
Jalankan perintah berikut untuk mendapatkan dan mencatat alamat IP tersebut.
ip addr show docker0 | grep "inet\b" | awk '{print $2}' | cut -d/ -f1Perintah ini mengembalikan alamat IP seperti
172.17.0.1.Jalankan layanan mcp-proxy di foreground. Atau, modifikasi perintah startup di
systemdlalu jalankan layanan.aliyun utils mcp-proxy --host 172.17.0.1 --port 8088 --no-browserCatatanAlamat callback ditentukan oleh parameter
--hostdan--port. Setelah Anda mengubah alamat listen dari127.0.0.1ke alamat IP bridge Docker, tambahkan alamat callback baru (misalnya,http://172.17.0.1:8088/callback) ke aplikasi OAuth yang sesuai di Konsol RAM pada bagian Integrations > OAuth Applications (Public Preview). Jika tidak, startup akan gagal karena alamat callback tidak lolos validasi.
Langkah 2: Konfigurasi server MCP di Dify
Buka halaman konfigurasi Tools > MCP di Dify.
Klik Add MCP Server (HTTP).
Pada bidang Server Endpoint URL, masukkan alamat proxy MCP.
Di konsol Layanan OpenAPI MCP Alibaba Cloud, dapatkan alamat asli Streamable HTTP Endpoint, lalu ganti bagian domain (host) dari alamat tersebut dengan alamat proxy lokal atau internal Anda.
Contoh konversi:
Endpoint Asli:
https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/1234/custom/cli-proxy-test/id/1234/mcpGanti dengan alamat proxy (asumsikan proxy berjalan di
172.17.0.1:8088):http://172.17.0.1:8088/accounts/1234/custom/cli-proxy-test/id/1234/mcp
Isi informasi lainnya sesuai kebutuhan lalu klik Add & Authorize. Dify berkomunikasi dengan layanan MCP melalui alamat proxy ini.
Risiko keamanan dan mitigasinya
Setelah Anda menjalankan mcp-proxy, semua pengguna pada host dapat mengakses semua server MCP dalam cakupan izin pengguna CLI yang menjalankan proxy melalui port proxy tersebut. Risiko utamanya meliputi:
Penyalahgunaan hak istimewa internal — Pengguna lain pada mesin yang sama dapat menggunakan port proxy untuk melakukan operasi di luar izin mereka, yang menyebabkan penyalahgunaan hak istimewa atau kebocoran data.
Risiko eksposur eksternal — Jika port proxy mendengarkan pada
0.0.0.0dan tidak ada firewall yang dikonfigurasi, siapa pun dapat mengakses server MCP melalui port ini.
Mitigasi
Isolasi lingkungan — Jalankan proxy hanya di lingkungan single-user yang tepercaya, dan hindari penggunaannya di server bersama multi-pengguna.
Kontrol akses jaringan — Ikat alamat listen proxy (
--host) ke127.0.0.1(default) atau alamat IP internal tertentu. Gunakan aturan firewall atau grup keamanan untuk membatasi cakupan akses ke port proxy (misalnya, hanya izinkan akses dari alamat IP server aplikasi tertentu), dan jangan pernah mengekspos port tersebut ke Internet.Kontrol akses — Gunakan parameter
--allowed-serversatau--blocked-serversuntuk membatasi cakupan server MCP yang dapat diakses dan mencegah proxy digunakan untuk mengakses layanan yang tidak dimaksudkan. Untuk petunjuknya, lihat Konfigurasi kontrol akses server.Prinsip hak istimewa minimal — Konfigurasikan akses hak istimewa minimal untuk pengguna CLI yang digunakan proxy dan server MCP terkait. Berikan izin read-only terlebih dahulu.
Audit dan pemantauan — Tinjau log akses layanan proxy secara berkala dan pantau permintaan mencurigakan. Permintaan yang diblokir oleh kontrol akses dicatat dalam log proxy.
Konfigurasi kontrol akses server
aliyun utils mcp-proxy mendukung mekanisme daftar putih dan blacklist untuk membatasi cakupan server MCP yang dapat diakses melalui proxy.
Aturan prioritas
Kontrol akses dievaluasi dalam urutan berikut:
Blacklist terlebih dahulu — Permintaan yang cocok dengan blacklist langsung ditolak, meskipun server yang sama juga ada di daftar putih.
Filtering daftar putih — Saat daftar putih tidak kosong, hanya server yang ada di daftar putih yang diizinkan.
Izinkan secara default — Saat tidak ada daftar yang dikonfigurasi, semua server diizinkan.
Dapatkan nama server dan ID server
Setelah Anda menjalankan aliyun utils mcp-proxy, terminal mencantumkan nama semua server MCP yang tersedia. Contoh output:
Available Servers:
- cloudphone
MCP: http://127.0.0.1:8088/accounts/0000000000000000/system/eds-aic/cloudphone/id/XSkb9v4dXx000000/mcp
SSE: http://127.0.0.1:8088/accounts/0000000000000000/system/eds-aic/cloudphone/id/XSkb9v4dXx000000/sse
- multi_account
MCP: http://127.0.0.1:8088/accounts/0000000000000000/custom/multi_account/id/OV0Qkpxh0Uodx000/mcp
SSE: http://127.0.0.1:8088/accounts/0000000000000000/custom/multi_account/id/OV0Qkpxh0Uodx000/ssePada output tersebut,
cloudphonedanmulti_accountadalah nilainameserver, yang terletak sebelum kata kunciid.Pada output tersebut,
XSkb9v4dXx000000danOV0Qkpxh0Uodx000adalah nilaiidserver, yang terletak sebelum kata kuncimcp.
Jalur URL biasanya mengikuti aturan berikut:
......./system/eds-aic/$server_name/id/$server_id/mcp
......./custom/$server_name/id/$server_id/mcpPola pencocokan
Parameter --allowed-servers dan --blocked-servers mendukung pola pencocokan berikut, yang diidentifikasi secara otomatis berdasarkan format nilainya:
Pola pencocokan | Format | Contoh | Deskripsi |
Pencocokan nama atau ID server | String yang tidak diawali dengan |
| Cocok persis dengan bidang |
Pencocokan awalan jalur | String yang diawali dengan |
| Cocok dengan awalan jalur URL permintaan |
Pencocokan awalan jalur menggunakan perbandingan awalan. Satu awalan dapat mencocokkan beberapa server, serta kedua endpoint
/mcpdan/ssedari server yang sama.Anda dapat menggabungkan kedua pola dalam parameter yang sama.
Contoh konfigurasi
Mode daftar putih: hanya izinkan akses ke server tertentu
aliyun utils mcp-proxy --allowed-servers "ecs-basic,oss-basic"Setelah proxy dijalankan, hanya
ecs-basicdanoss-basicyang dapat diakses. Saat Anda meminta server lain, proxy mengembalikan kode status 403 dan respons berikut:Access denied: This MCP server is not allowedMode blacklist: tolak akses ke server tertentu
aliyun utils mcp-proxy --blocked-servers "cms-basic"Setelah proxy dijalankan, semua server kecuali
cms-basicdapat diakses. Saat Anda memintacms-basic, proxy mengembalikan kode status 403 dan respons berikut:Access denied: This MCP server is blockedGunakan pencocokan awalan jalur
aliyun utils mcp-proxy --allowed-servers "/accounts/0000000000000000/custom/"Hanya permintaan yang jalur URL-nya diawali dengan awalan ini yang diizinkan. Gunakan mode ini untuk mengontrol server berdasarkan kategori alih-alih mencantumkan nama server satu per satu.
Verifikasi konfigurasi kontrol akses
Setelah Anda menjalankan proxy, terminal pertama-tama mencetak konfigurasi kontrol akses yang berlaku, lalu mencantumkan semua server MCP di bawah akun saat ini beserta statusnya satu per satu. Contoh berikut mengonfigurasi daftar putih dan blacklist sekaligus:
aliyun utils mcp-proxy --allowed-servers "ecs-basic,oss-basic" --blocked-servers "oss-basic"Output-nya sebagai berikut (daftar server dipotong):
MCP Proxy Server Started
Listen: 127.0.0.1:8088
Region: CN
Access Control:
Blacklist (blocked servers):
- oss-basic
Whitelist (allowed servers):
- ecs-basic
- oss-basic
Available Servers:
- ecs-basic
MCP: http://127.0.0.1:8088/accounts/0000000000000000/system/Ecs/ecs-basic/id/daRi22dx71iX0000/mcp
SSE: http://127.0.0.1:8088/accounts/0000000000000000/system/Ecs/ecs-basic/id/daRi22dx71iX0000/sse
- oss-basic (blocked)
MCP: http://127.0.0.1:8088/accounts/0000000000000000/system/Oss/oss-basic/id/vP5TovGrt2jm0000/mcp
SSE: http://127.0.0.1:8088/accounts/0000000000000000/system/Oss/oss-basic/id/vP5TovGrt2jm0000/sse
- cms-basic (not in whitelist)
MCP: http://127.0.0.1:8088/accounts/0000000000000000/system/Cms/cms-basic/id/6PHbBzr8Bg6b0000/mcp
SSE: http://127.0.0.1:8088/accounts/0000000000000000/system/Cms/cms-basic/id/6PHbBzr8Bg6b0000/sse
Press Ctrl+C to stopPenanda setelah nama server menunjukkan status saat ini dari server tersebut:
Tidak ada penanda: Server dapat diakses.
(blocked): Server cocok dengan blacklist. Server yang muncul di blacklist dan daftar putih sekaligus tetap memiliki penanda ini, yang mencerminkan bahwa blacklist memiliki prioritas lebih tinggi.(not in whitelist): Server tidak cocok dengan daftar putih. Setelah Anda mengonfigurasi daftar putih, server yang tidak cocok tetap dicantumkan dan diberi penanda, yang tidak berarti server tersebut dapat diakses.
Saat permintaan diblokir, proxy mengembalikan kode status 403 dan mencatat jalur yang diblokir beserta alasan spesifiknya dalam log. Dengan konfigurasi di atas, log untuk meminta oss-basic (cocok dengan blacklist) dan cms-basic (tidak cocok dengan daftar putih) adalah sebagai berikut:
MCP Proxy access denied: path /accounts/0000000000000000/system/Oss/oss-basic/id/vP5TovGrt2jm0000/mcp is in blocked servers list
MCP Proxy access denied: path /accounts/0000000000000000/system/Cms/cms-basic/id/6PHbBzr8Bg6b0000/mcp is not in allowed servers listRespons insiden keamanan
Jika Anda mencurigai token autentikasi proxy bocor atau disalahgunakan, segera lakukan tindakan berikut:
Hentikan layanan
mcp-proxy.Hapus file konfigurasi lokal:
rm ~/.aliyun/.mcpproxy_config.Hapus aplikasi OAuth untuk membatalkan secara permanen token penyegaran yang bocor. Login ke Konsol RAM sebagai administrator RAM. Di panel navigasi kiri, pilih Integrations > OAuth Applications (Public Preview). Pada tab Enterprise Applications, klik Delete Application di kolom Actions aplikasi target. Anda juga dapat menggunakan CLI untuk menghapus aplikasi tersebut. Setelah dihapus, saat Anda menyelesaikan otorisasi OAuth lagi, CLI secara otomatis membuat aplikasi baru.
aliyun ims list-applications --cli-query "Applications.Application[?AppName=='aliyun-cli-mcp-proxy'].AppId" aliyun ims delete-application --app-id <Application ID>Periksa log panggilan API untuk memastikan apakah terdapat operasi mencurigakan.
Jalankan ulang proxy dan selesaikan otorisasi OAuth untuk mendapatkan token baru.
Parameter
Perintah aliyun utils mcp-proxy mendukung parameter berikut untuk skenario tertentu.
Parameter | Deskripsi | Default |
| Alamat host tempat proxy mendengarkan. Tetapkan nilai ke |
|
| Port tempat proxy mendengarkan. Port ini juga menentukan alamat callback aplikasi OAuth. Setelah Anda mengubah port ini, pastikan aplikasi OAuth sudah berisi alamat callback yang sesuai. |
|
| Digunakan saat melakukan autentikasi OAuth di lingkungan tanpa GUI. Setelah parameter ini diaktifkan, tautan autentikasi langsung dicetak di terminal. | Tidak diaktifkan |
| Nama aplikasi OAuth yang sudah ada. Saat Anda menggunakan parameter ini, CLI tidak akan mencoba membuat aplikasi secara otomatis. Jika Anda tidak menentukan parameter ini, proxy menggunakan aplikasi default | Tidak ada |
| Cakupan otorisasi aplikasi OAuth. Saat Anda menggunakan |
|
| Situs layanan server OpenAPI MCP. |
|
| Menentukan secara manual alamat server OpenAPI MCP hulu. Jika Anda tidak menentukan parameter ini, alamat ditentukan oleh | Tidak ada |
| Daftar putih server MCP yang dapat diakses. Pisahkan beberapa nilai dengan koma (,). Nama server, ID, dan awalan jalur didukung. Jika Anda tidak menentukan parameter ini, semua server diizinkan. Untuk informasi lebih lanjut, lihat Konfigurasi kontrol akses server. | Tidak ada |
| Blacklist server MCP yang tidak dapat diakses. Pisahkan beberapa nilai dengan koma (,). Nama server, ID, dan awalan jalur didukung. Blacklist memiliki prioritas lebih tinggi daripada daftar putih. Untuk informasi lebih lanjut, lihat Konfigurasi kontrol akses server. | Tidak ada |
FAQ
Setelah menjalankan aliyun utils mcp-proxy untuk autentikasi OAuth, muncul error “ERROR: OAuth flow returned empty RefreshToken” dan proxy gagal dijalankan. Mengapa?
Kesalahan ini menunjukkan bahwa aplikasi OAuth yang sedang digunakan bukan aplikasi NativeApp, sehingga tidak dapat mengembalikan token penyegaran dalam alur otorisasi. Tangani masalah ini dengan salah satu cara berikut:
Hapus aplikasi OAuth lalu jalankan ulang proxy. CLI secara otomatis membuat aplikasi
NativeApp.Buat secara manual aplikasi
NativeApp, lalu tentukan aplikasi tersebut menggunakan--oauth-app-namesaat menjalankan proxy.
Apa yang harus saya lakukan jika muncul error “failed to find OAuth application” dengan kode error NoPermission saat menjalankan proxy?
Contoh error:
ERROR: failed to find OAuth application 'aliyun-cli-mcp-proxy': SDKError:
StatusCode: 401
Code: NoPermission
Message: code: 401, The user has no permission
Data: {"AccessDeniedDetail":{"AuthAction":"ram:ListApplications","AuthPrincipalType":"SubUser", ...}}Selama tahap startup, proxy perlu menanyakan atau membuat aplikasi OAuth, dan operasi ini dilakukan menggunakan kredensial Alibaba Cloud CLI. Error di atas menunjukkan bahwa Pengguna RAM yang sesuai dengan kredensial CLI saat ini belum diberikan izin yang ditentukan oleh bidang AuthAction (ram:ListApplications dalam contoh ini).
Tangani masalah ini dengan salah satu cara berikut:
Berikan izin yang diperlukan kepada Pengguna RAM. Untuk informasi lebih lanjut, lihat Langkah 1: Konfigurasi Alibaba Cloud CLI.
Jalankan proxy menggunakan kredensial yang memiliki izin yang diperlukan, seperti akun Alibaba Cloud atau Pengguna RAM lain yang telah menyelesaikan otorisasi.
Apa yang harus saya lakukan jika startup gagal dengan error “does not have required redirect URI” setelah mengubah --host atau --port?
Aplikasi OAuth harus berisi alamat callback yang sesuai dengan startup saat ini. Mengubah --host atau --port mengubah alamat ini. Contoh error:
ERROR: OAuth application validation failed: OAuth application 'aliyun-cli-mcp-proxy' does not have required redirect URI 'http://172.17.0.1:8088/callback'. Available redirect URIs: [http://127.0.0.1:8088/callback]Login ke Konsol RAM sebagai administrator RAM. Di panel navigasi kiri, pilih Integrations > OAuth Applications (Public Preview). Pada tab Enterprise Applications, klik nama aplikasi target. Di bagian Basic Information, klik Edit, lalu tambahkan alamat yang ditunjukkan oleh required redirect URI dalam pesan error ke daftar alamat callback. Aplikasi yang sama dapat menyimpan beberapa alamat callback, dan alamat yang sudah ada tetap tersedia setelah Anda menambahkan yang baru.
Apa yang harus saya lakukan jika muncul “Connection Refused” atau “Timeout” setelah mengonfigurasi proxy di Dify?
Periksa dua hal berikut:
Saat layanan
mcp-proxydijalankan, periksa apakah parameter--hostdiatur ke alamat IP bridge Docker atau alamat IP internal host, sehingga kontainer Docker dapat mengakses layanan tersebut.Periksa apakah grup keamanan server cloud atau firewall host mengizinkan traffic TCP dari kontainer Docker ke port proxy (misalnya,
8088).
Bagaimana cara melihat log runtime layanan mcp-proxy?
Jika proxy dikonfigurasi sebagai layanan systemd, jalankan perintah berikut untuk melihat log secara real-time:
sudo journalctl -u aliyun-mcp-proxy -f