Folosiți acest ghid dacă sunteți administratorul unui spațiu de lucru ChatGPT sau utilizator ChatGPT Plus ori Pro și doriți să conectați ChatGPT la Snowflake printr-un server MCP gestionat de Snowflake.
Cea mai mare parte a configurării se face în Snowflake. După ce Snowflake este pregătit, finalizați în ChatGPT conexiunea la șablonul Snowflake, apoi activați pluginul Snowflake care folosește șablonul respectiv.
Ce configurați
Creați un server MCP gestionat de Snowflake, care servește drept punct final al conectorului pentru ChatGPT. Serverul MCP definește:
Ce acțiuni poate folosi ChatGPT.
Ce date sau obiecte Snowflake pot accesa instrumentele respective.
Cu ce rol Snowflake autorizează fiecare utilizator conexiunea.
Ce bază de date, schemă și nume de server MCP Snowflake identifică punctul final.
Apoi configurați Snowflake - Șablon oficial în ChatGPT folosind adresa URL completă a serverului MCP gestionat. Ecranul de configurare a șablonului poate afișa adresa URL sub forma a patru câmpuri separate:
Prefixul gazdei Snowflake.
Baza de date.
Schema.
Numele serverului MCP.
ChatGPT poate descoperi și folosi numai instrumentele expuse de serverul MCP și permise de rolul Snowflake cu care utilizatorul autorizează conexiunea.
Înainte de a începe
Aveți nevoie de:
Acces de administrator sau proprietar al unui spațiu de lucru ChatGPT ori acces ChatGPT Plus sau Pro.
Acces Snowflake care permite crearea obiectelor serverului MCP și acordarea permisiunilor.
Baza de date și schema Snowflake în care va fi găzduit serverul MCP.
O decizie privind acțiunile permise pentru ChatGPT, cum ar fi Cortex Search, Cortex Analyst, SQL doar în citire sau o anumită procedură ori funcție.
Un rol Snowflake cu privilegii minime, pe care utilizatorii îl vor folosi când autorizează aplicația.
Prefixul gazdei contului Snowflake, inclusiv orice sufix de regiune sau cloud.
Dacă accesul la contul Snowflake este restricționat printr-o politică de rețea sau o listă de adrese IP permise, solicitați unui administrator Snowflake să permită conexiunile de intrare din intervalele actuale de adrese IP de ieșire ale conectorului ChatGPT. Lista este dinamică și trebuie menținută la zi.
Valori de pregătit
Prefixul gazdei Snowflake: tot ce se află înainte de .snowflakecomputing.com în adresa URL a contului Snowflake.
Baza de date: baza de date care conține serverul MCP.
Schema: schema care conține serverul MCP.
Numele serverului MCP: numele obiectului server MCP Snowflake.
Adresa URL completă a serverului MCP gestionat, dacă ecranul de configurare ChatGPT solicită o adresă URL.
Rolul Snowflake: rolul pe care utilizatorii trebuie să-l folosească la autorizarea aplicației.
Lista de instrumente: obiectele și acțiunile Snowflake pe care doriți să le folosească ChatGPT.
Decideți ce poate face ChatGPT
Selectați numai funcționalitățile pe care doriți să le expuneți. Printre opțiunile uzuale se numără:
Căutarea cu Cortex Search pentru a găsi răspunsuri în datele sau conținutul Snowflake indexat.
Întrebări și răspunsuri cu Cortex Analyst, printr-o vizualizare semantică aprobată.
SQL doar în citire, pentru acces controlat la interogări.
Un agent Snowflake, o procedură stocată sau o funcție UDF pentru un anumit flux de lucru.
Dacă activați SQL, păstrați accesul doar în citire, cu excepția cazului în care organizația a examinat și aprobat accesul la scriere.
Deschideți o foaie de lucru Snowflake
Conectați-vă la aplicația Snowflake.
Comutați la un rol care poate crea serverul MCP și acorda acces.
Accesați Spații de lucru.

Creați un spațiu de lucru cu un fișier SQL.

Setați contextul spațiului de lucru la baza de date și schema în care va fi creat serverul MCP.

Creați serverul MCP Snowflake
În Snowflake, conectați-vă cu un rol care poate crea serverul MCP și acorda acces. Deschideți o foaie de lucru în baza de date și schema în care trebuie creat serverul MCP.
Rulați o instrucțiune precum cea din exemplul următor. Înlocuiți numele cu cele ale bazei de date, schemei, serviciilor, vizualizărilor, depozitului virtual și serverului dvs. 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" $$;

Numele instrumentelor și obiectele Snowflake din această instrucțiune sunt exemple:
support-searchexpune serviciul Cortex Search specificat.revenue-analystexpune vizualizarea semantică specificată. Adăugați instrumente pentru alte vizualizări, după necesități.sql-readonlyexpune acces SQL doar în citire, folosind depozitul virtual specificat.
Folosiți nume stabile și descriptive pentru instrumente, astfel încât ChatGPT să poată alege instrumentul potrivit. Crearea serverului MCP nu acordă automat acces la obiectele Snowflake subiacente.
Pentru opțiuni suplimentare ale specificației, consultați: Creați un server MCP gestionat de Snowflake.
Acordați permisiunile Snowflake corespunzătoare
Alegeți rolul Snowflake cu care utilizatorii vor autoriza conexiunea, apoi acordați-i acces la:
Baza de date și schema.
Serverul MCP.
Fiecare obiect subiacent folosit de instrumente, cum ar fi un serviciu de căutare, o vizualizare semantică sau un depozit virtual.
Exemplu:
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;
Dacă serverul MCP expune o funcție UDF, o procedură stocată sau un agent Cortex, acordați și permisiunile necesare pentru obiectul respectiv.
Verificați dacă Snowflake este pregătit
Rulați:
SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;
Apoi rulați:
DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;
Confirmați că:
Serverul există în baza de date și schema așteptate.
Lista de instrumente este cea dorită.
Câmpul
identifieral fiecărui instrument indică obiectul Snowflake corect.Rolul folosit pentru conectare are permisiunea
USAGEasupra serverului MCP.Rolul folosit pentru conectare are permisiunile necesare pentru fiecare obiect subiacent.
Introduceți detaliile serverului Snowflake în ChatGPT
În ChatGPT, comutați la contul sau spațiul de lucru în care trebuie să fie disponibilă aplicația.
Deschideți Setări. Pentru configurarea la nivelul întregului spațiu de lucru, deschideți Setările spațiului de lucru în calitate de administrator.
Accesați Pluginuri.
Căutați Snowflake.
Activați Snowflake - Șablon oficial.
Deschideți Snowflake - Șablon oficial, introduceți un nume clar pentru conexiune și selectați Conectare.
Introduceți adresa URL completă a serverului MCP gestionat:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
Exemplu:
https://myorg-myaccount.azure.snowflakecomputing.com/api/v2/databases/CHATGPT_APPS/schemas/TOOLS/mcp-servers/CHATGPT_SNOWFLAKE_MCP

Dacă ecranul de configurare afișează configurația Snowflake în câmpuri separate, folosiți aceleași valori din adresa URL:
Prefixul gazdei Snowflake
Folosiți tot ce apare înainte de .snowflakecomputing.com în adresa URL a contului Snowflake, inclusiv orice sufix de regiune sau cloud.
De exemplu, dacă adresa URL a contului începe cu:
https://myorg-myaccount.azure.snowflakecomputing.com
Prefixul gazdei este:
myorg-myaccount.azure
Bază de date
Introduceți baza de date care conține serverul MCP, de exemplu:
CHATGPT_APPS
Schemă
Introduceți schema care conține serverul MCP, de exemplu:
TOOLS
Numele serverului MCP
Introduceți numele obiectului server MCP Snowflake, de exemplu:
CHATGPT_SNOWFLAKE_MCP
Configurați clientul OAuth
Pentru conectare, aveți nevoie de un ID de client și un secret de client de la Snowflake.
Când folosiți session:role:all, Snowflake utilizează rolul prestabilit al fiecărui utilizator. Rolul prestabilit trebuie să fie permis de lista de roluri acceptate a integrării OAuth, dacă aceasta este configurată, și nu trebuie să fie blocat. Existența unui alt rol aprobat nu determină selectarea automată a acestuia.
În fereastra de configurare ChatGPT, deschideți Setări OAuth avansate, selectați Client OAuth definit de utilizator și copiați Adresa URL de apel invers afișată în ChatGPT.
Creați o integrare de securitate OAuth personalizată cu
OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'și setațiOAUTH_REDIRECT_URIla adresa URL exactă de apel invers.Rulați următoarea instrucțiune în Snowflake, folosind numele integrării cu majuscule:
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');Din rezultatul JSON, lipiți
oauth_client_idîn ID client OAuth șioauth_client_secretîn Secret client OAuth în ChatGPT.Setați Metoda de autentificare la punctul final pentru token la
client_secret_basic.
Conectați și gestionați Snowflake
În aceeași fereastră de configurare ChatGPT, selectați Continuați, conectați-vă la Snowflake și autorizați conexiunea.
Pentru configurarea unui spațiu de lucru, stabiliți politica de instalare a pluginului și accesul în funcție de rol sau grup pentru membrii care trebuie să-l folosească. Verificați dacă sunt activate atât Snowflake, cât și Snowflake - Șablon oficial.
Administratorii spațiului de lucru răspund de configurarea opțiunii Acces utilizatori pentru rolurile care trebuie să folosească Snowflake.
Administratorii spațiului de lucru răspund de examinarea opțiunii Controlul acțiunilor pentru instrumentele expuse.
Administratorii spațiului de lucru răspund de examinarea opțiunii Permisiunile aplicației, pentru a stabili când ChatGPT solicită acordul membrilor înainte de a folosi aplicația.
Aceste permisiuni ale aplicației se aplică discuțiilor ChatGPT. Agenții spațiului de lucru folosesc controalele specifice fiecărui agent, stabilite de creatorul acestuia, pentru a determina ce acțiuni ale aplicației sunt disponibile și când li se solicită utilizatorilor finali să le aprobe. Pentru comportamentul agenților, consultați: Agenții spațiului de lucru ChatGPT pentru Enterprise și Business.
Testați aplicația
Deschideți o conversație, selectați Snowflake și testați conexiunea.
Confirmați că ChatGPT descoperă instrumentele configurate.
Rulați mai întâi o acțiune de citire cu risc redus, cum ar fi o căutare sau o interogare doar în citire a datelor aprobate.
Confirmați că permisiunile Snowflake împiedică accesul în afara rolului și obiectelor aprobate.
Pentru configurarea unui spațiu de lucru, testați folosind membri fără drepturi de administrator, cărora li s-a permis accesul și care au roluri Snowflake prestabilite diferite. Conectarea reușită a unui administrator nu confirmă că fiecare membru se poate conecta.
Pentru administratorii spațiului de lucru, nu este suficient să activeze numai Snowflake. Dacă Snowflake - Șablon oficial nu a fost activat și conectat, pluginul poate apărea dezactivat pentru membri.
Adresa URL a serverului MCP și comportamentul OAuth
ChatGPT se conectează la adresa URL completă a serverului MCP gestionat de Snowflake:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
ChatGPT folosește prefixul gazdei Snowflake din adresa URL pentru a determina următoarele puncte finale OAuth Snowflake:
Autorizare:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/authorizeToken:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/token-request
Nu lipiți o adresă URL Snowsight, doar adresa URL rădăcină a contului Snowflake sau o adresă URL cu segmente de cale suplimentare. Adresa URL MCP trebuie să includă /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} și să corespundă exact obiectelor Snowflake.
Depanare
Snowflake este activat pentru un administrator, dar dezactivat pentru un membru
Confirmați că atât Snowflake, cât și Snowflake - Șablon oficial sunt activate în Setările spațiului de lucru > Pluginuri.
Deschideți Snowflake - Șablon oficial și finalizați procesul de Conectare. Nu este suficient să activați șablonul fără a-l conecta.
Deschideți Snowflake și confirmați că șablonul apare ca aplicație obligatorie.
Confirmați că rolul sau grupul membrului afectat este permis de politica de instalare a pluginului.
Serverul MCP nu a fost găsit
Verificați din nou adresa URL completă a serverului MCP sau cele patru câmpuri ale șablonului, dacă sunt solicitate de ecranul de configurare.
Confirmați că serverul MCP există exact în baza de date și schema respective.
În ChatGPT nu apare niciun instrument
Confirmați că specificația serverului MCP include instrumente.
Confirmați că rolul are permisiunea
USAGEasupra serverului MCP.
Un instrument apare, dar nu funcționează când este folosit
Confirmați că rolul are permisiunea necesară asupra obiectului Snowflake subiacent, cum ar fi serviciul de căutare, vizualizarea semantică, depozitul virtual, procedura sau funcția UDF.
Instrumentul SQL nu funcționează
Confirmați că numele depozitului virtual este corect și că acesta rulează.
Confirmați că rolul are permisiunea
USAGEasupra depozitului virtual.Confirmați că este setat
read_only: truedacă ați dorit acces doar în citire.
Rolul ALL solicitat a fost blocat explicit
Solicitați administratorului Snowflake să compare rolul dvs. prestabilit cu rolurile permise și blocate ale integrării OAuth. Existența unui alt rol permis nu determină selectarea automată a acestuia. Dacă este cazul, schimbați rolul prestabilit cu unul aprobat și reconectați-vă. Schimbarea rolului prestabilit afectează și sesiunile Snowflake din afara ChatGPT.
Autorizarea eșuează
Confirmați că utilizatorul se poate conecta la Snowflake.
Când folosiți
session:role:all, confirmați că rolul prestabilit al utilizatorului este permis de integrarea OAuth.Confirmați că în configurare se folosește fluxul OAuth MCP gestionat de Snowflake.
Confirmați că ID-ul de client și secretul de client corespund integrării OAuth Snowflake și că URI-ul de redirecționare al acesteia corespunde Adresei URL de apel invers afișate în ChatGPT.
Politica de rețea Snowflake sau lista de adrese IP permise blochează conectorul
Solicitați unui administrator Snowflake să actualizeze politica de rețea sau regulile de acces Snowflake.
Permiteți conexiunile de intrare din intervalele actuale de adrese IP de ieșire ale conectorului ChatGPT.
Configurați această listă de adrese permise în Snowflake. Aceasta este separată de lista de adrese IP permise a spațiului de lucru ChatGPT.
Când este posibil, automatizați actualizările pe baza fișierului JSON publicat, deoarece intervalele se pot schimba.
Problemă de conectare la numele de gazdă
Folosiți prefixul corect al gazdei Snowflake. Numele de gazdă Snowflake cu caractere de subliniere pot cauza probleme; preferați cratimele.
