Šis vadovas skirtas ChatGPT darbo erdvės administratoriams ir ChatGPT Plus ar ChatGPT Pro naudotojams, norintiems prijungti ChatGPT prie Snowflake per Snowflake valdomą MCP serverį.
Didžioji dalis konfigūravimo atliekama Snowflake. Paruošę Snowflake, ChatGPT užbaikite Snowflake šablono ryšio konfigūravimą, tada įjunkite tą šabloną naudojantį Snowflake įskiepį.
Ką konfigūruosite
Kuriate Snowflake valdomą MCP serverį, kuris veiks kaip ChatGPT jungties prieigos taškas. MCP serveris apibrėžia:
Kokius veiksmus gali atlikti ChatGPT.
Kokius Snowflake duomenis ar objektus gali pasiekti šie įrankiai.
Su kokiu Snowflake vaidmeniu kiekvienas naudotojas suteikia prieigos teisę.
Kokia Snowflake duomenų bazė, schema ir MCP serverio pavadinimas identifikuoja prieigos tašką.
Tada ChatGPT sukonfigūruokite Snowflake – oficialų šabloną, nurodydami visą valdomo MCP serverio URL. Šablono konfigūravimo ekrane URL gali būti rodomas kaip keturi atskiri laukai:
Snowflake pagrindinio kompiuterio priešdėlis.
Duomenų bazė.
Schema.
MCP serverio pavadinimas.
ChatGPT gali aptikti ir naudoti tik tuos įrankius, kuriuos pateikia MCP serveris ir leidžia naudotojo autorizuojamas Snowflake vaidmuo.
Prieš pradedant
Jums reikės:
ChatGPT darbo erdvės administratoriaus ar savininko prieigos arba ChatGPT Plus ar ChatGPT Pro prieigos.
Snowflake prieigos, leidžiančios kurti MCP serverio objektus ir suteikti teises.
Snowflake duomenų bazės ir schemos, kuriose bus MCP serveris.
Sprendimo, ką ChatGPT bus leidžiama daryti, pavyzdžiui, naudoti Cortex Search, Cortex Analyst, tik skaitomą SQL arba konkrečią procedūrą ar funkciją.
Mažiausių būtinų teisių Snowflake vaidmens, kurį naudotojai naudos suteikdami programėlei prieigos teisę.
Snowflake paskyros pagrindinio kompiuterio priešdėlio, įskaitant regiono ar debesijos priesagą.
Jei prieigą prie jūsų Snowflake paskyros riboja tinklo politika arba leidžiamų IP adresų sąrašas, paprašykite Snowflake administratoriaus leisti gaunamus ryšius iš dabartinių ChatGPT jungties siunčiamo srauto IP adresų diapazonų. Šis sąrašas yra dinamiškas, todėl jį reikia nuolat atnaujinti.
Paruoštinos reikšmės
Snowflake pagrindinio kompiuterio priešdėlis: visa Snowflake paskyros URL dalis prieš .snowflakecomputing.com.
Duomenų bazė: duomenų bazė, kurioje yra MCP serveris.
Schema: schema, kurioje yra MCP serveris.
MCP serverio pavadinimas: Snowflake MCP serverio objekto pavadinimas.
Visas valdomo MCP serverio URL, jei ChatGPT konfigūravimo ekrane prašoma URL.
Snowflake vaidmuo: vaidmuo, kurį naudotojai turėtų naudoti suteikdami programėlei prieigos teisę.
Įrankių sąrašas: Snowflake objektai ir veiksmai, kuriuos norite leisti naudoti ChatGPT.
Nuspręskite, ką gali daryti ChatGPT
Pasirinkite tik tas galimybes, kurias norite suteikti. Dažniausios parinktys:
Paieška naudojant Cortex Search, kad būtų galima rasti atsakymų indeksuotuose Snowflake duomenyse ar turinyje.
Klausimai ir atsakymai naudojant Cortex Analyst bei patvirtintą semantinį rodinį.
Tik skaitomas SQL kontroliuojamai užklausų prieigai.
Snowflake agentas, išsaugota procedūra arba UDF konkrečiai darbo eigai.
Jei įjungiate SQL, leiskite tik skaityti, nebent jūsų organizacija peržiūrėjo ir patvirtino rašymo prieigą.
Atidarykite Snowflake darbalapį
Prisijunkite prie Snowflake programos.
Perjunkite į vaidmenį, kuriam leidžiama kurti MCP serverį ir suteikti prieigą.
Eikite į Darbo erdvės.

Sukurkite darbo erdvę su SQL failu.

Nustatykite darbo erdvės kontekstą į duomenų bazę ir schemą, kuriose bus sukurtas MCP serveris.

Sukurkite Snowflake MCP serverį
Prisijunkite prie Snowflake naudodami vaidmenį, kuriam leidžiama kurti MCP serverį ir suteikti prieigą. Atidarykite darbalapį duomenų bazėje ir schemoje, kuriose turi būti sukurtas MCP serveris.
Paleiskite į toliau pateiktą pavyzdį panašų sakinį. Pavadinimus pakeiskite savo Snowflake duomenų bazės, schemos, paslaugų, rodinių, virtualiojo sandėlio ir serverio pavadinimais.
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" $$;

Šiame sakinyje pateikti įrankių pavadinimai ir Snowflake objektai yra pavyzdžiai:
support-searchsuteikia prieigą prie nurodytos Cortex Search paslaugos.revenue-analystsuteikia prieigą prie nurodyto semantinio rodinio. Prireikus pridėkite kitų rodinių įrankių.sql-readonlysuteikia tik skaitomą SQL prieigą naudojant nurodytą virtualųjį sandėlį.
Naudokite pastovius ir aiškius įrankių pavadinimus, kad ChatGPT galėtų pasirinkti tinkamą įrankį. Sukūrus MCP serverį prieiga prie susijusių Snowflake objektų automatiškai nesuteikiama.
Daugiau specifikacijos parinkčių žr. čia: Snowflake valdomo MCP serverio kūrimas.
Suteikite tinkamas Snowflake teises
Pasirinkite Snowflake vaidmenį, su kuriuo naudotojai suteiks prieigos teisę, tada tam vaidmeniui suteikite prieigą prie:
Duomenų bazės ir schemos.
MCP serverio.
Visų įrankių naudojamų susijusių objektų, pavyzdžiui, paieškos paslaugos, semantinio rodinio ar virtualiojo sandėlio.
Pavyzdys:
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;
Jei MCP serveris suteikia prieigą prie UDF, išsaugotos procedūros ar Cortex Agent, suteikite ir tam objektui reikalingas teises.
Patikrinkite, ar Snowflake paruošta
Paleiskite:
SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;
Tada paleiskite:
DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;
Patvirtinkite, kad:
Serveris yra numatytoje duomenų bazėje ir schemoje.
Įrankių sąrašas atitinka jūsų ketinimus.
Kiekvieno įrankio
identifiernurodo tinkamą Snowflake objektą.Ryšiui naudojamas vaidmuo MCP serveryje turi teisę
USAGE.Ryšiui naudojamas vaidmuo turi reikiamas teises kiekvienam susijusiam objektui.
Įveskite Snowflake serverio informaciją ChatGPT
ChatGPT perjunkite į paskyrą arba darbo erdvę, kurioje programėlė turi būti pasiekiama.
Atidarykite Nustatymai. Norėdami sukonfigūruoti visai darbo erdvei, kaip darbo erdvės administratorius atidarykite Darbo erdvės nustatymai.
Eikite į Įskiepiai.
Ieškokite Snowflake.
Įjunkite Snowflake – oficialų šabloną.
Atidarykite Snowflake – oficialų šabloną, įveskite aiškų ryšio pavadinimą ir pasirinkite Prisijungti.
Įveskite visą valdomo MCP serverio URL:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
Pavyzdys:
https://myorg-myaccount.azure.snowflakecomputing.com/api/v2/databases/CHATGPT_APPS/schemas/TOOLS/mcp-servers/CHATGPT_SNOWFLAKE_MCP

Jei konfigūravimo ekrane Snowflake konfigūracija rodoma atskiruose laukuose, naudokite tas pačias URL reikšmes:
Snowflake pagrindinio kompiuterio priešdėlis
Naudokite visą Snowflake paskyros URL dalį prieš .snowflakecomputing.com, įskaitant regiono ar debesijos priesagą.
Pavyzdžiui, jei paskyros URL prasideda taip:
https://myorg-myaccount.azure.snowflakecomputing.com
Pagrindinio kompiuterio priešdėlis yra:
myorg-myaccount.azure
Duomenų bazė
Įveskite duomenų bazę, kurioje yra MCP serveris, pavyzdžiui:
CHATGPT_APPS
Schema
Įveskite schemą, kurioje yra MCP serveris, pavyzdžiui:
TOOLS
MCP serverio pavadinimas
Įveskite Snowflake MCP serverio objekto pavadinimą, pavyzdžiui:
CHATGPT_SNOWFLAKE_MCP
Sukonfigūruokite OAuth klientą
Norint prisijungti, reikia Snowflake kliento ID ir kliento paslapties.
Kai naudojate session:role:all, Snowflake naudoja kiekvieno naudotojo numatytąjį vaidmenį. Numatytasis vaidmuo turi būti leidžiamas OAuth integracijos vaidmenų leidžiamų reikšmių sąraše, jei toks sukonfigūruotas, ir negali būti užblokuotas. Kitas patvirtintas vaidmuo automatiškai nepasirenkamas.
ChatGPT konfigūravimo lange atidarykite Išplėstiniai OAuth nustatymai, pasirinkite Naudotojo apibrėžtas OAuth klientas ir nukopijuokite ChatGPT rodomą Atgalinio iškvietimo URL.
Sukurkite pasirinktinę OAuth saugos integraciją, nustatydami
OAUTH_CLIENT_TYPE = 'CONFIDENTIAL', oOAUTH_REDIRECT_URI– tiksliai tą atgalinio iškvietimo URL.Snowflake paleiskite šį sakinį, integracijos pavadinimą rašydami didžiosiomis raidėmis:
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');Iš JSON rezultato įklijuokite
oauth_client_idį ChatGPT lauką OAuth kliento ID, ooauth_client_secret– į lauką OAuth kliento paslaptis.Nustatykite Žetono prieigos taško autentifikavimo metodas į
client_secret_basic.
Prisijunkite ir valdykite Snowflake
Tame pačiame ChatGPT konfigūravimo lange pasirinkite Tęsti, prisijunkite prie Snowflake ir suteikite ryšio prieigos teisę.
Konfigūruodami darbo erdvę, nustatykite įskiepio diegimo politiką ir prieigą pagal vaidmenis ar grupes nariams, kurie turėtų juo naudotis. Patikrinkite, ar įjungti ir Snowflake, ir Snowflake – oficialus šablonas.
Darbo erdvės administratoriai turi sukonfigūruoti Naudotojų prieigą vaidmenims, kurie turėtų naudoti Snowflake.
Darbo erdvės administratoriai turi peržiūrėti pateiktų įrankių Veiksmų valdymą.
Darbo erdvės administratoriai turi peržiūrėti Programėlės teises ir pasirinkti, kada ChatGPT turi paprašyti narių leidimo prieš naudojant programėlę.
Šios programėlės teisės taikomos ChatGPT pokalbiams. Darbo erdvės agentai pagal jų kūrėjo nustatytus kiekvieno agento valdiklius nustato, kokie programėlės veiksmai pasiekiami ir kada galutinių naudotojų prašoma juos patvirtinti. Apie agentų veikimą žr.: ChatGPT darbo erdvės agentai Enterprise ir Business planams.
Išbandykite programėlę
Atidarykite pokalbį, pasirinkite Snowflake ir išbandykite ryšį.
Patvirtinkite, kad ChatGPT aptinka jūsų sukonfigūruotus įrankius.
Pirmiausia atlikite nedidelės rizikos skaitymo veiksmą, pavyzdžiui, ieškokite arba vykdykite tik skaitomą patvirtintų duomenų užklausą.
Patvirtinkite, kad Snowflake teisės neleidžia pasiekti nieko, kas nepatenka į patvirtinto vaidmens ir objektų aprėptį.
Konfigūruodami darbo erdvę, išbandykite su leidimą turinčiais ne administratoriaus teises turinčiais nariais, kurių numatytieji Snowflake vaidmenys skiriasi. Sėkmingas administratoriaus ryšys nepatvirtina, kad gali prisijungti kiekvienas narys.
Darbo erdvės administratoriams nepakanka įjungti tik Snowflake. Jei Snowflake – oficialus šablonas neįjungtas ir neprijungtas, nariams įskiepis gali būti rodomas kaip išjungtas.
MCP serverio URL ir OAuth veikimas
ChatGPT jungiasi prie viso Snowflake valdomo MCP serverio URL:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
ChatGPT naudoja Snowflake pagrindinio kompiuterio priešdėlį iš šio URL, kad nustatytų šiuos Snowflake OAuth prieigos taškus:
Prieigos teisės suteikimas:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/authorizeŽetonas:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/token-request
Neįklijuokite Snowsight URL, vien tik Snowflake paskyros šakninio URL arba URL su papildomais kelio segmentais. MCP URL turi apimti /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} ir tiksliai atitikti jūsų Snowflake objektus.
Trikčių šalinimas
Snowflake įjungta administratoriui, bet išjungta nariui
Patvirtinkite, kad skiltyje Darbo erdvės nustatymai > Įskiepiai įjungti ir Snowflake, ir Snowflake – oficialus šablonas.
Atidarykite Snowflake – oficialų šabloną ir užbaikite jo Prisijungimo procesą. Vien įjungti šabloną jo neprijungus nepakanka.
Atidarykite Snowflake ir patvirtinkite, kad šablonas rodomas kaip privaloma programėlė.
Patvirtinkite, kad paveikto nario vaidmuo ar grupė leidžiami pagal įskiepio diegimo politiką.
MCP serveris nerastas
Dar kartą patikrinkite visą MCP serverio URL arba keturis šablono laukus, jei jų prašoma konfigūravimo ekrane.
Patvirtinkite, kad MCP serveris yra būtent toje duomenų bazėje ir schemoje.
ChatGPT nerodo jokių įrankių
Patvirtinkite, kad MCP serverio specifikacijoje yra įrankių.
Patvirtinkite, kad vaidmuo MCP serveryje turi teisę
USAGE.
Įrankis rodomas, bet naudojamas neveikia
Patvirtinkite, kad vaidmuo turi reikiamą teisę į susijusį Snowflake objektą, pavyzdžiui, paieškos paslaugą, semantinį rodinį, virtualųjį sandėlį, procedūrą ar UDF.
SQL įrankis neveikia
Patvirtinkite, kad virtualiojo sandėlio pavadinimas teisingas ir sandėlis veikia.
Patvirtinkite, kad vaidmuo virtualiajame sandėlyje turi teisę
USAGE.Jei norėjote suteikti tik skaitymo prieigą, patvirtinkite, kad nustatyta
read_only: true.
Prašomas vaidmuo ALL buvo aiškiai užblokuotas
Paprašykite Snowflake administratoriaus palyginti jūsų numatytąjį vaidmenį su OAuth integracijoje leidžiamais ir blokuojamais vaidmenimis. Kitas leidžiamas vaidmuo automatiškai nepasirenkamas. Jei tinka, pakeiskite numatytąjį vaidmenį patvirtintu vaidmeniu ir prisijunkite iš naujo. Pakeitus numatytąjį vaidmenį, pasikeis ir jūsų Snowflake seansai už ChatGPT ribų.
Nepavyksta suteikti prieigos teisės
Patvirtinkite, kad naudotojas gali prisijungti prie Snowflake.
Kai naudojate
session:role:all, patvirtinkite, kad OAuth integracija leidžia naudotojo numatytąjį vaidmenį.Patvirtinkite, kad konfigūracijoje naudojamas Snowflake valdomo MCP OAuth procesas.
Patvirtinkite, kad kliento ID ir kliento paslaptis atitinka Snowflake OAuth integraciją, o jos peradresavimo URI atitinka ChatGPT rodomą Atgalinio iškvietimo URL.
Snowflake tinklo politika arba leidžiamų IP adresų sąrašas blokuoja jungtį
Paprašykite Snowflake administratoriaus atnaujinti Snowflake tinklo politiką arba prieigos taisykles.
Leiskite gaunamus ryšius iš dabartinių ChatGPT jungties siunčiamo srauto IP adresų diapazonų.
Šį leidžiamų reikšmių sąrašą sukonfigūruokite Snowflake. Jis nesusijęs su ChatGPT darbo erdvės leidžiamų IP adresų sąrašu.
Kai įmanoma, automatizuokite atnaujinimus pagal paskelbtą JSON, nes diapazonai gali keistis.
Ryšio su pagrindinio kompiuterio vardu problema
Naudokite tinkamą Snowflake pagrindinio kompiuterio priešdėlį. Snowflake pagrindinių kompiuterių vardai su pabraukimo brūkšniais gali kelti problemų, todėl geriau naudokite brūkšnelius.
