Gunakan panduan ini jika Anda adalah admin workspace ChatGPT atau pengguna ChatGPT Plus atau ChatGPT 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.
Yang akan Anda siapkan
Anda akan membuat server MCP yang dikelola Snowflake dan berfungsi sebagai endpoint konektor untuk ChatGPT. Server MCP menentukan:
Tindakan yang dapat digunakan ChatGPT
Data atau objek Snowflake yang dapat diakses alat tersebut.
Peran Snowflake yang digunakan setiap pengguna untuk memberikan otorisasi.
Database, skema, dan nama server MCP Snowflake yang mengidentifikasi endpoint.
Selanjutnya, konfigurasikan Snowflake - Templat Resmi di ChatGPT menggunakan URL lengkap server MCP terkelola. Layar penyiapan templat mungkin menampilkan URL sebagai empat bidang terpisah:
Prefiks host Snowflake.
Database.
Skema.
Nama server MCP.
ChatGPT hanya dapat menemukan dan menggunakan alat yang diekspos oleh server MCP dan diizinkan oleh peran Snowflake yang digunakan pengguna untuk memberikan otorisasi.
Sebelum memulai
Anda memerlukan:
Akses sebagai admin atau pemilik workspace ChatGPT, atau akses ChatGPT Plus atau ChatGPT Pro.
Akses Snowflake yang dapat membuat objek server MCP dan memberikan izin.
Database dan skema Snowflake tempat server MCP akan berada.
Keputusan tentang tindakan yang boleh dilakukan 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 akhiran wilayah atau cloud.
Jika akun Snowflake Anda membatasi akses melalui kebijakan jaringan atau daftar IP yang diizinkan, minta admin Snowflake mengizinkan koneksi masuk dari rentang IP keluar konektor ChatGPT saat ini. Daftar ini bersifat dinamis dan harus selalu 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 gunakan di ChatGPT.
Tentukan tindakan yang dapat dilakukan ChatGPT
Pilih hanya kemampuan yang ingin Anda ekspos. Opsi yang umum meliputi:
Pencarian dengan Cortex Search untuk menemukan jawaban dalam data atau konten Snowflake yang telah diindeks.
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, pertahankan sebagai hanya-baca, kecuali organisasi Anda telah meninjau dan menyetujui akses tulis.
Buka lembar kerja Snowflake
Masuk ke aplikasi Snowflake.
Beralihlah 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, masuklah dengan peran yang dapat membuat server MCP dan memberikan akses. Buka lembar kerja dalam database dan skema tempat server MCP akan dibuat.
Jalankan pernyataan seperti contoh berikut. Ganti nama-namanya 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 hanyalah contoh:
support-searchmengekspos layanan Cortex Search yang ditentukan.revenue-analystmengekspos tampilan semantik yang ditentukan. Tambahkan alat untuk tampilan lain sesuai kebutuhan.sql-readonlymengekspos SQL hanya-baca dengan warehouse yang ditentukan.
Gunakan nama alat yang stabil dan deskriptif agar ChatGPT dapat memilih alat yang tepat. Membuat server MCP tidak otomatis memberikan akses ke objek Snowflake yang mendasarinya.
Untuk opsi spesifikasi lainnya, lihat: Membuat server MCP yang dikelola Snowflake.
Berikan izin Snowflake yang tepat
Pilih peran Snowflake yang akan digunakan pengguna untuk memberikan otorisasi, lalu berikan peran tersebut akses ke
Database dan skema.
Server MCP.
Setiap objek dasar yang digunakan 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 mengekspos UDF, prosedur tersimpan, atau Agen Cortex, berikan juga izin yang diperlukan untuk objek tersebut.
Pastikan Snowflake siap
Jalankan:
SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;
Kemudian jalankan:
DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;
Pastikan:
Server tersedia di database dan skema yang diharapkan.
Daftar alat sesuai dengan yang Anda inginkan.
identifiersetiap alat mengarah ke objek Snowflake yang tepat.Peran yang terhubung memiliki
USAGEpada server MCP.Peran yang terhubung memiliki izin yang diperlukan pada setiap objek dasar.
Masukkan detail server Snowflake di ChatGPT
Di ChatGPT, beralihlah ke akun atau workspace tempat aplikasi akan tersedia.
Buka Pengaturan. Untuk penyiapan di seluruh workspace, buka Pengaturan workspace sebagai admin workspace.
Buka Plugin.
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 sebagai bidang terpisah, gunakan nilai yang sama dari URL:
Prefiks host Snowflake
Gunakan semua bagian sebelum .snowflakecomputing.com dalam URL akun Snowflake Anda, termasuk akhiran wilayah atau cloud.
Misalnya, jika URL akun diawali dengan:
https://myorg-myaccount.azure.snowflakecomputing.com
Prefiks hostnya 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 klien Oauth
Anda memerlukan ID Klien dan Rahasia Klien dari Snowflake untuk terhubung.
Saat Anda menggunakan session:role:all, Snowflake menggunakan peran default setiap pengguna. Peran default harus diizinkan oleh daftar peran yang diizinkan dalam integrasi Oauth, jika dikonfigurasi, dan tidak boleh diblokir. Memiliki peran lain yang disetujui tidak membuatnya otomatis dipilih.
Di modal penyiapan ChatGPT, buka Pengaturan Oauth lanjutan, pilih Klien Oauth Buatan Pengguna, lalu salin URL panggilan balik yang ditampilkan di ChatGPT.
Buat integrasi keamanan Oauth khusus dengan
OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'dan aturOAUTH_REDIRECT_URIke URL panggilan balik tersebut secara 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 Rahasia klien Oauth di ChatGPT.Atur Metode autentikasi endpoint token ke
client_secret_basic.
Hubungkan dan kelola Snowflake
Di modal penyiapan ChatGPT yang sama, pilih Lanjutkan, masuk ke Snowflake, lalu otorisasi koneksi.
Untuk penyiapan workspace, konfigurasikan kebijakan penginstalan plugin serta akses peran atau grup bagi anggota yang akan menggunakannya. Pastikan Snowflake dan Snowflake - Templat Resmi telah diaktifkan.
Admin workspace bertanggung jawab mengonfigurasi Akses pengguna bagi peran yang akan menggunakan Snowflake.
Admin workspace bertanggung jawab meninjau Kontrol tindakan untuk alat yang diekspos.
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 pembuat agen 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 percakapan, 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 terhadap 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. Koneksi admin yang berhasil tidak memastikan bahwa setiap anggota dapat terhubung.
Bagi admin workspace, mengaktifkan Snowflake saja tidak cukup. Jika Snowflake - Templat Resmi belum diaktifkan dan dihubungkan, plugin mungkin terlihat dinonaktifkan bagi anggota.
URL server MCP dan perilaku 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 root akun Snowflake saja, atau URL dengan segmen jalur tambahan. URL MCP harus menyertakan /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} dan sama persis dengan objek Snowflake Anda.
Pemecahan masalah
Snowflake aktif untuk admin, tetapi nonaktif untuk anggota
Pastikan Snowflake dan Snowflake - Templat Resmi telah diaktifkan di Pengaturan workspace > Plugin.
Buka Snowflake - Templat Resmi dan selesaikan alur Hubungkan. Mengaktifkan templat tanpa menghubungkannya tidaklah cukup.
Buka Snowflake dan pastikan templat tersebut muncul sebagai aplikasi yang diwajibkan.
Pastikan peran atau grup anggota yang terdampak diizinkan oleh kebijakan penginstalan plugin.
Server MCP tidak ditemukan
Periksa kembali URL lengkap server MCP, atau keempat bidang templat jika diminta oleh layar penyiapan.
Pastikan server MCP tersedia di database dan skema tersebut secara persis.
Tidak ada alat yang muncul di ChatGPT
Pastikan spesifikasi server MCP menyertakan alat.
Pastikan peran memiliki
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 sudah benar dan warehouse sedang berjalan.
Pastikan peran memiliki
USAGEpada warehouse.Pastikan
read_only: truetelah ditetapkan jika Anda menginginkan akses hanya-baca.
Peran ALL yang diminta telah diblokir secara eksplisit
Minta admin Snowflake membandingkan peran default Anda dengan peran yang diizinkan dan diblokir oleh integrasi Oauth. Memiliki peran lain yang diizinkan tidak membuatnya otomatis dipilih. Jika sesuai, ubah peran default ke peran yang disetujui, lalu 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.
Pastikan ID Klien dan Rahasia Klien sesuai dengan integrasi Oauth Snowflake dan URI pengalihannya cocok dengan URL panggilan balik yang ditampilkan di ChatGPT.
Kebijakan jaringan atau daftar IP yang diizinkan Snowflake memblokir konektor
Minta admin Snowflake memperbarui kebijakan jaringan atau aturan akses Snowflake.
Izinkan koneksi masuk dari rentang IP keluar konektor ChatGPT saat ini.
Konfigurasikan daftar yang diizinkan ini di Snowflake. Ini terpisah dari daftar IP yang diizinkan untuk workspace ChatGPT.
Jika memungkinkan, otomatiskan pembaruan dari JSON yang dipublikasikan karena rentangnya dapat berubah.
Masalah koneksi nama host
Gunakan prefiks host Snowflake yang benar. Nama host Snowflake yang menggunakan garis bawah dapat menimbulkan masalah; utamakan tanda hubung.
