Gunakan panduan ini jika Anda adalah admin workspace ChatGPT atau pengguna ChatGPT Plus atau Pro yang ingin menghubungkan ChatGPT ke Snowflake melalui server MCP yang dikelola Snowflake.
Sebagian besar penyiapan dilakukan di Snowflake. Setelah Snowflake siap, selesaikan koneksi templat Snowflake di ChatGPT, lalu aktifkan plugin Snowflake yang menggunakan templat tersebut.
Oauth bawaan: Jika tersedia untuk akun Snowflake Anda dan di ChatGPT, gunakan aplikasi mitra ChatGPT yang diaktifkan oleh admin Snowflake. Masuk ke Snowflake menggunakan SSO organisasi Anda jika sudah dikonfigurasi. Anda tidak perlu memasukkan ID klien atau secret klien di ChatGPT. Ikuti bagian Oauth bawaan di bawah.
Klien Oauth kustom: Gunakan opsi ini jika organisasi Anda mewajibkan klien Oauth sendiri atau Oauth bawaan tidak tersedia. Ikuti bagian Klien Oauth kustom di bawah.
Kedua opsi Oauth memerlukan penyiapan server MCP, izin objek yang mendasarinya, dan akses jaringan yang sama, seperti dijelaskan di bawah. Selesaikan penyiapan bersama hingga bagian Masukkan detail server Snowflake di ChatGPT sebelum mengonfigurasi Oauth.
Apa yang akan Anda siapkan
Anda akan membuat server MCP yang dikelola Snowflake untuk bertindak sebagai endpoint konektor bagi ChatGPT. Server MCP menentukan:
Tindakan yang dapat digunakan ChatGPT.
Data atau objek Snowflake yang dapat diakses oleh alat tersebut.
Peran Snowflake yang digunakan setiap pengguna saat memberikan otorisasi.
Database, skema, dan nama server MCP Snowflake yang mengidentifikasi endpoint.
Anda kemudian mengonfigurasi Snowflake - Templat Resmi di ChatGPT dengan URL lengkap server MCP terkelola. Layar penyiapan templat mungkin menampilkan URL sebagai empat kolom terpisah:
Prefiks host Snowflake.
Database.
Skema.
Nama server MCP.
ChatGPT hanya dapat menemukan dan menggunakan alat yang disediakan oleh server MCP dan diizinkan oleh peran Snowflake yang digunakan pengguna saat memberikan otorisasi.
Sebelum memulai
Anda memerlukan:
Akses admin atau pemilik workspace ChatGPT, atau akses ChatGPT Plus atau Pro.
Akses Snowflake yang dapat membuat objek server MCP dan memberikan izin.
Database dan skema Snowflake tempat server MCP akan berada.
Keputusan tentang kemampuan yang akan diizinkan untuk ChatGPT, seperti Cortex Search, Cortex Analyst, SQL hanya-baca, atau prosedur maupun fungsi tertentu.
Peran Snowflake dengan hak akses minimum yang akan digunakan pengguna saat mengotorisasi aplikasi.
Prefiks host akun Snowflake, termasuk sufiks wilayah atau cloud jika ada.
Jika akun Snowflake Anda membatasi akses melalui kebijakan jaringan atau daftar IP yang diizinkan, minta admin Snowflake untuk mengizinkan koneksi masuk dari rentang IP keluar konektor ChatGPT yang berlaku saat ini. Daftar ini bersifat dinamis dan harus terus diperbarui.
Nilai yang perlu disiapkan
Prefiks host Snowflake: semua bagian sebelum .snowflakecomputing.com dalam URL akun Snowflake.
Database: database yang berisi server MCP.
Skema: skema yang berisi server MCP.
Nama server MCP: nama objek server MCP Snowflake.
URL lengkap server MCP terkelola, jika layar penyiapan ChatGPT meminta URL.
Peran Snowflake: peran yang harus digunakan pengguna saat mengotorisasi aplikasi.
Daftar alat: objek dan tindakan Snowflake yang ingin Anda sediakan untuk digunakan ChatGPT.
Tentukan apa yang dapat dilakukan ChatGPT
Pilih hanya kemampuan yang ingin Anda sediakan. Opsi yang umum digunakan meliputi:
Pencarian dengan Cortex Search untuk menemukan jawaban dalam data atau konten Snowflake yang terindeks.
Tanya jawab dengan Cortex Analyst melalui tampilan semantik yang disetujui.
SQL hanya-baca untuk akses kueri yang terkontrol.
Agen Snowflake, prosedur tersimpan, atau UDF untuk alur kerja tertentu.
Jika Anda mengaktifkan SQL, tetap gunakan mode hanya-baca kecuali organisasi Anda telah meninjau dan menyetujui akses tulis.
Buka lembar kerja Snowflake
Masuk ke aplikasi Snowflake.
Beralih ke peran yang dapat membuat server MCP dan memberikan akses.
Buka Workspace.

Buat workspace dengan file SQL.

Atur konteks workspace ke database dan skema tempat server MCP akan dibuat.

Buat server MCP Snowflake
Di Snowflake, masuk dengan peran yang dapat membuat server MCP dan memberikan akses. Buka lembar kerja di database dan skema tempat server MCP akan dibuat.
Jalankan pernyataan seperti contoh berikut. Ganti nama-nama tersebut dengan nama database, skema, layanan, tampilan, warehouse, dan server Snowflake Anda sendiri.
CREATE MCP SERVER CHATGPT_SNOWFLAKE_MCP FROM SPECIFICATION $$ tools: - name: "support-search" type: "CORTEX_SEARCH_SERVICE_QUERY" identifier: "CHATGPT_APPS.TOOLS.SUPPORT_SEARCH_SERVICE" title: "Support Search" description: "Search support content for relevant customer issues." - name: "revenue-analyst" type: "CORTEX_ANALYST_MESSAGE" identifier: "CHATGPT_APPS.TOOLS.REVENUE_SEMANTIC_VIEW" title: "Revenue Analyst" description: "Answer revenue questions using the approved semantic view." - name: "sql-readonly" type: "SYSTEM_EXECUTE_SQL" title: "Read-only SQL" description: "Run read-only SQL queries against approved Snowflake data." config: read_only: true query_timeout: 600 warehouse: "CHATGPT_WH" $$;

Nama alat dan objek Snowflake dalam pernyataan ini merupakan contoh:
support-searchmenyediakan akses ke layanan Cortex Search yang ditentukan.revenue-analystmenyediakan akses ke tampilan semantik yang ditentukan. Tambahkan alat untuk tampilan lain sesuai kebutuhan.sql-readonlymenyediakan SQL hanya-baca dengan warehouse yang ditentukan.
Gunakan nama alat yang konsisten dan deskriptif agar ChatGPT dapat memilih alat yang tepat. Membuat server MCP tidak otomatis memberikan akses ke objek Snowflake yang mendasarinya.
Untuk opsi spesifikasi tambahan, lihat: Membuat server MCP yang dikelola Snowflake.
Berikan izin Snowflake yang tepat
Pilih peran Snowflake yang akan digunakan pengguna saat memberikan otorisasi, lalu berikan akses kepada peran tersebut ke:
Database dan skema.
Server MCP.
Setiap objek yang digunakan oleh alat, seperti layanan pencarian, tampilan semantik, atau warehouse.
Contoh:
GRANT USAGE ON DATABASE CHATGPT_APPS TO ROLE CHATGPT_CONNECTOR_ROLE;GRANT USAGE ON SCHEMA CHATGPT_APPS.TOOLS TO ROLE CHATGPT_CONNECTOR_ROLE;GRANT USAGE ON MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP TO ROLE CHATGPT_CONNECTOR_ROLE;
GRANT USAGE ON CORTEX SEARCH SERVICE CHATGPT_APPS.TOOLS.SUPPORT_SEARCH_SERVICE TO ROLE CHATGPT_CONNECTOR_ROLE;GRANT SELECT ON SEMANTIC VIEW CHATGPT_APPS.TOOLS.REVENUE_SEMANTIC_VIEW TO ROLE CHATGPT_CONNECTOR_ROLE;GRANT USAGE ON WAREHOUSE CHATGPT_WH TO ROLE CHATGPT_CONNECTOR_ROLE;
Jika server MCP menyediakan akses ke UDF, prosedur tersimpan, atau Agen Cortex, berikan juga izin yang diperlukan untuk objek tersebut.
Pastikan Snowflake sudah siap
Jalankan:
SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;
Lalu jalankan:
DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;
Pastikan:
Server berada di database dan skema yang diharapkan.
Daftar alat sesuai dengan yang Anda inginkan.
identifiersetiap alat mengarah ke objek Snowflake yang benar.Peran yang digunakan untuk terhubung memiliki izin
USAGEpada server MCP.Peran yang digunakan untuk terhubung memiliki izin yang diperlukan pada setiap objek yang mendasarinya.
Masukkan detail server Snowflake di ChatGPT
Di ChatGPT, beralihlah ke akun atau workspace tempat aplikasi akan tersedia.
Buka Pengaturan > Plugin untuk penyiapan pribadi, atau sebagai admin workspace, buka Pengaturan workspace > Plugin untuk penyiapan workspace.
Cari Snowflake.
Aktifkan Snowflake - Templat Resmi.
Buka Snowflake - Templat Resmi, masukkan nama koneksi yang jelas, lalu pilih Hubungkan.
Masukkan URL lengkap server MCP terkelola:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
Contoh:
https://myorg-myaccount.azure.snowflakecomputing.com/api/v2/databases/CHATGPT_APPS/schemas/TOOLS/mcp-servers/CHATGPT_SNOWFLAKE_MCP

Jika layar penyiapan menampilkan konfigurasi Snowflake dalam kolom terpisah, gunakan nilai yang sama dari URL tersebut:
Prefiks host Snowflake
Gunakan semua bagian sebelum .snowflakecomputing.com dalam URL akun Snowflake Anda, termasuk sufiks wilayah atau cloud jika ada.
Misalnya, jika URL akun diawali dengan:
https://myorg-myaccount.azure.snowflakecomputing.com
Prefiks host-nya adalah:
myorg-myaccount.azure
Database
Masukkan database yang berisi server MCP, misalnya:
CHATGPT_APPS
Skema
Masukkan skema yang berisi server MCP, misalnya:
TOOLS
Nama server MCP
Masukkan nama objek server MCP Snowflake, misalnya:
CHATGPT_SNOWFLAKE_MCP
Konfigurasikan Oauth
Pilih opsi Oauth yang tersedia untuk akun Anda dan memenuhi persyaratan organisasi Anda. Kedua opsi menggunakan penyiapan server MCP yang sama di atas, serta pengujian koneksi dan kontrol akses di bawah.
Untuk kedua opsi Oauth, saat Anda menggunakan session:role:all, Snowflake menggunakan peran default setiap pengguna. Peran default harus tercakup dalam daftar peran yang diizinkan oleh integrasi Oauth, jika daftar tersebut dikonfigurasi, dan tidak boleh diblokir. Memiliki peran lain yang disetujui tidak membuat peran tersebut dipilih secara otomatis.
Oauth bawaan
Sebelum melanjutkan, selesaikan bagian penyiapan bersama di atas untuk membuat server MCP, memberikan izin, memverifikasi server, dan memasukkan detailnya di ChatGPT. Langkah ini wajib dilakukan meskipun Anda langsung membuka bagian ini.
Gunakan opsi ini hanya jika aplikasi mitra ChatGPT tersedia untuk akun Snowflake Anda dan Oauth bawaan tersedia di dialog penyiapan ChatGPT.
Minta admin Snowflake untuk mengaktifkan integrasi mitra ChatGPT di akun Snowflake yang sama dengan tempat server MCP berada. Gunakan kembali integrasi mitra ChatGPT yang sudah diaktifkan.
Di dialog penyiapan ChatGPT, gunakan Oauth bawaan. Anda tidak perlu memasukkan ID klien atau secret klien, maupun mendaftarkan URL callback.
Lanjutkan ke bagian Hubungkan dan kelola Snowflake di bawah untuk masuk, memberikan persetujuan, dan mengonfigurasi akses. Kemudian selesaikan bagian Uji aplikasi, termasuk pengujian dengan anggota non-admin yang diizinkan.
Ketentuan tentang peran default, daftar peran yang diizinkan, dan peran yang diblokir di atas juga berlaku untuk opsi ini.
Klien Oauth kustom
Sebelum melanjutkan, selesaikan bagian penyiapan bersama di atas untuk membuat server MCP, memberikan izin, memverifikasi server, dan memasukkan detailnya di ChatGPT. Langkah ini wajib dilakukan meskipun Anda langsung membuka bagian ini.
Untuk klien Oauth kustom, Anda memerlukan ID klien dan secret klien dari Snowflake. Ketentuan tentang peran default, daftar peran yang diizinkan, dan peran yang diblokir di atas juga berlaku untuk opsi ini.
Di dialog penyiapan ChatGPT, pilih Pengaturan Oauth lanjutan > Klien Oauth yang Ditentukan Pengguna, lalu salin URL Callback persis seperti yang ditampilkan di ChatGPT.
Buat integrasi keamanan Oauth kustom dengan
OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'dan aturOAUTH_REDIRECT_URIke URL callback yang sama persis.Jalankan pernyataan berikut di Snowflake dengan nama integrasi dalam huruf kapital:
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');Dari hasil JSON, tempelkan
oauth_client_idke ID klien Oauth danoauth_client_secretke Secret klien Oauth di ChatGPT.Atur Metode autentikasi endpoint token ke
client_secret_basic.
Setelah memasukkan kredensial klien kustom, lanjutkan ke bagian Hubungkan dan kelola Snowflake serta Uji aplikasi di bawah.
Hubungkan dan kelola Snowflake
Untuk kedua opsi Oauth, di dialog penyiapan ChatGPT yang sama, pilih Lanjutkan, masuk ke Snowflake, lalu otorisasi koneksi. Anda dapat menggunakan SSO organisasi Anda jika sudah dikonfigurasi.
Untuk penyiapan workspace, konfigurasikan kebijakan pemasangan plugin serta akses peran atau grup bagi anggota yang akan menggunakannya. Pastikan Snowflake dan Snowflake - Templat Resmi sama-sama diaktifkan.
Admin workspace bertanggung jawab mengonfigurasi Akses pengguna untuk peran yang akan menggunakan Snowflake.
Admin workspace bertanggung jawab meninjau Kontrol tindakan untuk alat yang disediakan.
Admin workspace bertanggung jawab meninjau Izin aplikasi untuk menentukan kapan ChatGPT meminta persetujuan anggota sebelum menggunakan aplikasi.
Izin aplikasi ini berlaku untuk percakapan ChatGPT. Agen Workspace menggunakan kontrol per agen yang ditetapkan oleh pembuatnya untuk menentukan tindakan aplikasi yang tersedia dan kapan pengguna akhir diminta menyetujuinya. Untuk perilaku agen, lihat: Agen Workspace ChatGPT untuk Enterprise dan Business.
Uji aplikasi
Buka obrolan, pilih Snowflake, lalu uji koneksinya.
Pastikan ChatGPT menemukan alat yang Anda konfigurasikan.
Jalankan tindakan baca berisiko rendah terlebih dahulu, seperti pencarian atau kueri hanya-baca pada data yang disetujui.
Pastikan izin Snowflake mencegah akses di luar peran dan objek yang disetujui.
Untuk penyiapan workspace, lakukan pengujian dengan anggota non-admin yang diizinkan dan memiliki peran default Snowflake yang berbeda. Keberhasilan koneksi admin tidak menjamin bahwa setiap anggota dapat terhubung.
Bagi admin workspace, mengaktifkan Snowflake saja tidak cukup. Jika Snowflake - Templat Resmi belum diaktifkan dan dihubungkan, plugin mungkin terlihat nonaktif bagi anggota.
URL server MCP dan cara kerja Oauth
ChatGPT terhubung ke URL lengkap server MCP yang dikelola Snowflake:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
ChatGPT menggunakan prefiks host Snowflake dari URL tersebut untuk menentukan endpoint Oauth Snowflake berikut:
Otorisasi:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/authorizeToken:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/token-request
Jangan tempelkan URL Snowsight, URL dasar akun Snowflake saja, atau URL dengan segmen jalur tambahan. URL MCP harus menyertakan /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} dan cocok persis dengan objek Snowflake Anda.
Pemecahan masalah
Snowflake aktif untuk admin tetapi nonaktif untuk anggota
Pastikan Snowflake dan Snowflake - Templat Resmi sama-sama diaktifkan di Pengaturan workspace > Plugin.
Buka Snowflake - Templat Resmi dan selesaikan alur Hubungkan. Mengaktifkan templat tanpa menghubungkannya tidak cukup.
Buka Snowflake dan pastikan templat muncul sebagai aplikasi yang diperlukan.
Pastikan peran atau grup anggota yang mengalami masalah diizinkan oleh kebijakan pemasangan plugin.
Server MCP tidak ditemukan
Periksa kembali URL lengkap server MCP, atau keempat kolom templat jika layar penyiapan Anda memintanya.
Pastikan server MCP berada di database dan skema yang persis sama.
Tidak ada alat yang muncul di ChatGPT
Pastikan spesifikasi server MCP menyertakan alat.
Pastikan peran memiliki izin
USAGEpada server MCP.
Alat muncul tetapi gagal saat digunakan
Pastikan peran memiliki izin yang diperlukan pada objek Snowflake yang mendasarinya, seperti layanan pencarian, tampilan semantik, warehouse, prosedur, atau UDF.
Alat SQL gagal
Pastikan nama warehouse benar dan warehouse sedang berjalan.
Pastikan peran memiliki izin
USAGEpada warehouse.Pastikan
read_only: truesudah diatur jika Anda menginginkan akses hanya-baca.
Peran ALL yang diminta telah diblokir secara eksplisit
Minta admin Snowflake Anda membandingkan peran default Anda dengan peran yang diizinkan dan diblokir oleh integrasi Oauth. Memiliki peran lain yang diizinkan tidak membuat peran tersebut dipilih secara otomatis. Jika sesuai, ubah peran default ke peran yang disetujui dan hubungkan kembali. Mengubah peran default juga memengaruhi sesi Snowflake Anda di luar ChatGPT.
Otorisasi gagal
Pastikan pengguna dapat masuk ke Snowflake.
Saat menggunakan
session:role:all, pastikan peran default pengguna diizinkan oleh integrasi Oauth.Pastikan penyiapan menggunakan alur Oauth MCP yang dikelola Snowflake.
Jika Anda menggunakan klien Oauth kustom, pastikan ID Klien dan Secret Klien cocok dengan integrasi Oauth Snowflake, dan URI pengalihannya cocok persis dengan URL Callback yang ditampilkan di ChatGPT.
Jika Anda menggunakan Oauth bawaan, minta admin Snowflake memeriksa apakah integrasi mitra ChatGPT tersedia dan diaktifkan di akun tempat server MCP berada.
Kebijakan jaringan atau daftar IP yang diizinkan di Snowflake memblokir konektor
Minta admin Snowflake memperbarui kebijakan jaringan atau aturan akses Snowflake.
Izinkan koneksi masuk dari rentang IP keluar konektor ChatGPT yang berlaku saat ini.
Konfigurasikan daftar IP yang diizinkan ini di Snowflake. Daftar ini terpisah dari daftar IP yang diizinkan untuk workspace ChatGPT.
Jika memungkinkan, otomatisasikan pembaruan dari JSON yang dipublikasikan karena rentang IP dapat berubah.
Masalah koneksi nama host
Gunakan prefiks host Snowflake yang benar. Nama host Snowflake dengan garis bawah dapat menimbulkan masalah; sebaiknya gunakan tanda hubung.
