Gebruik deze handleiding als u beheerder van een ChatGPT-werkruimte of gebruiker van ChatGPT Plus of Pro bent en ChatGPT via een door Snowflake beheerde MCP-server met Snowflake wilt verbinden.
Het grootste deel van de configuratie vindt plaats in Snowflake. Zodra Snowflake gereed is, voltooit u in ChatGPT de verbinding met de Snowflake-sjabloon. Schakel daarna de Snowflake-plug-in in die deze sjabloon gebruikt.
Wat u gaat configureren
U maakt een door Snowflake beheerde MCP-server die als connector-endpoint voor ChatGPT fungeert. De MCP-server bepaalt:
Welke acties ChatGPT kan gebruiken.
Tot welke Snowflake-gegevens of -objecten deze tools toegang hebben.
Met welke Snowflake-rol elke gebruiker autoriseert.
Welke Snowflake-database, welk schema en welke MCP-servernaam het endpoint identificeren.
Vervolgens configureert u Snowflake - Officiële sjabloon in ChatGPT met de volledige URL van de beheerde MCP-server. In het configuratiescherm van de sjabloon kan de URL als vier afzonderlijke velden worden weergegeven:
Snowflake-hostvoorvoegsel.
Database.
Schema.
Naam van de MCP-server.
ChatGPT kan alleen tools vinden en gebruiken die door de MCP-server beschikbaar worden gesteld en zijn toegestaan voor de Snowflake-rol waarmee de gebruiker autoriseert.
Voordat u begint
U hebt het volgende nodig:
Toegang als beheerder of eigenaar van een ChatGPT-werkruimte, of toegang tot ChatGPT Plus of Pro.
Snowflake-toegang waarmee u MCP-serverobjecten kunt maken en machtigingen kunt verlenen.
De Snowflake-database en het schema waarin de MCP-server wordt geplaatst.
Een besluit over wat ChatGPT mag doen, zoals Cortex Search of Cortex Analyst gebruiken, alleen-lezen-SQL uitvoeren of een specifieke procedure of functie aanroepen.
Een Snowflake-rol met minimale bevoegdheden die gebruikers gebruiken wanneer ze de app autoriseren.
Het hostvoorvoegsel van het Snowflake-account, inclusief een eventuele regio- of cloudsuffix.
Als uw Snowflake-account de toegang beperkt via een netwerkbeleid of lijst met toegestane IP-adressen, vraagt u een Snowflake-beheerder om inkomende verbindingen vanaf de huidige uitgaande IP-bereiken van de ChatGPT-connector toe te staan. De lijst is dynamisch en moet actueel worden gehouden.
Waarden die u moet voorbereiden
Snowflake-hostvoorvoegsel: alles vóór .snowflakecomputing.com in de URL van het Snowflake-account.
Database: de database die de MCP-server bevat.
Schema: het schema dat de MCP-server bevat.
Naam van de MCP-server: de objectnaam van de Snowflake MCP-server.
De volledige URL van de beheerde MCP-server, als het configuratiescherm van ChatGPT om een URL vraagt.
Snowflake-rol: de rol die gebruikers moeten gebruiken wanneer ze de app autoriseren.
Lijst met tools: de Snowflake-objecten en -acties die ChatGPT moet gebruiken.
Bepalen wat ChatGPT kan doen
Stel alleen de gewenste mogelijkheden beschikbaar. Veelgebruikte opties zijn:
Zoeken met Cortex Search om antwoorden te vinden in geïndexeerde Snowflake-gegevens of -inhoud.
Vragen en antwoorden met Cortex Analyst via een goedgekeurde semantische weergave.
Alleen-lezen-SQL voor gecontroleerde querytoegang.
Een Snowflake-agent, opgeslagen procedure of UDF voor een specifieke workflow.
Als u SQL inschakelt, stelt u alleen-lezen-toegang in, tenzij uw organisatie schrijftoegang heeft beoordeeld en goedgekeurd.
Een Snowflake-werkblad openen
Meld u aan bij de Snowflake-app.
Schakel over naar een rol die de MCP-server kan maken en toegang kan verlenen.
Ga naar Werkruimten.

Maak een werkruimte met een SQL-bestand.

Stel de context van de werkruimte in op de database en het schema waarin de MCP-server wordt gemaakt.

De Snowflake MCP-server maken
Meld u in Snowflake aan met een rol die de MCP-server kan maken en toegang kan verlenen. Open een werkblad in de database en het schema waarin de MCP-server moet worden gemaakt.
Voer een instructie uit zoals in het volgende voorbeeld. Vervang de namen door die van uw eigen Snowflake-database, schema, services, weergaven, warehouse en server.
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" $$;

De namen van tools en Snowflake-objecten in deze instructie zijn voorbeelden:
support-searchstelt de opgegeven Cortex Search-service beschikbaar.revenue-analyststelt de opgegeven semantische weergave beschikbaar. Voeg zo nodig tools voor andere weergaven toe.sql-readonlystelt alleen-lezen-SQL beschikbaar met het opgegeven warehouse.
Gebruik stabiele, beschrijvende toolnamen, zodat ChatGPT de juiste tool kan kiezen. Door de MCP-server te maken, wordt niet automatisch toegang tot de onderliggende Snowflake-objecten verleend.
Zie voor aanvullende specificatieopties: Een door Snowflake beheerde MCP-server maken.
De juiste Snowflake-machtigingen verlenen
Kies de Snowflake-rol waarmee gebruikers autoriseren en verleen die rol vervolgens toegang tot:
De database en het schema.
De MCP-server.
Elk onderliggend object dat door de tools wordt gebruikt, zoals een zoekservice, semantische weergave of warehouse.
Voorbeeld:
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;
Als de MCP-server een UDF, opgeslagen procedure of Cortex-agent beschikbaar stelt, verleent u ook de vereiste machtigingen voor dat object.
Controleren of Snowflake gereed is
Voer uit:
SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;
Voer daarna uit:
DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;
Controleer het volgende:
De server bestaat in de verwachte database en het verwachte schema.
De lijst met tools komt overeen met uw bedoeling.
De
identifiervan elke tool verwijst naar het juiste Snowflake-object.De verbindende rol heeft
USAGEvoor de MCP-server.De verbindende rol heeft de vereiste machtigingen voor elk onderliggend object.
De Snowflake-servergegevens invoeren in ChatGPT
Schakel in ChatGPT over naar het account of de werkruimte waarin de app beschikbaar moet zijn.
Open Instellingen. Voor configuratie voor de hele werkruimte opent u als werkruimtebeheerder Werkruimte-instellingen.
Ga naar Plug-ins.
Zoek naar Snowflake.
Schakel Snowflake - Officiële sjabloon in.
Open Snowflake - Officiële sjabloon, voer een duidelijke verbindingsnaam in en selecteer Verbinden.
Voer de volledige URL van de beheerde MCP-server in:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
Voorbeeld:
https://myorg-myaccount.azure.snowflakecomputing.com/api/v2/databases/CHATGPT_APPS/schemas/TOOLS/mcp-servers/CHATGPT_SNOWFLAKE_MCP

Als de Snowflake-configuratie in het configuratiescherm als afzonderlijke velden wordt weergegeven, gebruikt u dezelfde waarden als in de URL:
Snowflake-hostvoorvoegsel
Gebruik alles vóór .snowflakecomputing.com in de URL van uw Snowflake-account, inclusief een eventuele regio- of cloudsuffix.
Bijvoorbeeld, als de account-URL begint met:
https://myorg-myaccount.azure.snowflakecomputing.com
Dan is het hostvoorvoegsel:
myorg-myaccount.azure
Database
Voer de database in die de MCP-server bevat, bijvoorbeeld:
CHATGPT_APPS
Schema
Voer het schema in dat de MCP-server bevat, bijvoorbeeld:
TOOLS
Naam van de MCP-server
Voer de objectnaam van de Snowflake MCP-server in, bijvoorbeeld:
CHATGPT_SNOWFLAKE_MCP
De OAuth-client configureren
U hebt een client-ID en clientgeheim van Snowflake nodig om verbinding te maken.
Wanneer u session:role:all gebruikt, gebruikt Snowflake de standaardrol van elke gebruiker. De standaardrol moet zijn toegestaan volgens de lijst met toegestane rollen van de OAuth-integratie, indien geconfigureerd, en mag niet zijn geblokkeerd. Een andere goedgekeurde rol wordt niet automatisch geselecteerd.
Open in het configuratievenster van ChatGPT Geavanceerde OAuth-instellingen, selecteer Door gebruiker gedefinieerde OAuth-client en kopieer de Callback-URL die in ChatGPT wordt weergegeven.
Maak een aangepaste OAuth-beveiligingsintegratie met
OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'en stelOAUTH_REDIRECT_URIin op exact die callback-URL.Voer de volgende instructie uit in Snowflake en gebruik daarbij de integratienaam in hoofdletters:
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');Plak vanuit het JSON-resultaat
oauth_client_idin OAuth-client-ID enoauth_client_secretin OAuth-clientgeheim in ChatGPT.Stel Verificatiemethode voor tokenendpoint in op
client_secret_basic.
Snowflake verbinden en beheren
Selecteer in hetzelfde configuratievenster van ChatGPT Doorgaan, meld u aan bij Snowflake en autoriseer de verbinding.
Configureer voor een werkruimte de installatiebeleidsregels van de plug-in en de toegang voor rollen of groepen waarvan de leden de plug-in mogen gebruiken. Controleer of zowel Snowflake als Snowflake - Officiële sjabloon is ingeschakeld.
Werkruimtebeheerders zijn verantwoordelijk voor het configureren van Gebruikerstoegang voor de rollen die Snowflake mogen gebruiken.
Werkruimtebeheerders zijn verantwoordelijk voor het controleren van Actiebeheer voor de beschikbare tools.
Werkruimtebeheerders zijn verantwoordelijk voor het controleren van App-machtigingen om te bepalen wanneer ChatGPT leden om toestemming vraagt voordat de app wordt gebruikt.
Deze app-machtigingen gelden voor gesprekken in ChatGPT. Werkruimte-agents gebruiken de instellingen per agent die door de maker van de agent zijn ingesteld om te bepalen welke app-acties beschikbaar zijn en wanneer eindgebruikers om goedkeuring wordt gevraagd. Zie voor het gedrag van agents: ChatGPT-werkruimte-agents voor Enterprise en Business.
De app testen
Open een chat, selecteer Snowflake en test de verbinding.
Controleer of ChatGPT de geconfigureerde tools vindt.
Voer eerst een leesactie met weinig risico uit, zoals een zoekopdracht of alleen-lezen-query op goedgekeurde gegevens.
Controleer of de Snowflake-machtigingen toegang buiten de goedgekeurde rol en objecten voorkomen.
Test een werkruimteconfiguratie met toegestane leden zonder beheerdersrechten die verschillende standaardrollen in Snowflake hebben. Een geslaagde beheerdersverbinding bevestigt niet dat elk lid verbinding kan maken.
Voor werkruimtebeheerders is het niet voldoende om alleen Snowflake in te schakelen. Als Snowflake - Officiële sjabloon niet is ingeschakeld en verbonden, kan de plug-in voor leden als uitgeschakeld worden weergegeven.
URL van de MCP-server en OAuth-gedrag
ChatGPT maakt verbinding met de volledige URL van de door Snowflake beheerde MCP-server:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
ChatGPT gebruikt het Snowflake-hostvoorvoegsel uit die URL om deze Snowflake OAuth-endpoints te bepalen:
Autorisatie:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/authorizeToken:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/token-request
Plak geen Snowsight-URL, alleen de hoofd-URL van het Snowflake-account of een URL met extra padsegmenten. De MCP-URL moet /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} bevatten en exact overeenkomen met uw Snowflake-objecten.
Problemen oplossen
Snowflake is ingeschakeld voor een beheerder, maar uitgeschakeld voor een lid
Controleer of zowel Snowflake als Snowflake - Officiële sjabloon is ingeschakeld via Werkruimte-instellingen > Plug-ins.
Open Snowflake - Officiële sjabloon en voltooi de procedure via Verbinden. Het is niet voldoende om de sjabloon in te schakelen zonder deze te verbinden.
Open Snowflake en controleer of de sjabloon als vereiste app wordt weergegeven.
Controleer of de rol of groep van het betreffende lid is toegestaan volgens het installatiebeleid van de plug-in.
MCP-server niet gevonden
Controleer de volledige URL van de MCP-server opnieuw, of de vier sjabloonvelden als uw configuratiescherm daarom vraagt.
Controleer of de MCP-server in exact die database en dat schema bestaat.
Er verschijnen geen tools in ChatGPT
Controleer of de specificatie van de MCP-server tools bevat.
Controleer of de rol
USAGEheeft voor de MCP-server.
Een tool verschijnt, maar werkt niet bij gebruik
Controleer of de rol de vereiste machtiging heeft voor het onderliggende Snowflake-object, zoals de zoekservice, semantische weergave, het warehouse, de procedure of UDF.
SQL-tool werkt niet
Controleer of de naam van het warehouse correct is en of het warehouse actief is.
Controleer of de rol
USAGEheeft voor het warehouse.Controleer of
read_only: trueis ingesteld als u alleen-lezen-toegang wilde.
De aangevraagde rol ALL is expliciet geblokkeerd
Vraag uw Snowflake-beheerder om uw standaardrol te vergelijken met de toegestane en geblokkeerde rollen van de OAuth-integratie. Een andere toegestane rol wordt niet automatisch geselecteerd. Wijzig indien nodig de standaardrol in een goedgekeurde rol en maak opnieuw verbinding. Het wijzigen van uw standaardrol heeft ook gevolgen voor uw Snowflake-sessies buiten ChatGPT.
Autorisatie mislukt
Controleer of de gebruiker zich kan aanmelden bij Snowflake.
Controleer bij gebruik van
session:role:allof de standaardrol van de gebruiker is toegestaan door de OAuth-integratie.Controleer of de configuratie de door Snowflake beheerde OAuth-procedure voor MCP gebruikt.
Controleer of de client-ID en het clientgeheim overeenkomen met de Snowflake OAuth-integratie en of de omleidings-URI overeenkomt met de Callback-URL die in ChatGPT wordt weergegeven.
Snowflake-netwerkbeleid of IP-toelatingslijst blokkeert de connector
Vraag een Snowflake-beheerder om het Snowflake-netwerkbeleid of de toegangsregels bij te werken.
Sta inkomende verbindingen toe vanaf de huidige uitgaande IP-bereiken van de ChatGPT-connector.
Configureer deze toelatingslijst in Snowflake. Dit staat los van de IP-toelatingslijst van de ChatGPT-werkruimte.
Automatiseer waar mogelijk updates vanuit het gepubliceerde JSON-bestand, omdat de bereiken kunnen veranderen.
Verbindingsprobleem met hostnaam
Gebruik het juiste Snowflake-hostvoorvoegsel. Snowflake-hostnamen met onderstrepingstekens kunnen problemen veroorzaken. Gebruik bij voorkeur koppeltekens.
