Bruk denne veiledningen hvis du er administrator for et ChatGPT-arbeidsområde eller bruker ChatGPT Plus eller Pro og vil koble ChatGPT til Snowflake via en MCP-server administrert av Snowflake.
Det meste av oppsettet gjøres i Snowflake. Når Snowflake er klar, fullfører du tilkoblingen for Snowflake-malen i ChatGPT og aktiverer deretter Snowflake-pluginen som bruker malen.
Innebygd OAuth: Når dette er tilgjengelig for Snowflake-kontoen din og i ChatGPT, bruker du ChatGPT-partnerappen som en Snowflake-administrator har aktivert. Logg på Snowflake med organisasjonens SSO hvis det er konfigurert. Du trenger ikke å oppgi klient-ID eller klienthemmelighet i ChatGPT. Følg delen «Innebygd OAuth» nedenfor.
Egendefinert OAuth-klient: Bruk dette alternativet hvis organisasjonen krever en egen OAuth-klient, eller hvis innebygd OAuth ikke er tilgjengelig. Følg delen «Egendefinert OAuth-klient» nedenfor.
Begge OAuth-alternativene krever det felles MCP-serveroppsettet, tillatelsene til underliggende objekter og nettverkstilgangen som er beskrevet nedenfor. Fullfør det felles oppsettet til og med «Oppgi Snowflake-serverdetaljene i ChatGPT» før du konfigurerer OAuth.
Dette setter du opp
Du oppretter en MCP-server administrert av Snowflake som fungerer som koblingens endepunkt for ChatGPT. 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 den fullstendige URL-en til den administrerte MCP-serveren. Oppsettskjermen for malen kan vise URL-en som fire separate felt:
Snowflake-vertsprefiks.
Database.
Skjema.
MCP-servernavn.
ChatGPT kan bare finne og bruke verktøy som gjøres tilgjengelige av MCP-serveren og er tillatt av Snowflake-rollen brukeren autoriserer med.
Før du begynner
Du trenger:
Administrator- eller eiertilgang til et ChatGPT-arbeidsområde, eller tilgang til ChatGPT Plus eller Pro.
Snowflake-tilgang som lar deg opprette MCP-serverobjekter og gi tillatelser.
Snowflake-databasen og skjemaet der MCP-serveren skal ligge.
En beslutning om hva ChatGPT skal få lov til å bruke, for eksempel Cortex Search, Cortex Analyst, SQL med kun lesetilgang eller en bestemt prosedyre eller funksjon.
En Snowflake-rolle med kun nødvendige tillatelser, som brukerne skal bruke når de autoriserer appen.
Snowflake-kontoens vertsprefiks, inkludert eventuelle region- eller skysuffikser.
Hvis Snowflake-kontoen begrenser tilgang gjennom en nettverkspolicy eller en liste over tillatte IP-adresser, ber du en Snowflake-administrator tillate innkommende tilkoblinger fra de gjeldende IP-områdene for utgående trafikk fra ChatGPT-koblinger. Listen er dynamisk og bør holdes oppdatert.
Verdier du bør ha klare
Snowflake-vertsprefiks: alt før .snowflakecomputing.com i Snowflake-kontoens URL.
Database: databasen som inneholder MCP-serveren.
Skjema: skjemaet som inneholder MCP-serveren.
MCP-servernavn: objektnavnet til Snowflake MCP-serveren.
Fullstendig URL til den administrerte MCP-serveren, hvis oppsettskjermen i ChatGPT ber om en URL.
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 gjøre tilgjengelige. Vanlige alternativer inkluderer:
Søk med Cortex Search for å finne svar i indekserte Snowflake-data eller -innhold.
Spørsmål og svar med Cortex Analyst via en godkjent semantisk visning.
SQL med kun lesetilgang for kontrollert tilgang til spørringer.
En Snowflake-agent, lagret prosedyre eller UDF for en bestemt arbeidsflyt.
Hvis du aktiverer SQL, bør du begrense det til lesetilgang med mindre organisasjonen har vurdert 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.

Sett arbeidsområdets kontekst til databasen og skjemaet der MCP-serveren skal opprettes.

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 eksempelet nedenfor. Erstatt navnene med navnene på din egen Snowflake-database, ditt skjema, dine tjenester, visninger og datavarehus samt servernavnet.
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-searchgjør den angitte Cortex Search-tjenesten tilgjengelig.revenue-analystgjør den angitte semantiske visningen tilgjengelig. Legg til verktøy for andre visninger etter behov.sql-readonlygjør SQL med kun lesetilgang tilgjengelig via det angitte datavarehuset.
Bruk stabile, beskrivende verktøynavn, slik at ChatGPT kan velge riktig verktøy. Oppretting av MCP-serveren gir ikke automatisk tilgang til de underliggende Snowflake-objektene.
Se flere spesifikasjonsalternativer i Opprett en MCP-server administrert av Snowflake.
Gi de riktige Snowflake-tillatelsene
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, en 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 gjør en UDF, lagret prosedyre eller Cortex-agent tilgjengelig, må du også gi de nødvendige tillatelsene for dette objektet.
Kontroller at Snowflake er klar
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 ønsket.
Hvert verktøys
identifierpeker på riktig Snowflake-objekt.Rollen som brukes til tilkoblingen, har
USAGEpå MCP-serveren.Rollen som brukes til tilkoblingen, har de nødvendige tillatelsene på hvert underliggende objekt.
Oppgi Snowflake-serverdetaljene i ChatGPT
Hvis du skal konfigurere et arbeidsområde, åpner du admin.openai.com, velger ønsket ChatGPT-arbeidsområde og åpner Pluginer. For informasjon om navigering i arbeidsområdet og tilgang til eldre apper, se Administratorkontroller, sikkerhet og samsvar for pluginer og apper.
Bytt til kontoen eller arbeidsområdet i ChatGPT der appen skal være tilgjengelig.
Gå til Innstillinger > Pluginer for et personlig oppsett, eller til Administrasjonskonsoll > Pluginer som arbeidsområdeadministrator for å konfigurere et arbeidsområde.
Søk etter Snowflake.
Aktiver Snowflake – Offisiell mal.
Åpne Snowflake – Offisiell mal, oppgi et tydelig navn på tilkoblingen, og velg Koble til.
Oppgi den fullstendige URL-en 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-en:
Snowflake-vertsprefiks
Bruk alt før .snowflakecomputing.com i Snowflake-kontoens URL, inkludert eventuelle region- eller skysuffikser.
Hvis kontoens URL for eksempel starter med:
https://myorg-myaccount.azure.snowflakecomputing.com
er vertsprefikset:
myorg-myaccount.azure
Database
Oppgi databasen som inneholder MCP-serveren, for eksempel:
CHATGPT_APPS
Skjema
Oppgi skjemaet som inneholder MCP-serveren, for eksempel:
TOOLS
MCP-servernavn
Oppgi objektnavnet til Snowflake MCP-serveren, for eksempel:
CHATGPT_SNOWFLAKE_MCP
Konfigurer OAuth
Velg OAuth-alternativet som er tilgjengelig for kontoen din og oppfyller organisasjonens krav. Begge alternativene bruker det felles MCP-serveroppsettet ovenfor samt tilkoblingstestene og tilgangskontrollene nedenfor.
For begge OAuth-alternativene bruker Snowflake hver brukers standardrolle når du bruker session:role:all. Standardrollen må være tillatt i OAuth-integrasjonens liste over tillatte roller, hvis en slik liste er konfigurert, og må ikke være blokkert. Selv om du har en annen godkjent rolle, blir den ikke valgt automatisk.
Innebygd OAuth
Før du fortsetter, må du fullføre de felles delene ovenfor for å opprette MCP-serveren, gi tillatelser, kontrollere serveren og oppgi serverdetaljene i ChatGPT. Dette er nødvendig selv om du kom direkte til denne delen.
Bruk dette alternativet bare når ChatGPT-partnerappen er tilgjengelig for Snowflake-kontoen din og innebygd OAuth er tilgjengelig i oppsettdialogen i ChatGPT.
Be en Snowflake-administrator aktivere ChatGPT-partnerintegrasjonen i den samme Snowflake-kontoen som er vert for MCP-serveren. Gjenbruk en eksisterende, aktivert ChatGPT-partnerintegrasjon.
Bruk innebygd OAuth i oppsettdialogen i ChatGPT. Du trenger ikke å oppgi klient-ID eller klienthemmelighet eller registrere en tilbakeringings-URL.
Fortsett med «Koble til og administrer Snowflake» nedenfor for å logge på, gi samtykke og konfigurere tilgang. Fullfør deretter «Test appen», inkludert tester med medlemmer som har tilgang, men ikke er administratorer.
Det som er beskrevet ovenfor om standardroller, listen over tillatte roller og blokkerte roller, gjelder også for dette alternativet.
Egendefinert OAuth-klient
Før du fortsetter, må du fullføre de felles delene ovenfor for å opprette MCP-serveren, gi tillatelser, kontrollere serveren og oppgi serverdetaljene i ChatGPT. Dette er nødvendig selv om du kom direkte til denne delen.
For en egendefinert OAuth-klient trenger du en klient-ID og en klienthemmelighet fra Snowflake. Det som er beskrevet ovenfor om standardroller, listen over tillatte roller og blokkerte roller, gjelder også for dette alternativet.
I oppsettdialogen i ChatGPT velger du Avanserte OAuth-innstillinger > Brukerdefinert OAuth-klient og kopierer den nøyaktige verdien for Tilbakeringings-URL som vises i ChatGPT.
Opprett en egendefinert OAuth-sikkerhetsintegrasjon med
OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'ogOAUTH_REDIRECT_URIsatt til nøyaktig denne tilbakeringings-URL-en.Kjør følgende setning i Snowflake med integrasjonsnavnet skrevet med store bokstaver:
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');Fra JSON-resultatet limer du inn
oauth_client_idi OAuth-klient-ID ogoauth_client_secreti OAuth-klienthemmelighet i ChatGPT.Sett Autentiseringsmetode for token-endepunkt til
client_secret_basic.
Når du har oppgitt legitimasjonen for den egendefinerte klienten, fortsetter du med «Koble til og administrer Snowflake» og «Test appen» nedenfor.
Koble til og administrer Snowflake
For begge OAuth-alternativene velger du Fortsett i den samme oppsettdialogen i ChatGPT, logger på Snowflake og autoriserer tilkoblingen. Du kan bruke organisasjonens SSO hvis det er konfigurert.
For et arbeidsområde konfigurerer du policyen for installasjon av pluginer og rolle- eller gruppetilgang for medlemmene som skal bruke pluginen. Kontroller at både Snowflake og Snowflake – Offisiell mal er aktivert.
Arbeidsområdeadministratorer er ansvarlige for å konfigurere Brukertilgang for rollene som skal bruke Snowflake.
Arbeidsområdeadministratorer er ansvarlige for å gjennomgå Handlingskontroll for verktøyene som gjøres tilgjengelige.
Arbeidsområdeadministratorer er ansvarlige for å gjennomgå Apptillatelser for å velge når ChatGPT skal spørre medlemmene før appen brukes.
Disse apptillatelsene gjelder for ChatGPT-samtaler. Arbeidsområdeagenter bruker individuelle kontroller som er angitt av den som bygger agenten, for å bestemme hvilke apphandlinger som er tilgjengelige, og når sluttbrukere blir bedt om å godkjenne dem. For informasjon om hvordan agenter fungerer, se ChatGPT-arbeidsområdeagenter for Enterprise og Business.
Test appen
Åpne en chat, velg Snowflake og test tilkoblingen.
Kontroller at ChatGPT finner verktøyene du har konfigurert.
Kjør først en lesehandling med lav risiko, for eksempel et søk eller en spørring med kun lesetilgang mot godkjente data.
Kontroller at Snowflake-tillatelsene hindrer tilgang utover den godkjente rollen og de godkjente objektene.
For et arbeidsområde tester du med medlemmer som har tilgang, men ikke er administratorer, og som har ulike standardroller i Snowflake. At en administrator får koblet til, bekrefter ikke at alle medlemmer kan koble til.
For arbeidsområdeadministratorer er det ikke tilstrekkelig å bare aktivere Snowflake. Hvis Snowflake – Offisiell mal ikke er aktivert og koblet til, kan pluginen vises som deaktivert for medlemmene.
MCP-serverens URL og hvordan OAuth fungerer
ChatGPT kobler til den fullstendige URL-en til MCP-serveren som administreres av Snowflake:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
ChatGPT bruker Snowflake-vertsprefikset fra denne URL-en til å finne disse OAuth-endepunktene i Snowflake:
Autorisering:
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 med ekstra stisegmenter. MCP-URL-en må inneholde /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} og samsvare nøyaktig med Snowflake-objektene dine.
Feilsøking
Snowflake er aktivert for en administrator, men deaktivert for et medlem
Kontroller at både Snowflake og Snowflake – Offisiell mal er aktivert i Administrasjonskonsoll > Pluginer.
Åpne Snowflake – Offisiell mal og fullfør prosessen under Koble til. Det er ikke tilstrekkelig å aktivere malen uten å koble den til.
Åpne Snowflake og kontroller at malen vises som en påkrevd app.
Kontroller at rollen eller gruppen til det berørte medlemmet er tillatt i policyen for installasjon av pluginer.
Finner ikke MCP-serveren
Kontroller den fullstendige MCP-server-URL-en på nytt, eller de fire malfeltene hvis oppsettskjermen ber om dem.
Kontroller at MCP-serveren finnes i akkurat den databasen og det skjemaet.
Ingen verktøy vises i ChatGPT
Kontroller at MCP-serverens spesifikasjon inneholder verktøy.
Kontroller at rollen har
USAGEpå MCP-serveren.
Et verktøy vises, men mislykkes når det brukes
Kontroller at rollen har den nødvendige tillatelsen på det underliggende Snowflake-objektet, for eksempel søketjenesten, den semantiske visningen, datavarehuset, prosedyren eller UDF-en.
SQL-verktøyet mislykkes
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 bare ønsker lesetilgang.
Den forespurte rollen ALL er eksplisitt blokkert
Be Snowflake-administratoren sammenligne standardrollen din med OAuth-integrasjonens tillatte og blokkerte roller. Selv om du har en annen tillatt rolle, blir den ikke valgt automatisk. Hvis det er hensiktsmessig, endrer du standardrollen til en godkjent rolle og kobler til på nytt. Endring av standardrollen påvirker også Snowflake-øktene dine utenfor ChatGPT.
Autoriseringen mislykkes
Kontroller at brukeren kan logge på Snowflake.
Når du bruker
session:role:all, må du kontrollere at brukerens standardrolle er tillatt av OAuth-integrasjonen.Kontroller at oppsettet bruker den Snowflake-administrerte OAuth-flyten for MCP.
Hvis du bruker en egendefinert OAuth-klient, må du kontrollere at Klient-ID og Klienthemmelighet samsvarer med Snowflake OAuth-integrasjonen, og at integrasjonens omdirigerings-URI er nøyaktig lik Tilbakeringings-URL som vises i ChatGPT.
Hvis du bruker innebygd OAuth, ber du en Snowflake-administrator kontrollere at ChatGPT-partnerintegrasjonen er tilgjengelig og aktivert i kontoen som er vert for MCP-serveren.
Snowflakes nettverkspolicy eller liste over tillatte IP-adresser blokkerer koblingen
Be en Snowflake-administrator oppdatere nettverkspolicyen eller tilgangsreglene i Snowflake.
Tillat innkommende tilkoblinger fra de gjeldende IP-områdene for utgående trafikk fra ChatGPT-koblinger.
Konfigurer denne listen over tillatte IP-adresser i Snowflake. Den er atskilt fra listen over tillatte IP-adresser for ChatGPT-arbeidsområdet.
Automatiser oppdateringer fra den publiserte JSON-filen når det er mulig, siden områdene kan endre seg.
Tilkoblingsproblem med vertsnavn
Bruk riktig Snowflake-vertsprefiks. Snowflake-vertsnavn med understrekingstegn kan skape problemer. Bruk helst bindestreker.
