OpenAI
Ang page na ito ay isinalin ng AI. Tingnan ang orihinal na artikulo sa English.

I-set up ang template ng Snowflake app sa ChatGPT

Alamin kung paano maikokonekta ng mga admin ng ChatGPT workspace at user ng ChatGPT Plus o Pro ang ChatGPT sa MCP server na pinamamahalaan ng Snowflake.

Na-update: 18 hours ago

Gamitin ang gabay na ito kung isa kang admin ng ChatGPT workspace o gumagamit ng ChatGPT Plus o Pro na gustong ikonekta ang ChatGPT sa Snowflake sa pamamagitan ng MCP server na pinamamahalaan ng Snowflake.

Sa Snowflake ginagawa ang karamihan ng pag-setup. Kapag handa na ang Snowflake, kumpletuhin ang koneksyon ng Snowflake template sa ChatGPT, pagkatapos ay i-enable ang Snowflake plugin na gumagamit ng template na iyon.

  • Built-in na OAuth: Kapag available ito para sa iyong Snowflake account at sa ChatGPT, gamitin ang ChatGPT partner application na na-enable ng isang Snowflake admin. Mag-sign in sa Snowflake gamit ang SSO ng iyong organisasyon kung naka-configure ito. Hindi mo kailangang maglagay ng client ID o client secret sa ChatGPT. Sundin ang seksyong Built-in na OAuth sa ibaba.

  • Custom na OAuth client: Gamitin ang paraang ito kung nangangailangan ang iyong organisasyon ng sarili nitong OAuth client o hindi available ang built-in na OAuth. Sundin ang seksyong Custom na OAuth client sa ibaba.

Parehong nangangailangan ang dalawang paraan ng OAuth ng iisang pag-setup ng MCP server, mga pahintulot sa mga object na ginagamit nito, at network access na inilalarawan sa ibaba. Kumpletuhin ang pag-setup na para sa parehong paraan hanggang sa seksyong Ilagay ang mga detalye ng Snowflake server sa ChatGPT bago i-configure ang OAuth.

Ano ang ise-set up mo

Gagawa ka ng MCP server na pinamamahalaan ng Snowflake na magsisilbing connector endpoint para sa ChatGPT. Tinutukoy ng MCP server ang:

  • Mga aksyong magagamit ng ChatGPT.

  • Data o mga object sa Snowflake na maa-access ng mga tool na iyon.

  • Role sa Snowflake na ginagamit ng bawat user sa pagbibigay ng awtorisasyon.

  • Database, schema, at pangalan ng MCP server sa Snowflake na tumutukoy sa endpoint.

Pagkatapos, i-configure ang Snowflake - Opisyal na Template sa ChatGPT gamit ang buong URL ng pinamamahalaang MCP server. Maaaring ipakita ng screen ng pag-setup ng template ang URL bilang apat na magkakahiwalay na field:

  • Host prefix ng Snowflake.

  • Database.

  • Schema.

  • Pangalan ng MCP server.

Matutuklasan at magagamit lang ng ChatGPT ang mga tool na ginawang available ng MCP server at pinapayagan ng role sa Snowflake na ginagamit ng user sa pagbibigay ng awtorisasyon.

Bago ka magsimula

Kailangan mo ng:

  • Access bilang admin o may-ari ng ChatGPT workspace, o access sa ChatGPT Plus o Pro.

  • Access sa Snowflake na makakagawa ng mga MCP server object at makakapagbigay ng mga pahintulot.

  • Database at schema sa Snowflake kung saan ilalagay ang MCP server.

  • Pasya kung ano ang dapat payagang gawin ng ChatGPT, gaya ng Cortex Search, Cortex Analyst, read-only na SQL, o isang partikular na procedure o function.

  • Role sa Snowflake na may pinakamababang kinakailangang pribilehiyo, na gagamitin ng mga user sa pagbibigay ng awtorisasyon sa app.

  • Host prefix ng Snowflake account, kasama ang anumang suffix ng rehiyon o cloud.

Kung nililimitahan ng iyong Snowflake account ang access sa pamamagitan ng network policy o IP allowlist, hilingin sa isang Snowflake admin na payagan ang mga papasok na koneksyon mula sa kasalukuyang mga egress IP range ng ChatGPT connector. Nagbabago ang listahan at dapat itong panatilihing napapanahon.

Mga value na ihahanda

  • Host prefix ng Snowflake: lahat ng nauuna sa .snowflakecomputing.com sa URL ng Snowflake account.

  • Database: ang database na kinalalagyan ng MCP server.

  • Schema: ang schema na kinalalagyan ng MCP server.

  • Pangalan ng MCP server: ang pangalan ng MCP server object sa Snowflake.

  • Buong URL ng pinamamahalaang MCP server, kung humihingi ng URL ang screen ng pag-setup sa ChatGPT.

  • Role sa Snowflake: ang role na dapat gamitin ng mga user sa pagbibigay ng awtorisasyon sa app.

  • Listahan ng tool: ang mga object at aksyon sa Snowflake na gusto mong gamitin ng ChatGPT.

Magpasya kung ano ang maaaring gawin ng ChatGPT

Piliin lang ang mga kakayahang gusto mong gawing available. Kabilang sa mga karaniwang opsyon ang:

  • Paghahanap gamit ang Cortex Search para makahanap ng mga sagot sa naka-index na data o content sa Snowflake.

  • Tanong at sagot gamit ang Cortex Analyst sa pamamagitan ng isang naaprubahang semantic view.

  • Read-only na SQL para sa kontroladong access sa mga query.

  • Isang Snowflake Agent, stored procedure, o UDF para sa isang partikular na workflow.

Kung ie-enable mo ang SQL, panatilihin itong read-only maliban kung nasuri at naaprubahan na ng iyong organisasyon ang write access.

Magbukas ng Snowflake worksheet

  1. Mag-sign in sa Snowflake app.

  2. Lumipat sa isang role na makakagawa ng MCP server at makakapagbigay ng access.

  3. Pumunta sa Mga workspace.

    Snowflake navigation menu showing Workspaces selected during MCP server setup.
  4. Gumawa ng workspace na may SQL file.

    Snowflake workspace with a SQL file open for MCP server setup.
  5. Itakda ang konteksto ng workspace sa database at schema kung saan gagawin ang MCP server.

    Snowflake worksheet context picker showing the role, warehouse, database, and schema.

Gawin ang Snowflake MCP server

Sa Snowflake, mag-sign in gamit ang isang role na makakagawa ng MCP server at makakapagbigay ng access. Magbukas ng worksheet sa database at schema kung saan dapat gawin ang MCP server.

Magpatakbo ng statement gaya ng sumusunod na halimbawa. Palitan ang mga pangalan ng sarili mong database, schema, mga service, mga view, warehouse, at pangalan ng server sa Snowflake.

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"
$$;

Snowflake result confirming that the MCP server was successfully created.

Mga halimbawa ang mga pangalan ng tool at mga object sa Snowflake sa statement na ito:

  • Ginagawang available ng support-search ang tinukoy na Cortex Search service.

  • Ginagawang available ng revenue-analyst ang tinukoy na semantic view. Magdagdag ng mga tool para sa iba pang view kung kinakailangan.

  • Ginagawang available ng sql-readonly ang read-only na SQL gamit ang tinukoy na warehouse.

Gumamit ng mga pangalan ng tool na hindi pabago-bago at malinaw na naglalarawan sa mga ito para makapili ang ChatGPT ng tamang tool. Hindi awtomatikong nagbibigay ng access sa mga object sa Snowflake na ginagamit nito ang paggawa ng MCP server.

Para sa mga karagdagang opsyon sa specification, tingnan ang: Gumawa ng MCP server na pinamamahalaan ng Snowflake.

Ibigay ang mga tamang pahintulot sa Snowflake

Piliin ang role sa Snowflake na gagamitin ng mga user sa pagbibigay ng awtorisasyon, pagkatapos ay bigyan ang role na iyon ng access sa:

  1. Database at schema.

  2. MCP server.

  3. Bawat object na ginagamit ng mga tool, gaya ng search service, semantic view, o warehouse.

Halimbawa:

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;

Kung ginagawang available ng MCP server ang isang UDF, stored procedure, o Cortex Agent, ibigay din ang mga kinakailangang pahintulot para sa object na iyon.

Tiyaking handa na ang Snowflake

Patakbuhin ang:

SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;

Pagkatapos, patakbuhin ang:

DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;

Tiyakin na:

  • Nasa inaasahang database at schema ang server.

  • Tugma sa nilayon mo ang listahan ng mga tool.

  • Tumutukoy ang identifier ng bawat tool sa tamang object sa Snowflake.

  • May USAGE sa MCP server ang role na ginagamit sa pagkonekta.

  • May mga kinakailangang pahintulot sa bawat object na ginagamit ang role na ginagamit sa pagkonekta.

Ilagay ang mga detalye ng Snowflake server sa ChatGPT

  1. Sa ChatGPT, lumipat sa account o workspace kung saan dapat maging available ang app.

  2. Pumunta sa Mga setting > Mga plugin para sa personal na pag-setup o sa Mga setting ng workspace > Mga plugin bilang workspace admin para sa pag-setup ng workspace.

  3. Hanapin ang Snowflake.

  4. I-enable ang Snowflake - Opisyal na Template.

  5. Buksan ang Snowflake - Opisyal na Template, maglagay ng malinaw na pangalan ng koneksyon, at piliin ang Ikonekta.

  6. Ilagay ang buong URL ng pinamamahalaang MCP server:

https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}

Halimbawa:

https://myorg-myaccount.azure.snowflakecomputing.com/api/v2/databases/CHATGPT_APPS/schemas/TOOLS/mcp-servers/CHATGPT_SNOWFLAKE_MCP

ChatGPT Snowflake Template connection form with name, managed MCP server URL, and OAuth settings.

Kung ipinapakita ng screen ng pag-setup ang configuration ng Snowflake bilang magkakahiwalay na field, gamitin ang parehong mga value mula sa URL:

Host prefix ng Snowflake

Gamitin ang lahat ng nauuna sa .snowflakecomputing.com sa URL ng iyong Snowflake account, kasama ang anumang suffix ng rehiyon o cloud.

Halimbawa, kung nagsisimula ang URL ng account sa:

https://myorg-myaccount.azure.snowflakecomputing.com

Ang host prefix ay:

myorg-myaccount.azure

Database

Ilagay ang database na kinalalagyan ng MCP server, gaya ng:

CHATGPT_APPS

Schema

Ilagay ang schema na kinalalagyan ng MCP server, gaya ng:

TOOLS

Pangalan ng MCP server

Ilagay ang pangalan ng MCP server object sa Snowflake, gaya ng:

CHATGPT_SNOWFLAKE_MCP

I-configure ang OAuth

Piliin ang paraan ng OAuth na available para sa iyong account at nakakatugon sa mga kinakailangan ng iyong organisasyon. Parehong gumagamit ang dalawang paraan ng iisang pag-setup ng MCP server sa itaas at ng mga pagsubok sa koneksyon at kontrol sa access sa ibaba.

Sa alinmang paraan ng OAuth, kapag ginamit mo ang session:role:all, ginagamit ng Snowflake ang default na role ng bawat user. Dapat pinapayagan ng role allowlist ng OAuth integration ang default na role, kung naka-configure ang allowlist, at hindi dapat naka-block ang role. Hindi awtomatikong napipili ang isa pang naaprubahang role dahil lang mayroon ka nito.

Built-in na OAuth

Bago magpatuloy, kumpletuhin ang mga seksyon sa itaas na para sa parehong paraan upang magawa ang MCP server, maibigay ang mga pahintulot, ma-verify ang server, at mailagay ang mga detalye nito sa ChatGPT. Kailangan ito kahit dumiretso ka sa seksyong ito.

Gamitin lang ang paraang ito kapag available ang ChatGPT partner application para sa iyong Snowflake account at available ang built-in na OAuth sa modal ng pag-setup sa ChatGPT.

  1. Hilingin sa isang Snowflake admin na i-enable ang ChatGPT partner integration sa mismong Snowflake account na nagho-host ng MCP server. Gamitin muli ang isang kasalukuyang naka-enable na ChatGPT partner integration.

  2. Sa modal ng pag-setup sa ChatGPT, gamitin ang built-in na OAuth. Hindi mo kailangang maglagay ng client ID o client secret o magrehistro ng callback URL.

  3. Magpatuloy sa seksyong Ikonekta at pamahalaan ang Snowflake sa ibaba para mag-sign in, magbigay ng pahintulot, at i-configure ang access. Pagkatapos, kumpletuhin ang Subukan ang app, kasama ang mga pagsubok sa mga pinapayagang miyembrong hindi admin.

Nalalapat din sa paraang ito ang paggana ng default na role, allowlist, at naka-block na role na inilarawan sa itaas.

Custom na OAuth client

Bago magpatuloy, kumpletuhin ang mga seksyon sa itaas na para sa parehong paraan upang magawa ang MCP server, maibigay ang mga pahintulot, ma-verify ang server, at mailagay ang mga detalye nito sa ChatGPT. Kailangan ito kahit dumiretso ka sa seksyong ito.

Para sa custom na OAuth client, kailangan mo ng client ID at client secret mula sa Snowflake. Nalalapat din sa paraang ito ang paggana ng default na role, allowlist, at naka-block na role na inilarawan sa itaas.

  1. Sa modal ng pag-setup sa ChatGPT, piliin ang Mga advanced na setting ng OAuth > OAuth Client na Tinukoy ng User, at kopyahin nang eksakto ang Callback URL na ipinapakita sa ChatGPT.

  2. Gumawa ng custom na OAuth security integration na may OAUTH_CLIENT_TYPE = 'CONFIDENTIAL' at OAUTH_REDIRECT_URI na nakatakda sa eksaktong callback URL na iyon.

  3. Patakbuhin ang sumusunod na statement sa Snowflake, gamit ang pangalan ng integration na nasa malalaking titik:

    SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');

  4. Mula sa resulta ng JSON, i-paste ang oauth_client_id sa OAuth client ID at ang oauth_client_secret sa OAuth client secret sa ChatGPT.

  5. Itakda ang Paraan ng pag-authenticate ng token endpoint sa client_secret_basic.

Pagkatapos ilagay ang mga credential ng custom na client, magpatuloy sa Ikonekta at pamahalaan ang Snowflake at Subukan ang app sa ibaba.

Ikonekta at pamahalaan ang Snowflake

  1. Para sa alinmang paraan ng OAuth, sa parehong modal ng pag-setup sa ChatGPT, piliin ang Magpatuloy, mag-sign in sa Snowflake, at pahintulutan ang koneksyon. Maaari mong gamitin ang SSO ng iyong organisasyon kung naka-configure ito.

  2. Para sa pag-setup ng workspace, i-configure ang patakaran sa pag-install ng plugin at ang access ayon sa role o grupo para sa mga miyembrong dapat gumamit nito. Tiyaking parehong naka-enable ang Snowflake at Snowflake - Opisyal na Template.

  3. Responsibilidad ng mga workspace admin na i-configure ang Access ng user para sa mga role na dapat gumamit ng Snowflake.

  4. Responsibilidad ng mga workspace admin na suriin ang Kontrol sa aksyon para sa mga tool na ginawang available.

  5. Responsibilidad ng mga workspace admin na suriin ang Mga pahintulot ng app para piliin kung kailan magtatanong ang ChatGPT sa mga miyembro bago gamitin ang app.

Nalalapat ang mga pahintulot na ito ng app sa mga pag-uusap sa ChatGPT. Gumagamit ang mga agent ng workspace ng mga kontrol para sa bawat agent na itinakda ng gumawa nito upang tukuyin kung aling mga aksyon ng app ang available at kung kailan hihilingin sa mga end user na aprubahan ang mga ito. Para sa paggana ng mga agent, tingnan ang: Mga Agent ng ChatGPT Workspace para sa Enterprise at Business.

Subukan ang app

  1. Magbukas ng chat, piliin ang Snowflake, at subukan ang koneksyon.

  2. Tiyaking natutuklasan ng ChatGPT ang mga tool na na-configure mo.

  3. Magpatakbo muna ng aksyong pangbasa na mababa ang panganib, gaya ng paghahanap o read-only na query sa naaprubahang data.

  4. Tiyaking hinaharangan ng mga pahintulot sa Snowflake ang access na lampas sa naaprubahang role at mga object.

  5. Para sa pag-setup ng workspace, magsubok kasama ang mga pinapayagang miyembrong hindi admin na may magkakaibang default na role sa Snowflake. Hindi patunay na makakakonekta ang bawat miyembro ang matagumpay na pagkonekta ng isang admin.

Para sa mga workspace admin, hindi sapat na Snowflake lang ang i-enable. Kung hindi pa na-enable at naikonekta ang Snowflake - Opisyal na Template, maaaring lumabas na naka-disable ang plugin para sa mga miyembro.

URL ng MCP server at paggana ng OAuth

Kumokonekta ang ChatGPT sa buong URL ng MCP server na pinamamahalaan ng Snowflake:

https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}

Ginagamit ng ChatGPT ang host prefix ng Snowflake mula sa URL na iyon para matukoy ang mga OAuth endpoint na ito ng Snowflake:

  • Awtorisasyon: https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/authorize

  • Token: https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/token-request

Huwag mag-paste ng Snowsight URL, ng root URL lang ng Snowflake account, o ng URL na may mga dagdag na segment sa path. Dapat kasama sa MCP URL ang /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} at dapat itong eksaktong tumugma sa iyong mga object sa Snowflake.

Pag-troubleshoot

Naka-enable ang Snowflake para sa isang admin pero naka-disable para sa isang miyembro

  • Tiyaking parehong naka-enable ang Snowflake at Snowflake - Opisyal na Template sa Mga setting ng workspace > Mga plugin.

  • Buksan ang Snowflake - Opisyal na Template at kumpletuhin ang proseso ng Ikonekta nito. Hindi sapat na i-enable ang template nang hindi ito ikinokonekta.

  • Buksan ang Snowflake at tiyaking lumalabas ang template bilang kinakailangang app nito.

  • Tiyaking pinapayagan ng patakaran sa pag-install ng plugin ang role o grupo ng apektadong miyembro.

Hindi mahanap ang MCP server

  • Suriin muli ang buong URL ng MCP server, o ang apat na field ng template kung hinihingi ang mga ito ng iyong screen ng pag-setup.

  • Tiyaking nasa mismong database at schema na iyon ang MCP server.

Walang lumalabas na mga tool sa ChatGPT

  • Tiyaking may mga tool sa specification ng MCP server.

  • Tiyaking may USAGE sa MCP server ang role.

Lumalabas ang isang tool pero pumapalya kapag ginagamit

  • Tiyaking may kinakailangang pahintulot ang role sa object sa Snowflake na ginagamit nito, gaya ng search service, semantic view, warehouse, procedure, o UDF.

Pumapalya ang SQL tool

  • Tiyaking tama ang pangalan ng warehouse at tumatakbo ito.

  • Tiyaking may USAGE sa warehouse ang role.

  • Tiyaking nakatakda ang read_only: true kung read-only na access ang nilayon mo.

Tahasang naka-block ang hiniling na role na ALL

Hilingin sa iyong Snowflake admin na ikumpara ang iyong default na role sa mga pinapayagan at naka-block na role ng OAuth integration. Hindi awtomatikong napipili ang isa pang pinapayagang role dahil lang mayroon ka nito. Kung naaangkop, palitan ang default na role ng isang naaprubahang role at kumonekta muli. Nakakaapekto rin sa iyong mga Snowflake session sa labas ng ChatGPT ang pagpapalit ng iyong default na role.

Nabibigo ang pagbibigay ng awtorisasyon

  • Tiyaking makakapag-sign in ang user sa Snowflake.

  • Kapag ginagamit ang session:role:all, tiyaking pinapayagan ng OAuth integration ang default na role ng user.

  • Tiyaking ginagamit ng setup ang proseso ng MCP OAuth na pinamamahalaan ng Snowflake.

  • Kung gumagamit ka ng custom na OAuth client, tiyaking tugma ang Client ID at Client Secret sa OAuth integration ng Snowflake at eksaktong tumutugma ang redirect URI nito sa Callback URL na ipinapakita sa ChatGPT.

    Kung gumagamit ka ng built-in na OAuth, hilingin sa isang Snowflake admin na tingnan kung available at naka-enable ang ChatGPT partner integration sa account na nagho-host ng MCP server.

Hinaharangan ng network policy o IP allowlist ng Snowflake ang connector

  • Hilingin sa isang Snowflake admin na i-update ang network policy o mga panuntunan sa access ng Snowflake.

  • Payagan ang mga papasok na koneksyon mula sa kasalukuyang mga egress IP range ng ChatGPT connector.

  • I-configure ang paglalagay na ito sa allowlist sa Snowflake. Hiwalay ito sa paglalagay ng mga IP sa allowlist ng ChatGPT workspace.

  • Gawing awtomatiko ang mga update mula sa inilathalang JSON kung maaari dahil maaaring magbago ang mga range.

Problema sa pagkonekta gamit ang hostname

Gamitin ang tamang host prefix ng Snowflake. Maaaring magdulot ng mga problema ang mga hostname ng Snowflake na may mga underscore; mas mainam na gumamit ng mga gitling.

Mga sanggunian

Nakatulong ba ang artikulong ito?