Saya Menghubungkan Managed MCP Server Oracle ke Klien Sembang AI
Pembantu AI kini melakukan lebih daripada sekadar berbual. Mereka menggunakan Model Context Protocol (MCP) untuk memanggil alatan luaran.
Saya telah menguji managed MCP server Oracle dalam OCI. Matlamat saya adalah untuk mencipta semakan kesihatan (health check) baca-sahaja untuk pangkalan data Oracle E-Business Suite. Saya ingin bertanya kepada AI: "Adakah pangkalan data sedang aktif?" atau "Pengurus mana yang sedang tergendala?"
Ia berjaya. Saya kini mempunyai pembantu AI yang menarik data kesihatan pangkalan data secara langsung. Berikut adalah apa yang saya pelajari sepanjang proses tersebut.
The Setup
- Gunakan managed MCP server dalam OCI.
- Halakan ia ke pangkalan data menggunakan pengguna baca-sahaja (read-only).
- Bina alatan SQL tersuai untuk gambaran keseluruhan instans dan sesi aktif.
- Sambungkan klien sembang AI melalui MCP dan OAuth.
Key Lessons
Networking and Security Perkhidmatan MCP berjalan dalam tenancy Oracle. Ia tidak boleh mencapai pangkalan data peribadi anda secara bersendirian. Anda mesti menyertakan Private Endpoint ke VCN anda. Untuk kekal selamat, sambung ke pengguna pangkalan data baca-sahaja. Ini menghalang sebarang penulisan data yang tidak disengajakan.
Watch the URL Setiap URL pelayan OCI MCP menyertakan segmen tarikh seperti /20250830/. Jika anda menggunakan tarikh lama, anda akan mendapat ralat HTTP 404. Ralat ini kelihatan seperti masalah pengesahan (auth), tetapi ia hanyalah laluan (path) yang salah. Salin URL yang tepat daripada konsol anda.
The OAuth Problem Banyak UI sembang berasaskan web gagal dengan pelayan ini. Ia cuba mencari tetapan OAuth melalui pelayan. Oracle mengembalikan ralat 404 untuk permintaan tanpa pengesahan. Ini menghentikan aliran log masuk. Selain itu, UI web headless tidak mempunyai pelayar untuk log masuk interaktif.
Use User Tokens, Not App Tokens Saya cuba menggunakan token client-credentials untuk melangkau pelayar. Ia berjaya disahkan, tetapi saya kekurangan kebenaran (permissions). Peranan Oracle dikaitkan dengan pengguna, bukan apl. Anda mesti menggunakan token authorization_code (pengguna). Pengguna memegang peranan tersebut, jadi token itu akan berfungsi.
Use Desktop Clients Klien desktop seperti Claude Desktop atau VS Code berfungsi dengan baik kerana ia mempunyai pelayar terbina dalam untuk log masuk. Gunakan mcp-remote dengan metadata OAuth statik untuk memintas isu penemuan 404.
Quick Tips
- Pada Windows, gunakan
npx.cmddan bukannyanpx. - Jangan jalankan dua klien pada port callback OAuth yang sama.
- Elakkan penggunaan titik bertindih (colon) dalam format tarikh SQL seperti
TO_CHAR. Sistem mungkin tersalah anggap ia sebagai pemboleh ubah ikatan (bind variables). Gunakan tarikh mentah (raw dates) sebagai ganti. - Gunakan pandangan (views)
gv$dan bukannyav$untuk melihat semua instans RAC.
MCP terurus dengan ejen AI adalah berguna untuk tugasan pangkalan data yang dikawal selia. Padankan klien anda dengan deployment anda dan sentiasa gunakan pengguna baca-sahaja.
Komuniti pembelajaran pilihan: https://t.me/GyaanSetuAi