Brug denne vejledning, hvis du administrerer et ChatGPT-arbejdsområde eller bruger ChatGPT Plus eller ChatGPT Pro og vil forbinde ChatGPT med Snowflake via en Snowflake-administreret MCP-server.
Det meste af opsætningen foregår i Snowflake. Når Snowflake er klar, skal du færdiggøre forbindelsen til Snowflake-skabelonen i ChatGPT og derefter aktivere det Snowflake-plugin, der bruger skabelonen.
Det skal du konfigurere
Du opretter en Snowflake-administreret MCP-server, der fungerer som forbindelsens endepunkt for ChatGPT. MCP-serveren definerer:
Hvilke handlinger ChatGPT kan bruge.
Hvilke Snowflake-data eller -objekter disse værktøjer har adgang til.
Hvilken Snowflake-rolle hver bruger godkender med.
Hvilken Snowflake-database, hvilket skema og hvilket MCP-servernavn der identificerer endepunktet.
Derefter konfigurerer du Snowflake – officiel skabelon i ChatGPT med den fulde URL til den administrerede MCP-server. På skærmen til opsætning af skabelonen kan URL'en være opdelt i fire felter:
Snowflake-værtspræfiks.
Database.
Skema.
MCP-servernavn.
ChatGPT kan kun finde og bruge værktøjer, som MCP-serveren stiller til rådighed, og som er tilladt for den Snowflake-rolle, brugeren godkender med.
Før du går i gang
Du skal bruge:
Adgang som administrator eller ejer af et ChatGPT-arbejdsområde eller adgang til ChatGPT Plus eller ChatGPT Pro.
Snowflake-adgang, der giver mulighed for at oprette MCP-serverobjekter og tildele tilladelser.
Den Snowflake-database og det skema, som MCP-serveren skal placeres i.
En beslutning om, hvad ChatGPT skal have tilladelse til, f.eks. Cortex Search, Cortex Analyst, skrivebeskyttet SQL eller en bestemt procedure eller funktion.
En Snowflake-rolle med færrest mulige rettigheder, som brugerne anvender, når de godkender appen.
Værtspræfikset for Snowflake-kontoen, inklusive et eventuelt regions- eller cloud-suffiks.
Hvis din Snowflake-konto begrænser adgangen via en netværkspolitik eller IP-tilladelsesliste, skal du bede en Snowflake-administrator om at tillade indgående forbindelser fra de aktuelle udgående IP-intervaller for ChatGPT-forbindelser. Listen er dynamisk og bør holdes opdateret.
Værdier, du skal have klar
Snowflake-værtspræfiks: Alt før .snowflakecomputing.com i Snowflake-kontoens URL.
Database: Den database, der indeholder MCP-serveren.
Skema: Det skema, der indeholder MCP-serveren.
MCP-servernavn: Navnet på Snowflake-MCP-serverobjektet.
Den fulde URL til den administrerede MCP-server, hvis opsætningsskærmen i ChatGPT beder om en URL.
Snowflake-rolle: Den rolle, brugerne skal anvende, når de godkender appen.
Værktøjsliste: De Snowflake-objekter og -handlinger, ChatGPT skal bruge.
Beslut, hvad ChatGPT må gøre
Vælg kun de funktioner, du vil stille til rådighed. Almindelige muligheder omfatter:
Søgning med Cortex Search for at finde svar i indekserede Snowflake-data eller -indhold.
Spørgsmål og svar med Cortex Analyst via en godkendt semantisk visning.
Skrivebeskyttet SQL til kontrolleret forespørgselsadgang.
En Snowflake-agent, en lagret procedure eller en UDF til en bestemt arbejdsgang.
Hvis du aktiverer SQL, skal adgangen være skrivebeskyttet, medmindre din organisation har gennemgået og godkendt skriveadgang.
Åbn et Snowflake-regneark
Log ind på Snowflake-appen.
Skift til en rolle, der kan oprette MCP-serveren og tildele adgang.
Gå til Arbejdsområder.

Opret et arbejdsområde med en SQL-fil.

Indstil arbejdsområdets kontekst til den database og det skema, hvor MCP-serveren skal oprettes.

Opret Snowflake-MCP-serveren
Log ind på Snowflake med en rolle, der kan oprette MCP-serveren og tildele adgang. Åbn et regneark i den database og det skema, hvor MCP-serveren skal oprettes.
Kør en kommando som i følgende eksempel. Erstat navnene med din egen Snowflake-database, dit eget skema og dine egne tjenester, visninger, warehouses og servernavne.
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" $$;

Værktøjsnavnene og Snowflake-objekterne i denne kommando er eksempler:
support-searchstiller den angivne Cortex Search-tjeneste til rådighed.revenue-analyststiller den angivne semantiske visning til rådighed. Tilføj efter behov værktøjer til andre visninger.sql-readonlystiller skrivebeskyttet SQL til rådighed med det angivne warehouse.
Brug stabile, beskrivende værktøjsnavne, så ChatGPT kan vælge det rigtige værktøj. Oprettelse af MCP-serveren giver ikke automatisk adgang til de underliggende Snowflake-objekter.
Se flere specifikationsmuligheder under Opret en Snowflake-administreret MCP-server.
Tildel de korrekte Snowflake-tilladelser
Vælg den Snowflake-rolle, brugerne skal godkende med, og giv derefter rollen adgang til:
Databasen og skemaet.
MCP-serveren.
Alle underliggende objekter, som værktøjerne bruger, f.eks. en søgetjeneste, semantisk visning eller et warehouse.
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 stiller en UDF, lagret procedure eller Cortex Agent til rådighed, skal du også tildele de nødvendige tilladelser til objektet.
Kontrollér, at Snowflake er klar
Kør:
SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;
Kør derefter:
DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;
Kontrollér følgende:
Serveren findes i den forventede database og det forventede skema.
Værktøjslisten svarer til det tilsigtede.
Hvert værktøjs
identifierpeger på det korrekte Snowflake-objekt.Den rolle, der opretter forbindelse, har
USAGEpå MCP-serveren.Den rolle, der opretter forbindelse, har de nødvendige tilladelser til hvert underliggende objekt.
Angiv oplysningerne om Snowflake-serveren i ChatGPT
Skift i ChatGPT til den konto eller det arbejdsområde, hvor appen skal være tilgængelig.
Åbn Indstillinger. Hvis opsætningen skal gælde for hele arbejdsområdet, skal du åbne Indstillinger for arbejdsområde som administrator.
Gå til Plugins.
Søg efter Snowflake.
Aktivér Snowflake – officiel skabelon.
Åbn Snowflake – officiel skabelon, angiv et tydeligt forbindelsesnavn, og vælg Opret forbindelse.
Angiv den fulde URL til den administrerede MCP-server:
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 Snowflake-konfigurationen vises som separate felter på opsætningsskærmen, skal du bruge de samme værdier som i URL'en:
Snowflake-værtspræfiks
Brug alt før .snowflakecomputing.com i Snowflake-kontoens URL, inklusive et eventuelt regions- eller cloud-suffiks.
Hvis kontoens URL f.eks. begynder med:
https://myorg-myaccount.azure.snowflakecomputing.com
Er værtspræfikset:
myorg-myaccount.azure
Database
Angiv den database, der indeholder MCP-serveren, f.eks.:
CHATGPT_APPS
Skema
Angiv det skema, der indeholder MCP-serveren, f.eks.:
TOOLS
MCP-servernavn
Angiv navnet på Snowflake-MCP-serverobjektet, f.eks.:
CHATGPT_SNOWFLAKE_MCP
Konfigurer OAuth-klienten
Du skal bruge et klient-id og en klienthemmelighed fra Snowflake for at oprette forbindelse.
Når du bruger session:role:all, anvender Snowflake den enkelte brugers standardrolle. Standardrollen skal være tilladt på OAuth-integrationens liste over tilladte roller, hvis den er konfigureret, og må ikke være blokeret. En anden godkendt rolle vælges ikke automatisk.
Åbn Avancerede OAuth-indstillinger i opsætningsvinduet i ChatGPT, vælg Brugerdefineret OAuth-klient, og kopiér den callback-URL, der vises i ChatGPT.
Opret en brugerdefineret OAuth-sikkerhedsintegration med
OAUTH_CLIENT_TYPE = 'CONFIDENTIAL', og indstilOAUTH_REDIRECT_URItil præcis denne callback-URL.Kør følgende kommando i Snowflake, og skriv integrationsnavnet med store bogstaver:
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');Indsæt
oauth_client_idfra JSON-resultatet i OAuth-klient-id ogoauth_client_secreti OAuth-klienthemmelighed i ChatGPT.Indstil Godkendelsesmetode for tokenendepunkt til
client_secret_basic.
Opret forbindelse til og administrer Snowflake
Vælg Fortsæt i det samme opsætningsvindue i ChatGPT, log ind på Snowflake, og godkend forbindelsen.
Ved opsætning af et arbejdsområde skal du konfigurere installationspolitikken for pluginet samt rolle- eller gruppeadgang for de medlemmer, der skal bruge det. Kontrollér, at både Snowflake og Snowflake – officiel skabelon er aktiveret.
Arbejdsområdeadministratorer er ansvarlige for at konfigurere Brugeradgang for de roller, der skal bruge Snowflake.
Arbejdsområdeadministratorer er ansvarlige for at gennemgå Handlingsstyring for de værktøjer, der stilles til rådighed.
Arbejdsområdeadministratorer er ansvarlige for at gennemgå Apptilladelser og vælge, hvornår ChatGPT skal spørge medlemmerne, før appen bruges.
Disse apptilladelser gælder for samtaler i ChatGPT. Agenter i arbejdsområdet bruger styring pr. agent, som agentens udvikler har angivet, til at bestemme, hvilke apphandlinger der er tilgængelige, og hvornår slutbrugere skal godkende dem. Læs mere om agentadfærd under ChatGPT-arbejdsområdeagenter til Enterprise og Business.
Test appen
Åbn en chat, vælg Snowflake, og test forbindelsen.
Kontrollér, at ChatGPT finder de værktøjer, du har konfigureret.
Kør først en læsehandling med lav risiko, f.eks. en søgning eller skrivebeskyttet forespørgsel mod godkendte data.
Kontrollér, at Snowflake-tilladelserne forhindrer adgang uden for den godkendte rolle og de godkendte objekter.
Ved opsætning af et arbejdsområde skal du teste med tilladte medlemmer uden administratorrettigheder, som har forskellige Snowflake-standardroller. En vellykket administratorforbindelse bekræfter ikke, at alle medlemmer kan oprette forbindelse.
For arbejdsområdeadministratorer er det ikke tilstrækkeligt kun at aktivere Snowflake. Hvis Snowflake – officiel skabelon ikke er aktiveret og forbundet, kan pluginet fremstå som deaktiveret for medlemmerne.
MCP-serverens URL og OAuth-funktion
ChatGPT opretter forbindelse til den fulde URL for den Snowflake-administrerede MCP-server:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
ChatGPT bruger Snowflake-værtspræfikset fra URL'en til at finde disse Snowflake OAuth-endepunkter:
Godkendelse:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/authorizeToken:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/token-request
Indsæt ikke en Snowsight-URL, Snowflake-kontoens rod-URL alene eller en URL med ekstra stisegmenter. MCP-URL'en skal indeholde /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} og svare nøjagtigt til dine Snowflake-objekter.
Fejlfinding
Snowflake er aktiveret for en administrator, men deaktiveret for et medlem
Kontrollér, at både Snowflake og Snowflake – officiel skabelon er aktiveret under Indstillinger for arbejdsområde > Plugins.
Åbn Snowflake – officiel skabelon, og gennemfør processen under Opret forbindelse. Det er ikke tilstrækkeligt at aktivere skabelonen uden at forbinde den.
Åbn Snowflake, og kontrollér, at skabelonen vises som den påkrævede app.
Kontrollér, at det berørte medlems rolle eller gruppe er tilladt i installationspolitikken for pluginet.
MCP-serveren blev ikke fundet
Kontrollér igen den fulde URL til MCP-serveren eller de fire skabelonfelter, hvis opsætningsskærmen beder om dem.
Kontrollér, at MCP-serveren findes i præcis den angivne database og det angivne skema.
Der vises ingen værktøjer i ChatGPT
Kontrollér, at MCP-serverens specifikation indeholder værktøjer.
Kontrollér, at rollen har
USAGEpå MCP-serveren.
Et værktøj vises, men fungerer ikke, når det bruges
Kontrollér, at rollen har den nødvendige tilladelse til det underliggende Snowflake-objekt, f.eks. søgetjenesten, den semantiske visning, warehouset, proceduren eller UDF'en.
SQL-værktøjet fungerer ikke
Kontrollér, at warehousets navn er korrekt, og at warehouset kører.
Kontrollér, at rollen har
USAGEpå warehouset.Kontrollér, at
read_only: trueer angivet, hvis du ønskede skrivebeskyttet adgang.
Den anmodede rolle ALL er blevet udtrykkeligt blokeret
Bed din Snowflake-administrator om at sammenligne din standardrolle med de tilladte og blokerede roller i OAuth-integrationen. En anden tilladt rolle vælges ikke automatisk. Skift om nødvendigt standardrollen til en godkendt rolle, og opret forbindelse igen. Hvis du ændrer din standardrolle, påvirker det også dine Snowflake-sessioner uden for ChatGPT.
Godkendelsen mislykkes
Kontrollér, at brugeren kan logge ind på Snowflake.
Når du bruger
session:role:all, skal du kontrollere, at brugerens standardrolle er tilladt af OAuth-integrationen.Kontrollér, at opsætningen bruger det Snowflake-administrerede MCP OAuth-flow.
Kontrollér, at klient-id'et og klienthemmeligheden svarer til Snowflake OAuth-integrationen, og at dens omdirigerings-URI svarer til den callback-URL, der vises i ChatGPT.
Snowflakes netværkspolitik eller IP-tilladelsesliste blokerer forbindelsen
Bed en Snowflake-administrator om at opdatere Snowflakes netværkspolitik eller adgangsregler.
Tillad indgående forbindelser fra de aktuelle udgående IP-intervaller for ChatGPT-forbindelser.
Konfigurer denne tilladelsesliste i Snowflake. Den er adskilt fra IP-tilladelseslisten for ChatGPT-arbejdsområdet.
Automatiser så vidt muligt opdateringer fra den offentliggjorte JSON-fil, da intervallerne kan ændre sig.
Problem med forbindelse til værtsnavnet
Brug det korrekte Snowflake-værtspræfiks. Understregningstegn i Snowflake-værtsnavne kan give problemer. Brug helst bindestreger.
