Gunakan panduan ini jika anda pentadbir ruang kerja ChatGPT atau pengguna ChatGPT Plus atau ChatGPT Pro yang mahu menyambungkan ChatGPT kepada Snowflake melalui pelayan MCP yang diuruskan Snowflake.
Kebanyakan persediaan dilakukan dalam Snowflake. Setelah Snowflake sedia, lengkapkan sambungan templat Snowflake dalam ChatGPT, kemudian dayakan pemalam Snowflake yang menggunakan templat tersebut.
Perkara yang anda sediakan
Anda sedang mencipta pelayan MCP yang diuruskan Snowflake untuk bertindak sebagai titik akhir penyambung bagi ChatGPT. Pelayan MCP menentukan:
Tindakan yang boleh digunakan oleh ChatGPT.
Data atau objek Snowflake yang boleh diakses oleh alat tersebut.
Peranan Snowflake yang digunakan oleh setiap pengguna untuk memberikan kebenaran.
Pangkalan data, skema dan nama pelayan MCP Snowflake yang mengenal pasti titik akhir.
Kemudian, konfigurasikan Snowflake - Templat Rasmi dalam ChatGPT menggunakan URL penuh pelayan MCP terurus. Skrin persediaan templat mungkin memaparkan URL sebagai empat medan berasingan:
Awalan hos Snowflake.
Pangkalan data.
Skema.
Nama pelayan MCP.
ChatGPT hanya boleh menemukan dan menggunakan alat yang didedahkan oleh pelayan MCP serta dibenarkan oleh peranan Snowflake yang digunakan oleh pengguna untuk memberikan kebenaran.
Sebelum anda bermula
Anda memerlukan:
Akses sebagai pentadbir atau pemilik ruang kerja ChatGPT, atau akses ChatGPT Plus atau ChatGPT Pro.
Akses Snowflake yang boleh mencipta objek pelayan MCP dan memberikan kebenaran.
Pangkalan data dan skema Snowflake yang akan menempatkan pelayan MCP.
Keputusan tentang perkara yang harus dibenarkan untuk dilakukan oleh ChatGPT, seperti Cortex Search, Cortex Analyst, SQL baca sahaja atau prosedur atau fungsi tertentu.
Peranan Snowflake dengan keistimewaan paling minimum yang akan digunakan oleh pengguna ketika memberikan kebenaran kepada aplikasi.
Awalan hos akaun Snowflake, termasuk sebarang akhiran rantau atau awan.
Jika akaun Snowflake anda mengehadkan akses melalui dasar rangkaian atau senarai IP dibenarkan, minta pentadbir Snowflake membenarkan sambungan masuk daripada julat IP egress penyambung ChatGPT semasa. Senarai ini dinamik dan perlu sentiasa dikemas kini.
Nilai yang perlu disediakan
Awalan hos Snowflake: semua yang terletak sebelum .snowflakecomputing.com dalam URL akaun Snowflake.
Pangkalan data: pangkalan data yang mengandungi pelayan MCP.
Skema: skema yang mengandungi pelayan MCP.
Nama pelayan MCP: nama objek pelayan MCP Snowflake.
URL penuh pelayan MCP terurus, jika skrin persediaan ChatGPT meminta URL.
Peranan Snowflake: peranan yang harus digunakan oleh pengguna ketika memberikan kebenaran kepada aplikasi.
Senarai alat: objek dan tindakan Snowflake yang anda mahu ChatGPT gunakan.
Tentukan perkara yang boleh dilakukan oleh ChatGPT
Pilih hanya keupayaan yang mahu anda dedahkan. Pilihan lazim termasuk:
Carian menggunakan Cortex Search untuk mencari jawapan dalam data atau kandungan Snowflake yang diindeks.
Soal jawab dengan Cortex Analyst melalui paparan semantik yang diluluskan.
SQL baca sahaja untuk akses pertanyaan terkawal.
Ejen Snowflake, prosedur tersimpan atau UDF untuk aliran kerja tertentu.
Jika anda mendayakan SQL, kekalkannya sebagai baca sahaja melainkan organisasi anda telah menyemak dan meluluskan akses tulis.
Buka lembaran kerja Snowflake
Log masuk ke aplikasi Snowflake.
Beralih kepada peranan yang boleh mencipta pelayan MCP dan memberikan akses.
Pergi ke Ruang kerja.

Cipta ruang kerja dengan fail SQL.

Tetapkan konteks ruang kerja kepada pangkalan data dan skema tempat pelayan MCP akan dicipta.

Cipta pelayan MCP Snowflake
Dalam Snowflake, log masuk menggunakan peranan yang boleh mencipta pelayan MCP dan memberikan akses. Buka lembaran kerja dalam pangkalan data dan skema tempat pelayan MCP harus dicipta.
Jalankan pernyataan seperti contoh berikut. Gantikan nama dengan nama pangkalan data, skema, perkhidmatan, paparan, gudang dan pelayan 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 ialah contoh:
support-searchmendedahkan perkhidmatan Cortex Search yang dinyatakan.revenue-analystmendedahkan paparan semantik yang dinyatakan. Tambahkan alat untuk paparan lain mengikut keperluan.sql-readonlymendedahkan SQL baca sahaja dengan gudang yang dinyatakan.
Gunakan nama alat yang stabil dan deskriptif supaya ChatGPT boleh memilih alat yang betul. Mencipta pelayan MCP tidak memberikan akses kepada objek Snowflake asas secara automatik.
Untuk pilihan spesifikasi tambahan, lihat: Cipta pelayan MCP yang diuruskan Snowflake.
Berikan kebenaran Snowflake yang betul
Pilih peranan Snowflake yang akan digunakan oleh pengguna untuk memberikan kebenaran, kemudian berikan peranan tersebut akses kepada
Pangkalan data dan skema.
Pelayan MCP.
Setiap objek asas yang digunakan oleh alat, seperti perkhidmatan carian, paparan semantik atau gudang.
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 pelayan MCP mendedahkan UDF, prosedur tersimpan atau Ejen Cortex, berikan juga kebenaran yang diperlukan untuk objek tersebut.
Sahkan Snowflake sudah sedia
Jalankan:
SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;
Kemudian jalankan:
DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;
Sahkan bahawa:
Pelayan wujud dalam pangkalan data dan skema yang dijangkakan.
Senarai alat adalah seperti yang anda inginkan.
identifiersetiap alat merujuk kepada objek Snowflake yang betul.Peranan penyambung mempunyai
USAGEpada pelayan MCP.Peranan penyambung mempunyai kebenaran yang diperlukan pada setiap objek asas.
Masukkan butiran pelayan Snowflake dalam ChatGPT
Dalam ChatGPT, beralih kepada akaun atau ruang kerja tempat aplikasi harus tersedia.
Buka Tetapan. Untuk persediaan seluruh ruang kerja, buka Tetapan ruang kerja sebagai pentadbir ruang kerja.
Pergi ke Pemalam.
Cari Snowflake.
Dayakan Snowflake - Templat Rasmi.
Buka Snowflake - Templat Rasmi, masukkan nama sambungan yang jelas dan pilih Sambung.
Masukkan URL penuh pelayan MCP terurus:
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 skrin persediaan memaparkan konfigurasi Snowflake sebagai medan berasingan, gunakan nilai yang sama daripada URL:
Awalan hos Snowflake
Gunakan semua yang terletak sebelum .snowflakecomputing.com dalam URL akaun Snowflake anda, termasuk sebarang akhiran rantau atau awan.
Contohnya, jika URL akaun bermula dengan:
https://myorg-myaccount.azure.snowflakecomputing.com
Awalan hos ialah:
myorg-myaccount.azure
Pangkalan data
Masukkan pangkalan data yang mengandungi pelayan MCP, seperti:
CHATGPT_APPS
Skema
Masukkan skema yang mengandungi pelayan MCP, seperti:
TOOLS
Nama pelayan MCP
Masukkan nama objek pelayan MCP Snowflake, seperti:
CHATGPT_SNOWFLAKE_MCP
Konfigurasikan klien OAuth
Anda memerlukan ID Klien dan Rahsia Klien daripada Snowflake untuk menyambung.
Apabila anda menggunakan session:role:all, Snowflake menggunakan peranan lalai setiap pengguna. Peranan lalai mesti dibenarkan oleh senarai peranan dibenarkan integrasi OAuth, jika dikonfigurasikan, dan tidak boleh disekat. Mempunyai peranan lain yang diluluskan tidak akan memilihnya secara automatik.
Dalam dialog persediaan ChatGPT, buka Tetapan OAuth lanjutan, pilih Klien OAuth Ditentukan Pengguna dan salin URL Panggil Balik yang dipaparkan dalam ChatGPT.
Cipta integrasi keselamatan OAuth tersuai dengan
OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'dan tetapkanOAUTH_REDIRECT_URIkepada URL panggil balik tersebut dengan tepat.Jalankan pernyataan berikut dalam Snowflake menggunakan nama integrasi dalam huruf besar:
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');Daripada hasil JSON, tampal
oauth_client_idke dalam ID klien OAuth danoauth_client_secretke dalam Rahsia klien OAuth dalam ChatGPT.Tetapkan Kaedah pengesahan titik akhir token kepada
client_secret_basic.
Sambung dan urus Snowflake
Dalam dialog persediaan ChatGPT yang sama, pilih Teruskan, log masuk ke Snowflake dan benarkan sambungan.
Untuk persediaan ruang kerja, konfigurasikan dasar pemasangan pemalam serta akses peranan atau kumpulan bagi ahli yang harus menggunakannya. Sahkan bahawa Snowflake dan Snowflake - Templat Rasmi kedua-duanya didayakan.
Pentadbir ruang kerja bertanggungjawab mengkonfigurasi Akses pengguna bagi peranan yang harus menggunakan Snowflake.
Pentadbir ruang kerja bertanggungjawab menyemak Kawalan tindakan bagi alat yang didedahkan.
Pentadbir ruang kerja bertanggungjawab menyemak Kebenaran aplikasi untuk menentukan masa ChatGPT meminta persetujuan ahli sebelum menggunakan aplikasi.
Kebenaran aplikasi ini terpakai pada perbualan ChatGPT. Ejen Ruang Kerja menggunakan kawalan bagi setiap ejen yang ditetapkan oleh pembina ejen untuk menentukan tindakan aplikasi yang tersedia dan masa pengguna akhir diminta meluluskannya. Untuk tingkah laku ejen, lihat: Ejen Ruang Kerja ChatGPT untuk Enterprise dan Business.
Uji aplikasi
Buka sembang, pilih Snowflake dan uji sambungan.
Sahkan bahawa ChatGPT menemukan alat yang anda konfigurasikan.
Jalankan tindakan baca berisiko rendah terlebih dahulu, seperti carian atau pertanyaan baca sahaja terhadap data yang diluluskan.
Sahkan bahawa kebenaran Snowflake menghalang akses di luar peranan dan objek yang diluluskan.
Untuk persediaan ruang kerja, uji menggunakan ahli bukan pentadbir yang dibenarkan dan mempunyai peranan lalai Snowflake yang berbeza. Sambungan pentadbir yang berjaya tidak mengesahkan bahawa setiap ahli boleh menyambung.
Bagi pentadbir ruang kerja, mendayakan Snowflake sahaja tidak mencukupi. Jika Snowflake - Templat Rasmi belum didayakan dan disambungkan, pemalam mungkin kelihatan dinyahdayakan kepada ahli.
URL pelayan MCP dan tingkah laku OAuth
ChatGPT menyambung kepada URL penuh pelayan MCP yang diuruskan Snowflake:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
ChatGPT menggunakan awalan hos Snowflake daripada URL tersebut untuk menyelesaikan titik akhir OAuth Snowflake berikut:
Pemberian kebenaran:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/authorizeToken:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/token-request
Jangan tampal URL Snowsight, URL akar akaun Snowflake sahaja atau URL dengan segmen laluan tambahan. URL MCP mesti mengandungi /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} dan sepadan tepat dengan objek Snowflake anda.
Penyelesaian masalah
Snowflake didayakan untuk pentadbir tetapi dinyahdayakan untuk ahli
Sahkan bahawa Snowflake dan Snowflake - Templat Rasmi kedua-duanya didayakan dalam Tetapan ruang kerja > Pemalam.
Buka Snowflake - Templat Rasmi dan lengkapkan aliran Sambung. Mendayakan templat tanpa menyambungkannya tidak mencukupi.
Buka Snowflake dan sahkan bahawa templat tersebut dipaparkan sebagai aplikasi yang diperlukannya.
Sahkan bahawa peranan atau kumpulan ahli yang terjejas dibenarkan oleh dasar pemasangan pemalam.
Pelayan MCP tidak ditemukan
Semak semula URL penuh pelayan MCP atau empat medan templat jika skrin persediaan anda memintanya.
Sahkan bahawa pelayan MCP wujud dalam pangkalan data dan skema tersebut dengan tepat.
Tiada alat dipaparkan dalam ChatGPT
Sahkan bahawa spesifikasi pelayan MCP mengandungi alat.
Sahkan bahawa peranan mempunyai
USAGEpada pelayan MCP.
Alat dipaparkan tetapi gagal apabila digunakan
Sahkan bahawa peranan mempunyai kebenaran yang diperlukan pada objek Snowflake asas, seperti perkhidmatan carian, paparan semantik, gudang, prosedur atau UDF.
Alat SQL gagal
Sahkan bahawa nama gudang betul dan gudang sedang berjalan.
Sahkan bahawa peranan mempunyai
USAGEpada gudang.Sahkan bahawa
read_only: trueditetapkan jika anda mahukan akses baca sahaja.
Peranan ALL yang diminta telah disekat secara jelas
Minta pentadbir Snowflake anda membandingkan peranan lalai anda dengan peranan yang dibenarkan dan disekat oleh integrasi OAuth. Mempunyai peranan lain yang dibenarkan tidak akan memilihnya secara automatik. Jika sesuai, tukar peranan lalai kepada peranan yang diluluskan dan sambung semula. Menukar peranan lalai anda turut mempengaruhi sesi Snowflake anda di luar ChatGPT.
Pemberian kebenaran gagal
Sahkan bahawa pengguna boleh log masuk ke Snowflake.
Apabila menggunakan
session:role:all, sahkan bahawa peranan lalai pengguna dibenarkan oleh integrasi OAuth.Sahkan bahawa persediaan menggunakan aliran OAuth MCP yang diuruskan Snowflake.
Sahkan bahawa ID Klien dan Rahsia Klien sepadan dengan integrasi OAuth Snowflake serta URI ubah halanya sepadan dengan URL Panggil Balik yang dipaparkan dalam ChatGPT.
Dasar rangkaian atau senarai IP dibenarkan Snowflake menyekat penyambung
Minta pentadbir Snowflake mengemas kini dasar rangkaian atau peraturan akses Snowflake.
Benarkan sambungan masuk daripada julat IP egress penyambung ChatGPT semasa.
Konfigurasikan senarai dibenarkan ini dalam Snowflake. Ini berasingan daripada senarai IP dibenarkan ruang kerja ChatGPT.
Jika boleh, automatikkan kemas kini daripada JSON yang diterbitkan kerana julat tersebut boleh berubah.
Masalah sambungan nama hos
Gunakan awalan hos Snowflake yang betul. Nama hos Snowflake yang mengandungi garis bawah boleh menimbulkan masalah; gunakan tanda sempang.
