Bruk denne veiledningen hvis du administrerer et ChatGPT-arbeidsområde eller bruker ChatGPT Plus eller Pro og vil koble ChatGPT til Snowflake via en Snowflake-administrert MCP-server.
Det meste av oppsettet gjøres i Snowflake. Når Snowflake er klart, fullfører du tilkoblingen for Snowflake-malen i ChatGPT og aktiverer deretter Snowflake-pluginen som bruker malen.
Dette skal du konfigurere
Du oppretter en Snowflake-administrert MCP-server som fungerer som endepunkt for ChatGPT-koblingen. MCP-serveren definerer:
Hvilke handlinger ChatGPT kan bruke.
Hvilke Snowflake-data eller -objekter disse verktøyene har tilgang til.
Hvilken Snowflake-rolle hver bruker autoriserer med.
Hvilken Snowflake-database, hvilket skjema og hvilket MCP-servernavn som identifiserer endepunktet.
Deretter konfigurerer du Snowflake – offisiell mal i ChatGPT med hele URL-adressen til den administrerte MCP-serveren. Oppsettskjermen for malen kan vise URL-adressen som fire separate felt:
Snowflake-vertsprefiks.
Database.
Skjema.
Navn på MCP-server.
ChatGPT kan bare finne og bruke verktøy som MCP-serveren eksponerer, og som Snowflake-rollen brukeren autoriserer med, tillater.
Før du begynner
Du trenger:
Tilgang som administrator eller eier av et ChatGPT-arbeidsområde, eller tilgang til ChatGPT Plus eller Pro.
Snowflake-tilgang som kan opprette MCP-serverobjekter og gi tillatelser.
Snowflake-databasen og -skjemaet der MCP-serveren skal ligge.
En beslutning om hva ChatGPT skal kunne gjøre, for eksempel bruke Cortex Search, Cortex Analyst, skrivebeskyttet SQL eller en bestemt prosedyre eller funksjon.
En Snowflake-rolle med færrest mulige rettigheter som brukerne skal bruke når de autoriserer appen.
Vertsprefikset for Snowflake-kontoen, inkludert eventuelle suffikser for region eller sky.
Hvis Snowflake-kontoen begrenser tilgangen med nettverksregler eller en liste over tillatte IP-adresser, ber du en Snowflake-administrator om å tillate innkommende tilkoblinger fra de gjeldende utgående IP-områdene for ChatGPT-koblinger. Listen er dynamisk og må holdes oppdatert.
Verdier du må klargjøre
Snowflake-vertsprefiks: alt før .snowflakecomputing.com i URL-adressen til Snowflake-kontoen.
Database: databasen som inneholder MCP-serveren.
Skjema: skjemaet som inneholder MCP-serveren.
Navn på MCP-server: objektnavnet til Snowflake MCP-serveren.
Full URL-adresse til den administrerte MCP-serveren hvis oppsettskjermen i ChatGPT ber om en URL-adresse.
Snowflake-rolle: rollen brukerne skal bruke når de autoriserer appen.
Verktøyliste: Snowflake-objektene og -handlingene du vil at ChatGPT skal bruke.
Bestem hva ChatGPT kan gjøre
Velg bare funksjonene du vil eksponere. Vanlige alternativer er:
Søk med Cortex Search for å finne svar i indekserte Snowflake-data eller innhold.
Spørsmål & svar med Cortex Analyst via en godkjent semantisk visning.
Skrivebeskyttet SQL for kontrollert spørringstilgang.
En Snowflake-agent, lagret prosedyre eller UDF for en bestemt arbeidsflyt.
Hvis du aktiverer SQL, bør tilgangen være skrivebeskyttet med mindre organisasjonen har gjennomgått og godkjent skrivetilgang.
Åpne et Snowflake-regneark
Logg på Snowflake-appen.
Bytt til en rolle som kan opprette MCP-serveren og gi tilgang.
Gå til Arbeidsområder.

Opprett et arbeidsområde med en SQL-fil.

Angi databasen og skjemaet der MCP-serveren skal opprettes, som kontekst for arbeidsområdet.

Opprett Snowflake MCP-serveren
Logg på Snowflake med en rolle som kan opprette MCP-serveren og gi tilgang. Åpne et regneark i databasen og skjemaet der MCP-serveren skal opprettes.
Kjør en setning som i eksemplet nedenfor. Erstatt navnene med din egen Snowflake-database, ditt eget skjema og dine egne tjenester, visninger, datavarehus og servernavn.
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" $$;

Verktøynavnene og Snowflake-objektene i denne setningen er eksempler:
support-searcheksponerer den angitte Cortex Search-tjenesten.revenue-analysteksponerer den angitte semantiske visningen. Legg til verktøy for andre visninger etter behov.sql-readonlyeksponerer skrivebeskyttet SQL med det angitte datavarehuset.
Bruk stabile og beskrivende verktøynavn, slik at ChatGPT kan velge riktig verktøy. Tilgang til de underliggende Snowflake-objektene gis ikke automatisk når du oppretter MCP-serveren.
Du finner flere alternativer for spesifikasjonen under Opprett en Snowflake-administrert MCP-server.
Gi riktige Snowflake-tillatelser
Velg Snowflake-rollen brukerne skal autorisere med, og gi deretter rollen tilgang til
Databasen og skjemaet.
MCP-serveren.
Alle underliggende objekter som verktøyene bruker, for eksempel en søketjeneste, semantisk visning eller et datavarehus.
Eksempel:
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;
Hvis MCP-serveren eksponerer en UDF, lagret prosedyre eller Cortex-agent, må du også gi de nødvendige tillatelsene til dette objektet.
Kontroller at Snowflake er klart
Kjør:
SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;
Kjør deretter:
DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;
Kontroller følgende:
Serveren finnes i forventet database og skjema.
Verktøylisten er som tiltenkt.
Hvert verktøys
identifierpeker til riktig Snowflake-objekt.Rollen som kobler til, har
USAGEpå MCP-serveren.Rollen som kobler til, har de nødvendige tillatelsene til hvert underliggende objekt.
Angi Snowflake-serverdetaljene i ChatGPT
Bytt til kontoen eller arbeidsområdet der appen skal være tilgjengelig, i ChatGPT.
Åpne Innstillinger. Hvis oppsettet skal gjelde hele arbeidsområdet, åpner du Innstillinger for arbeidsområdet som administrator.
Gå til Pluginer.
Søk etter Snowflake.
Aktiver Snowflake – offisiell mal.
Åpne Snowflake – offisiell mal, angi et tydelig navn på tilkoblingen, og velg Koble til.
Angi hele URL-adressen til den administrerte MCP-serveren:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
Eksempel:
https://myorg-myaccount.azure.snowflakecomputing.com/api/v2/databases/CHATGPT_APPS/schemas/TOOLS/mcp-servers/CHATGPT_SNOWFLAKE_MCP

Hvis oppsettskjermen viser Snowflake-konfigurasjonen som separate felt, bruker du de samme verdiene som i URL-adressen:
Snowflake-vertsprefiks
Bruk alt før .snowflakecomputing.com i URL-adressen til Snowflake-kontoen, inkludert eventuelle suffikser for region eller sky.
Hvis URL-adressen til kontoen for eksempel begynner med:
https://myorg-myaccount.azure.snowflakecomputing.com
er vertsprefikset:
myorg-myaccount.azure
Database
Angi databasen som inneholder MCP-serveren, for eksempel:
CHATGPT_APPS
Skjema
Angi skjemaet som inneholder MCP-serveren, for eksempel:
TOOLS
Navn på MCP-server
Angi objektnavnet til Snowflake MCP-serveren, for eksempel:
CHATGPT_SNOWFLAKE_MCP
Konfigurer OAuth-klienten
Du trenger en klient-ID og en klienthemmelighet fra Snowflake for å koble til.
Når du bruker session:role:all, bruker Snowflake standardrollen til hver enkelt bruker. Standardrollen må være tillatt av OAuth-integrasjonens liste over tillatte roller, hvis en slik liste er konfigurert, og må ikke være blokkert. En annen godkjent rolle velges ikke automatisk.
Åpne Avanserte OAuth-innstillinger i oppsettsvinduet i ChatGPT, velg Brukerdefinert OAuth-klient, og kopier Tilbakeringings-URL som vises i ChatGPT.
Opprett en egendefinert OAuth-sikkerhetsintegrasjon med
OAUTH_CLIENT_TYPE = 'CONFIDENTIAL', og angi denne nøyaktige tilbakeringings-URL-en forOAUTH_REDIRECT_URI.Kjør følgende setning i Snowflake med integrasjonsnavnet skrevet med store bokstaver:
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');Lim inn
oauth_client_idfra JSON-resultatet i OAuth-klient-ID ogoauth_client_secreti OAuth-klienthemmelighet i ChatGPT.Sett Autentiseringsmetode for tokenendepunkt til
client_secret_basic.
Koble til og administrer Snowflake
Velg Fortsett i det samme oppsettsvinduet i ChatGPT, logg på Snowflake og autoriser tilkoblingen.
For et arbeidsområde konfigurerer du installasjonsreglene for pluginen og rolle- eller gruppetilgang for medlemmene som skal bruke den. Kontroller at både Snowflake og Snowflake – offisiell mal er aktivert.
Administratorer for arbeidsområdet har ansvar for å konfigurere Brukertilgang for rollene som skal bruke Snowflake.
Administratorer for arbeidsområdet har ansvar for å gjennomgå Handlingskontroll for de eksponerte verktøyene.
Administratorer for arbeidsområdet har ansvar for å gjennomgå Apptillatelser og velge når ChatGPT skal spørre medlemmene før appen brukes.
Disse apptillatelsene gjelder for ChatGPT-samtaler. Agenter i arbeidsområdet bruker kontroller per agent, angitt av agentens utvikler, for å bestemme hvilke apphandlinger som er tilgjengelige, og når sluttbrukere blir bedt om å godkjenne dem. Du finner mer informasjon om agentatferd under ChatGPT-agenter i arbeidsområder for Enterprise og Business.
Test appen
Åpne en chat, velg Snowflake, og test tilkoblingen.
Kontroller at ChatGPT finner verktøyene du konfigurerte.
Kjør først en lesehandling med lav risiko, for eksempel et søk eller en skrivebeskyttet spørring mot godkjente data.
Kontroller at Snowflake-tillatelsene hindrer tilgang utover den godkjente rollen og de godkjente objektene.
For et arbeidsområde bør du teste med tillatte medlemmer uten administratortilgang som har ulike standardroller i Snowflake. At en administrator kan koble til, bekrefter ikke at alle medlemmer kan gjøre det.
For administratorer av arbeidsområder er det ikke nok å aktivere bare Snowflake. Hvis Snowflake – offisiell mal ikke er aktivert og koblet til, kan pluginen vises som deaktivert for medlemmene.
URL-adresse til MCP-server og OAuth-atferd
ChatGPT kobler til hele URL-adressen til den Snowflake-administrerte MCP-serveren:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
ChatGPT bruker Snowflake-vertsprefikset fra URL-adressen til å finne disse Snowflake OAuth-endepunktene:
Autorisasjon:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/authorizeToken:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/token-request
Ikke lim inn en Snowsight-URL, bare rot-URL-en til Snowflake-kontoen eller en URL-adresse med ekstra banesegmenter. MCP-URL-en må inneholde /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} og samsvare nøyaktig med Snowflake-objektene.
Feilsøking
Snowflake er aktivert for en administrator, men deaktivert for et medlem
Kontroller at både Snowflake og Snowflake – offisiell mal er aktivert under Innstillinger for arbeidsområdet > Pluginer.
Åpne Snowflake – offisiell mal, og fullfør prosessen under Koble til. Det er ikke nok å aktivere malen uten å koble den til.
Åpne Snowflake, og kontroller at malen vises som den påkrevde appen.
Kontroller at installasjonsreglene for pluginen tillater rollen eller gruppen til det berørte medlemmet.
MCP-serveren ble ikke funnet
Kontroller hele URL-adressen til MCP-serveren på nytt, eller de fire malfeltene hvis oppsettskjermen ber om dem.
Kontroller at MCP-serveren finnes i akkurat denne databasen og dette skjemaet.
Ingen verktøy vises i ChatGPT
Kontroller at spesifikasjonen for MCP-serveren inneholder verktøy.
Kontroller at rollen har
USAGEpå MCP-serveren.
Et verktøy vises, men svikter ved bruk
Kontroller at rollen har den nødvendige tillatelsen til det underliggende Snowflake-objektet, for eksempel søketjenesten, den semantiske visningen, datavarehuset, prosedyren eller UDF-en.
SQL-verktøyet svikter
Kontroller at navnet på datavarehuset er riktig, og at datavarehuset kjører.
Kontroller at rollen har
USAGEpå datavarehuset.Kontroller at
read_only: trueer angitt hvis du ønsket skrivebeskyttet tilgang.
Den forespurte rollen ALL er uttrykkelig blokkert
Be Snowflake-administratoren sammenligne standardrollen din med rollene OAuth-integrasjonen tillater og blokkerer. En annen tillatt rolle velges ikke automatisk. Hvis det passer, endrer du standardrollen til en godkjent rolle og kobler til på nytt. Hvis du endrer standardrollen, påvirker det også Snowflake-øktene dine utenfor ChatGPT.
Autorisasjonen mislykkes
Kontroller at brukeren kan logge på Snowflake.
Når
session:role:allbrukes, må du kontrollere at OAuth-integrasjonen tillater brukerens standardrolle.Kontroller at oppsettet bruker OAuth-flyten for Snowflake-administrert MCP.
Kontroller at klient-ID-en og klienthemmeligheten samsvarer med Snowflake OAuth-integrasjonen, og at integrasjonens URI for omdirigering samsvarer med Tilbakeringings-URL som vises i ChatGPT.
Snowflakes nettverksregler eller liste over tillatte IP-adresser blokkerer koblingen
Be en Snowflake-administrator oppdatere Snowflakes nettverksregler eller tilgangsregler.
Tillat innkommende tilkoblinger fra de gjeldende utgående IP-områdene for ChatGPT-koblinger.
Konfigurer denne listen over tillatte adresser i Snowflake. Den er atskilt fra listen over tillatte IP-adresser for ChatGPT-arbeidsområdet.
Automatiser om mulig oppdateringer fra den publiserte JSON-filen, siden områdene kan endres.
Tilkoblingsproblem med vertsnavnet
Bruk riktig Snowflake-vertsprefiks. Understreker i Snowflake-vertsnavn kan skape problemer. Bruk helst bindestreker.
