Använd den här guiden om du är administratör för en ChatGPT-arbetsyta eller använder ChatGPT Plus eller Pro och vill ansluta ChatGPT till Snowflake via en Snowflake-hanterad MCP-server.
Det mesta av konfigurationen görs i Snowflake. När Snowflake är klart slutför du anslutningen med Snowflake-mallen i ChatGPT och aktiverar sedan den Snowflake-plugin som använder mallen.
Det här konfigurerar du
Du skapar en Snowflake-hanterad MCP-server som fungerar som anslutningens Slutpunkt för ChatGPT. MCP-servern definierar:
Vilka åtgärder ChatGPT kan använda.
Vilka Snowflake-data eller objekt verktygen kan komma åt.
Vilken Snowflake-roll varje användare auktoriserar med.
Vilken Snowflake-databas, vilket Schema och vilket MCP-servernamn som identifierar Slutpunkten.
Därefter konfigurerar du Snowflake – officiell mall i ChatGPT med den fullständiga URL:en till den hanterade MCP-servern. På mallens konfigurationsskärm kan URL:en visas som fyra separata fält:
Snowflake-värdprefix.
Databas.
Schema.
MCP-servernamn.
ChatGPT kan endast identifiera och använda verktyg som MCP-servern exponerar och som tillåts av Snowflake-rollen som användaren auktoriserar med.
Innan du börjar
Du behöver:
Administratörs- eller ägaråtkomst till en ChatGPT-arbetsyta, eller tillgång till ChatGPT Plus eller Pro.
Snowflake-åtkomst som medger att du skapar MCP-serverobjekt och beviljar behörigheter.
Snowflake-databasen och det Schema där MCP-servern ska finnas.
Ett beslut om vad ChatGPT ska få göra, till exempel använda Cortex Search, Cortex Analyst, skrivskyddad SQL eller en viss procedur eller funktion.
En Snowflake-roll med minsta möjliga behörighet som användarna ska använda när de auktoriserar appen.
Värdprefixet för Snowflake-kontot, inklusive eventuellt regions- eller molnsuffix.
Om åtkomsten till Snowflake-kontot begränsas av en nätverkspolicy eller lista över tillåtna IP-adresser ber du en Snowflake-administratör att tillåta inkommande anslutningar från de aktuella utgående IP-intervallen för ChatGPT-anslutningar. Listan är dynamisk och bör hållas uppdaterad.
Värden att förbereda
Snowflake-värdprefix: allt före .snowflakecomputing.com i Snowflake-kontots URL.
Databas: databasen som innehåller MCP-servern.
Schema: det Schema som innehåller MCP-servern.
MCP-servernamn: objektnamnet på Snowflake MCP-servern.
Den fullständiga URL:en till den hanterade MCP-servern, om ChatGPT-konfigurationen efterfrågar en URL.
Snowflake-roll: rollen som användarna ska använda när de auktoriserar appen.
Verktygslista: de Snowflake-objekt och åtgärder som du vill att ChatGPT ska använda.
Bestäm vad ChatGPT får göra
Välj endast de funktioner som du vill exponera. Vanliga alternativ är:
Sökning med Cortex Search för att hitta svar i indexerade Snowflake-data eller indexerat innehåll.
Frågor och svar med Cortex Analyst via en godkänd semantisk vy.
Skrivskyddad SQL för kontrollerad frågeåtkomst.
En Snowflake-agent, lagrad procedur eller UDF för ett visst arbetsflöde.
Om du aktiverar SQL bör den vara skrivskyddad, såvida inte organisationen har granskat och godkänt skrivåtkomst.
Öppna ett Snowflake-kalkylblad
Logga in i Snowflake-appen.
Byt till en roll som kan skapa MCP-servern och bevilja åtkomst.
Gå till Arbetsytor.

Skapa en Arbetsyta med en SQL-fil.

Ställ in Arbetsytans kontext på databasen och det Schema där MCP-servern ska skapas.

Skapa Snowflake MCP-servern
Logga in i Snowflake med en roll som kan skapa MCP-servern och bevilja åtkomst. Öppna ett kalkylblad i databasen och det Schema där MCP-servern ska skapas.
Kör en sats som i följande exempel. Ersätt namnen med namnen på din egen Snowflake-databas, ditt Schema, dina tjänster, vyer och ditt informationslager samt servernamnet.
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" $$;

Verktygsnamnen och Snowflake-objekten i satsen är exempel:
support-searchexponerar den angivna Cortex Search-tjänsten.revenue-analystexponerar den angivna semantiska vyn. Lägg till verktyg för andra vyer efter behov.sql-readonlyexponerar skrivskyddad SQL med det angivna informationslagret.
Använd stabila, beskrivande verktygsnamn så att ChatGPT kan välja rätt verktyg. När MCP-servern skapas beviljas inte automatiskt åtkomst till de underliggande Snowflake-objekten.
Fler specifikationsalternativ finns i Skapa en Snowflake-hanterad MCP-server.
Bevilja rätt Snowflake-behörigheter
Välj den Snowflake-roll som användarna ska auktorisera med och ge sedan rollen åtkomst till:
Databasen och detta Schema.
MCP-servern.
Alla underliggande objekt som verktygen använder, till exempel en söktjänst, semantisk vy eller ett informationslager.
Exempel:
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;
Om MCP-servern exponerar en UDF, lagrad procedur eller Cortex-agent ska du även bevilja de behörigheter som krävs för objektet.
Kontrollera att Snowflake är klart
Kör:
SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;
Kör sedan:
DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;
Bekräfta följande:
Servern finns i den förväntade databasen och detta Schema.
Verktygslistan motsvarar dina avsikter.
Varje verktygs
identifierpekar på rätt Snowflake-objekt.Rollen som ansluter har
USAGEför MCP-servern.Rollen som ansluter har nödvändiga behörigheter för varje underliggande objekt.
Ange uppgifterna för Snowflake-servern i ChatGPT
Byt i ChatGPT till det konto eller den Arbetsyta där appen ska vara tillgänglig.
Öppna Inställningar. För en konfiguration som omfattar hela Arbetsytan öppnar du Inställningar för Arbetsyta som Arbetsytans administratör.
Gå till Pluginer.
Sök efter Snowflake.
Aktivera Snowflake – officiell mall.
Öppna Snowflake – officiell mall, ange ett tydligt anslutningsnamn och välj Anslut.
Ange den fullständiga URL:en till den hanterade MCP-servern:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
Exempel:
https://myorg-myaccount.azure.snowflakecomputing.com/api/v2/databases/CHATGPT_APPS/schemas/TOOLS/mcp-servers/CHATGPT_SNOWFLAKE_MCP

Om Snowflake-konfigurationen visas som separata fält använder du samma värden som i URL:en:
Snowflake-värdprefix
Använd allt före .snowflakecomputing.com i Snowflake-kontots URL, inklusive eventuellt regions- eller molnsuffix.
Om kontots URL exempelvis börjar med:
https://myorg-myaccount.azure.snowflakecomputing.com
är värdprefixet:
myorg-myaccount.azure
Databas
Ange databasen som innehåller MCP-servern, till exempel:
CHATGPT_APPS
Schema
Ange det Schema som innehåller MCP-servern, till exempel:
TOOLS
MCP-servernamn
Ange objektnamnet på Snowflake MCP-servern, till exempel:
CHATGPT_SNOWFLAKE_MCP
Konfigurera OAuth-klienten
Du behöver ett klient-ID och en klienthemlighet från Snowflake för att ansluta.
När du använder session:role:all använder Snowflake varje användares standardroll. Standardrollen måste tillåtas av OAuth-integrationens lista över tillåtna roller, om en sådan har konfigurerats, och får inte vara blockerad. En annan godkänd roll väljs inte automatiskt.
Öppna Avancerade OAuth-inställningar i ChatGPT-konfigurationsfönstret, välj Användardefinierad OAuth-klient och kopiera den URL för återanrop som visas i ChatGPT.
Skapa en anpassad OAuth-säkerhetsintegrering med
OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'och ställ inOAUTH_REDIRECT_URIpå exakt den URL:en för återanrop.Kör följande sats i Snowflake och skriv integrationsnamnet med versaler:
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');Klistra in
oauth_client_idfrån JSON-resultatet i OAuth-klient-ID ochoauth_client_secreti OAuth-klienthemlighet i ChatGPT.Ställ in Autentiseringsmetod för Token-Slutpunkt på
client_secret_basic.
Anslut och hantera Snowflake
Välj Fortsätt i samma konfigurationsfönster i ChatGPT, logga in i Snowflake och auktorisera anslutningen.
För en Arbetsytekonfiguration ställer du in installationspolicyn för pluginen och roll- eller gruppåtkomsten för de medlemmar som ska använda den. Kontrollera att både Snowflake och Snowflake – officiell mall är aktiverade.
Arbetsytans administratörer ansvarar för att konfigurera Användaråtkomst för de roller som ska använda Snowflake.
Arbetsytans administratörer ansvarar för att granska Åtgärdskontroll för de exponerade verktygen.
Arbetsytans administratörer ansvarar för att granska Appbehörigheter och välja när ChatGPT ska fråga medlemmarna innan appen används.
Dessa appbehörigheter gäller ChatGPT-konversationer. Agenter på Arbetsytan använder de kontroller per agent som har ställts in av agentens skapare för att avgöra vilka appåtgärder som är tillgängliga och när slutanvändarna ska ombes att godkänna dem. Mer information om agenters beteende finns i ChatGPT-agenter på Arbetsytan för Enterprise och Business.
Testa appen
Öppna en chatt, välj Snowflake och testa anslutningen.
Bekräfta att ChatGPT identifierar verktygen som du har konfigurerat.
Kör först en läsåtgärd med låg risk, till exempel en sökning eller skrivskyddad fråga mot godkända data.
Bekräfta att Snowflake-behörigheterna förhindrar åtkomst utanför den godkända rollen och de godkända objekten.
För en Arbetsytekonfiguration testar du med tillåtna medlemmar utan administratörsbehörighet som har olika Snowflake-standardroller. Att en administratör kan ansluta bekräftar inte att alla medlemmar kan göra det.
För Arbetsytans administratörer räcker det inte att endast aktivera Snowflake. Om Snowflake – officiell mall inte har aktiverats och anslutits kan pluginen visas som inaktiverad för medlemmarna.
MCP-serverns URL och OAuth-beteende
ChatGPT ansluter till den fullständiga URL:en för den Snowflake-hanterade MCP-servern:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
ChatGPT använder Snowflake-värdprefixet från URL:en för att matcha följande OAuth-Slutpunkter i Snowflake:
Auktorisering:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/authorizeToken:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/token-request
Klistra inte in en Snowsight-URL, endast Snowflake-kontots rot-URL eller en URL med extra sökvägssegment. MCP-URL:en måste innehålla /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} och exakt motsvara dina Snowflake-objekt.
Felsökning
Snowflake är aktiverat för en administratör men inaktiverat för en medlem
Kontrollera att både Snowflake och Snowflake – officiell mall är aktiverade under Inställningar för Arbetsyta > Pluginer.
Öppna Snowflake – officiell mall och slutför flödet Anslut. Det räcker inte att aktivera mallen utan att ansluta den.
Öppna Snowflake och kontrollera att mallen visas som den app som krävs.
Kontrollera att den berörda medlemmens roll eller grupp tillåts av installationspolicyn för pluginen.
MCP-servern hittades inte
Kontrollera den fullständiga URL:en till MCP-servern igen, eller de fyra mallfälten om konfigurationsskärmen efterfrågar dem.
Kontrollera att MCP-servern finns i exakt den databasen och detta Schema.
Inga verktyg visas i ChatGPT
Kontrollera att MCP-serverns specifikation innehåller verktyg.
Kontrollera att rollen har
USAGEför MCP-servern.
Ett verktyg visas men fungerar inte när det används
Kontrollera att rollen har den behörighet som krävs för det underliggande Snowflake-objektet, till exempel söktjänsten, den semantiska vyn, informationslagret, proceduren eller UDF:en.
SQL-verktyget fungerar inte
Kontrollera att informationslagrets namn är korrekt och att informationslagret körs.
Kontrollera att rollen har
USAGEför informationslagret.Kontrollera att
read_only: truehar angetts om du avsåg skrivskyddad åtkomst.
Den begärda rollen ALL har blockerats uttryckligen
Be Snowflake-administratören jämföra din standardroll med OAuth-integrationens tillåtna och blockerade roller. En annan tillåten roll väljs inte automatiskt. Ändra vid behov standardrollen till en godkänd roll och anslut igen. Om du ändrar standardrollen påverkas även dina Snowflake-sessioner utanför ChatGPT.
Auktoriseringen misslyckas
Kontrollera att användaren kan logga in i Snowflake.
När
session:role:allanvänds kontrollerar du att användarens standardroll tillåts av OAuth-integrationen.Kontrollera att konfigurationen använder det Snowflake-hanterade MCP OAuth-flödet.
Kontrollera att klient-ID:t och klienthemligheten motsvarar Snowflake OAuth-integrationen och att dess omdirigerings-URI motsvarar den URL för återanrop som visas i ChatGPT.
Snowflakes nätverkspolicy eller lista över tillåtna IP-adresser blockerar anslutningen
Be en Snowflake-administratör att uppdatera Snowflakes nätverkspolicy eller åtkomstregler.
Tillåt inkommande anslutningar från de aktuella utgående IP-intervallen för ChatGPT-anslutningar.
Konfigurera den här listan över tillåtna adresser i Snowflake. Den är separat från listan över tillåtna IP-adresser för ChatGPT-Arbetsytan.
Automatisera om möjligt uppdateringar från publicerad JSON eftersom intervallen kan ändras.
Problem med anslutning till värdnamnet
Använd rätt Snowflake-värdprefix. Understreck i Snowflake-värdnamn kan orsaka problem. Använd helst bindestreck.
