Diese Anleitung richtet sich an dich, wenn du einen ChatGPT-Workspace verwaltest oder ChatGPT Plus oder Pro nutzt und ChatGPT über einen von Snowflake verwalteten MCP-Server mit Snowflake verbinden möchtest.
Die Einrichtung erfolgt größtenteils in Snowflake. Sobald Snowflake bereit ist, stelle in ChatGPT die Verbindung über die Snowflake-Vorlage her. Aktiviere anschließend das Snowflake-Plugin, das diese Vorlage verwendet.
Integriertes OAuth: Wenn diese Option für dein Snowflake-Konto und in ChatGPT verfügbar ist, verwende die ChatGPT-Partneranwendung, die von der Snowflake-Administration aktiviert wurde. Melde dich bei Snowflake an. Nutze dafür das SSO deiner Organisation, sofern es eingerichtet ist. Du musst in ChatGPT keine Client-ID und kein Client-Secret eingeben. Folge dem Abschnitt „Integriertes OAuth“ weiter unten.
Benutzerdefinierter OAuth-Client: Verwende diese Option, wenn deine Organisation einen eigenen OAuth-Client benötigt oder integriertes OAuth nicht verfügbar ist. Folge dem Abschnitt „Benutzerdefinierter OAuth-Client“ weiter unten.
Beide OAuth-Optionen erfordern die unten beschriebene gemeinsame Einrichtung des MCP-Servers, Berechtigungen für die zugrunde liegenden Objekte und Netzwerkzugriff. Führe die gemeinsame Einrichtung bis einschließlich „Snowflake-Serverdetails in ChatGPT eingeben“ durch, bevor du OAuth konfigurierst.
Was du einrichtest
Du erstellst einen von Snowflake verwalteten MCP-Server, der als MCP-Endpunkt für ChatGPT dient. Der MCP-Server legt fest:
Welche Aktionen ChatGPT nutzen kann.
Auf welche Snowflake-Daten oder -Objekte diese Tools zugreifen können.
Mit welcher Snowflake-Rolle jede Person die Autorisierung durchführt.
Welche Snowflake-Datenbank, welches Schema und welcher MCP-Servername den Endpunkt identifizieren.
Anschließend konfigurierst du Snowflake - Official Template in ChatGPT mit der vollständigen URL des verwalteten MCP-Servers. Im Einrichtungsdialog der Vorlage kann die URL in vier separate Felder aufgeteilt sein:
Snowflake-Hostpräfix.
Datenbank.
Schema.
MCP-Servername.
ChatGPT kann nur Tools erkennen und nutzen, die der MCP-Server bereitstellt und die durch die Snowflake-Rolle erlaubt sind, mit der die jeweilige Person die Autorisierung durchführt.
Bevor du beginnst
Du benötigst:
Admin- oder Inhaberrechte für einen ChatGPT-Workspace oder Zugang zu ChatGPT Plus oder Pro.
Einen Snowflake-Zugang mit Berechtigungen zum Erstellen von MCP-Serverobjekten und zum Erteilen von Berechtigungen.
Die Snowflake-Datenbank und das Schema, in denen der MCP-Server angelegt werden soll.
Eine Entscheidung darüber, was ChatGPT nutzen darf, etwa Cortex Search, Cortex Analyst, SQL mit reinem Lesezugriff oder eine bestimmte Prozedur oder Funktion.
Eine Snowflake-Rolle mit den minimal erforderlichen Berechtigungen, die Personen beim Autorisieren der App verwenden.
Das Hostpräfix des Snowflake-Kontos einschließlich etwaiger Regions- oder Cloud-Suffixe.
Wenn dein Snowflake-Konto den Zugriff durch eine Netzwerkrichtlinie oder IP-Zulassungsliste einschränkt, bitte die Snowflake-Administration, eingehende Verbindungen aus den aktuellen IP-Bereichen für ausgehende Verbindungen von ChatGPT-Apps zuzulassen. Die Liste ist dynamisch und sollte aktuell gehalten werden.
Werte, die du vorbereiten solltest
Snowflake-Hostpräfix: der gesamte Teil vor .snowflakecomputing.com in der URL des Snowflake-Kontos.
Datenbank: die Datenbank, die den MCP-Server enthält.
Schema: das Schema, das den MCP-Server enthält.
MCP-Servername: der Name des Snowflake-MCP-Serverobjekts.
Vollständige URL des verwalteten MCP-Servers, falls der ChatGPT-Einrichtungsdialog eine URL anfordert.
Snowflake-Rolle: die Rolle, die Personen beim Autorisieren der App verwenden sollen.
Tool-Liste: die Snowflake-Objekte und -Aktionen, die ChatGPT verwenden soll.
Festlegen, was ChatGPT tun darf
Wähle nur die Funktionen aus, die du bereitstellen möchtest. Gängige Optionen sind:
Suche mit Cortex Search, um Antworten in indizierten Snowflake-Daten oder -Inhalten zu finden.
Fragen und Antworten mit Cortex Analyst über eine freigegebene semantische Sicht.
Schreibgeschützter SQL-Zugriff für kontrollierte Abfragen.
Ein Snowflake Agent, eine gespeicherte Prozedur oder eine UDF für einen bestimmten Workflow.
Wenn du SQL aktivierst, beschränke den Zugriff auf Lesevorgänge, es sei denn, deine Organisation hat den Schreibzugriff geprüft und genehmigt.
Ein Snowflake-Arbeitsblatt öffnen
Melde dich bei der Snowflake-App an.
Wechsle zu einer Rolle, die den MCP-Server erstellen und Zugriff gewähren kann.
Öffne Workspaces.

Erstelle einen Workspace mit einer SQL-Datei.

Lege im Workspace-Kontext die Datenbank und das Schema fest, in denen der MCP-Server erstellt werden soll.

Den Snowflake-MCP-Server erstellen
Melde dich in Snowflake mit einer Rolle an, die den MCP-Server erstellen und Zugriff gewähren kann. Öffne ein Arbeitsblatt in der Datenbank und dem Schema, in denen der MCP-Server erstellt werden soll.
Führe eine Anweisung wie im folgenden Beispiel aus. Ersetze die Namen durch die Namen deiner eigenen Snowflake-Datenbank, deines Schemas, deiner Dienste, Sichten, deines Warehouses und deines Servers.
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" $$;

Die Tool-Namen und Snowflake-Objekte in dieser Anweisung sind Beispiele:
support-searchstellt den angegebenen Cortex Search-Dienst bereit.revenue-analyststellt die angegebene semantische Sicht bereit. Füge bei Bedarf Tools für weitere Sichten hinzu.sql-readonlystellt schreibgeschützten SQL-Zugriff mit dem angegebenen Warehouse bereit.
Verwende beständige, aussagekräftige Tool-Namen, damit ChatGPT das richtige Tool auswählen kann. Das Erstellen des MCP-Servers gewährt nicht automatisch Zugriff auf die zugrunde liegenden Snowflake-Objekte.
Weitere Optionen für die Spezifikation findest du im Abschnitt Einen von Snowflake verwalteten MCP-Server erstellen.
Die richtigen Snowflake-Berechtigungen erteilen
Wähle die Snowflake-Rolle aus, mit der Personen die Verbindung autorisieren werden, und gewähre dieser Rolle Zugriff auf:
Die Datenbank und das Schema.
Den MCP-Server.
Jedes zugrunde liegende Objekt, das die Tools verwenden, etwa einen Suchdienst, eine semantische Sicht oder ein Warehouse.
Beispiel:
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;
Wenn der MCP-Server eine UDF, eine gespeicherte Prozedur oder einen Cortex Agent bereitstellt, erteile auch die erforderlichen Berechtigungen für dieses Objekt.
Prüfen, ob Snowflake bereit ist
Führe Folgendes aus:
SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;
Führe anschließend Folgendes aus:
DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;
Prüfe Folgendes:
Der Server ist in der erwarteten Datenbank und im erwarteten Schema vorhanden.
Die Tool-Liste entspricht deinen Vorgaben.
Der
identifierjedes Tools verweist auf das richtige Snowflake-Objekt.Die für die Verbindung verwendete Rolle hat die Berechtigung
USAGEfür den MCP-Server.Die für die Verbindung verwendete Rolle hat die erforderlichen Berechtigungen für jedes zugrunde liegende Objekt.
Snowflake-Serverdetails in ChatGPT eingeben
Für die Einrichtung in einem Workspace öffne admin.openai.com, wähle den gewünschten ChatGPT-Workspace aus und öffne „Plugins“. Informationen zur Navigation im Workspace und zum Zugriff auf ältere Apps findest du im Artikel Admin-Einstellungen, Sicherheit und Compliance für Plugins und Apps.
Wechsle in ChatGPT zu dem Konto oder Workspace, in dem die App verfügbar sein soll.
Öffne für eine persönliche Einrichtung Einstellungen > Plugins oder für die Einrichtung in einem Workspace mit Adminrechten Admin-Konsole > Plugins.
Suche nach Snowflake.
Aktiviere Snowflake - Official Template.
Öffne Snowflake - Official Template, gib einen eindeutigen Verbindungsnamen ein und wähle Verbinden.
Gib die vollständige URL des verwalteten MCP-Servers ein:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
Beispiel:
https://myorg-myaccount.azure.snowflakecomputing.com/api/v2/databases/CHATGPT_APPS/schemas/TOOLS/mcp-servers/CHATGPT_SNOWFLAKE_MCP

Wenn der Einrichtungsdialog die Snowflake-Konfiguration in separaten Feldern anzeigt, verwende dieselben Werte aus der URL:
Snowflake-Hostpräfix
Verwende den gesamten Teil vor .snowflakecomputing.com in der URL deines Snowflake-Kontos, einschließlich eines etwaigen Regions- oder Cloud-Suffixes.
Wenn die Konto-URL zum Beispiel so beginnt:
https://myorg-myaccount.azure.snowflakecomputing.com
Dann lautet das Hostpräfix:
myorg-myaccount.azure
Datenbank
Gib die Datenbank ein, die den MCP-Server enthält, zum Beispiel:
CHATGPT_APPS
Schema
Gib das Schema ein, das den MCP-Server enthält, zum Beispiel:
TOOLS
MCP-Servername
Gib den Namen des Snowflake-MCP-Serverobjekts ein, zum Beispiel:
CHATGPT_SNOWFLAKE_MCP
OAuth konfigurieren
Wähle die OAuth-Option, die für dein Konto verfügbar ist und die Anforderungen deiner Organisation erfüllt. Beide Optionen verwenden die oben beschriebene gemeinsame MCP-Servereinrichtung sowie die unten beschriebenen Verbindungstests und Zugriffskontrollen.
Bei beiden OAuth-Optionen verwendet Snowflake die Standardrolle der jeweiligen Person, wenn du session:role:all nutzt. Die Standardrolle muss durch die Rollen-Zulassungsliste der OAuth-Integration zugelassen sein, sofern eine solche Liste konfiguriert ist, und darf nicht gesperrt sein. Eine weitere genehmigte Rolle wird nicht automatisch ausgewählt, nur weil du sie besitzt.
Integriertes OAuth
Führe zunächst die oben beschriebenen gemeinsamen Schritte durch: Erstelle den MCP-Server, erteile Berechtigungen, überprüfe den Server und gib seine Details in ChatGPT ein. Das ist auch dann erforderlich, wenn du direkt zu diesem Abschnitt gelangt bist.
Verwende diese Option nur, wenn die ChatGPT-Partneranwendung für dein Snowflake-Konto und integriertes OAuth im ChatGPT-Einrichtungsdialog verfügbar sind.
Bitte die Snowflake-Administration, die ChatGPT-Partnerintegration in demselben Snowflake-Konto zu aktivieren, das den MCP-Server hostet. Verwende eine bereits vorhandene, aktivierte ChatGPT-Partnerintegration wieder.
Verwende im ChatGPT-Einrichtungsdialog integriertes OAuth. Du musst weder eine Client-ID oder ein Client-Secret eingeben noch eine Callback-URL registrieren.
Fahre mit dem Abschnitt „Snowflake verbinden und verwalten“ weiter unten fort, um dich anzumelden, deine Zustimmung zu erteilen und den Zugriff zu konfigurieren. Führe anschließend die Schritte im Abschnitt „Die App testen“ durch, einschließlich der Tests mit zugelassenen Mitgliedern ohne Adminrechte.
Das oben beschriebene Verhalten der Standardrolle, der Zulassungsliste und der gesperrten Rollen gilt auch für diese Option.
Benutzerdefinierter OAuth-Client
Führe zunächst die oben beschriebenen gemeinsamen Schritte durch: Erstelle den MCP-Server, erteile Berechtigungen, überprüfe den Server und gib seine Details in ChatGPT ein. Das ist auch dann erforderlich, wenn du direkt zu diesem Abschnitt gelangt bist.
Für einen benutzerdefinierten OAuth-Client benötigst du eine Client-ID und ein Client-Secret von Snowflake. Das oben beschriebene Verhalten der Standardrolle, der Zulassungsliste und der gesperrten Rollen gilt auch für diese Option.
Wähle im ChatGPT-Einrichtungsdialog Erweiterte OAuth-Einstellungen > Benutzerdefinierter OAuth-Client und kopiere die in ChatGPT angezeigte Callback-URL exakt.
Erstelle eine benutzerdefinierte OAuth-Sicherheitsintegration mit
OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'und setzeOAUTH_REDIRECT_URIauf exakt diese Callback-URL.Führe die folgende Anweisung in Snowflake aus und verwende dabei den Integrationsnamen in Großbuchstaben:
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');Füge aus dem JSON-Ergebnis den Wert von
oauth_client_idin OAuth-Client-ID und den Wert vonoauth_client_secretin OAuth-Client-Secret in ChatGPT ein.Setze die Authentifizierungsmethode für den Token-Endpunkt auf
client_secret_basic.
Nachdem du die Zugangsdaten des benutzerdefinierten Clients eingegeben hast, fahre mit den Abschnitten „Snowflake verbinden und verwalten“ und „Die App testen“ weiter unten fort.
Snowflake verbinden und verwalten
Wähle bei beiden OAuth-Verfahren im selben Einrichtungsdialog von ChatGPT Weiter, melde dich bei Snowflake an und autorisiere die Verbindung. Du kannst das SSO deiner Organisation nutzen, sofern es eingerichtet ist.
Prüfe bei der Einrichtung für einen Workspace, ob sowohl Snowflake als auch Snowflake - Official Template aktiviert sind. Konfiguriere in Enterprise und Edu die Installationsrichtlinie des Plugins und den Benutzerzugriff jeder enthaltenen App für die Rollen, die den vorgesehenen Mitgliedern oder Gruppen zugewiesen sind. Verwalte in Business die Installationsrichtlinie für Plugins und die Verfügbarkeit von Apps im gesamten Workspace.
Workspace-Admins sind dafür verantwortlich, die Aktionssteuerung für die bereitgestellten Tools zu prüfen.
Workspace-Admins sind dafür verantwortlich, die App-Berechtigungen zu prüfen und festzulegen, wann ChatGPT Mitglieder vor der Nutzung der App um Zustimmung bittet.
Diese App-Berechtigungen gelten für Unterhaltungen in ChatGPT. Workspace Agents verwenden individuelle Steuerungseinstellungen, die von der Person festgelegt werden, die den jeweiligen Agenten erstellt hat. Diese bestimmen, welche App-Aktionen verfügbar sind und wann die Personen, die den Agenten nutzen, um Zustimmung zu diesen Aktionen gebeten werden. Informationen zum Verhalten von Agenten findest du im Artikel ChatGPT Workspace Agents für Enterprise und Business.
Die App testen
Öffne einen Chat, wähle Snowflake und teste die Verbindung.
Prüfe, ob ChatGPT die von dir konfigurierten Tools erkennt.
Führe zuerst eine risikoarme Leseaktion aus, etwa eine Suche oder eine schreibgeschützte Abfrage freigegebener Daten.
Prüfe, ob die Snowflake-Berechtigungen Zugriffe außerhalb der genehmigten Rolle und der freigegebenen Objekte verhindern.
Teste bei einer Workspace-Einrichtung mit zugelassenen Mitgliedern ohne Adminrechte, die unterschiedliche Snowflake-Standardrollen haben. Eine erfolgreiche Verbindung mit Adminrechten bestätigt nicht, dass sich jedes Mitglied verbinden kann.
Für die Workspace-Administration reicht es nicht aus, nur Snowflake zu aktivieren. Wenn Snowflake - Official Template nicht aktiviert und verbunden wurde, wird das Plugin Mitgliedern möglicherweise als deaktiviert angezeigt.
MCP-Server-URL und OAuth-Verhalten
ChatGPT stellt die Verbindung über die vollständige URL des von Snowflake verwalteten MCP-Servers her:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
ChatGPT verwendet das Snowflake-Hostpräfix aus dieser URL, um die folgenden Snowflake-OAuth-Endpunkte zu ermitteln:
Autorisierung:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/authorizeToken:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/token-request
Füge keine Snowsight-URL, keine bloße Basis-URL des Snowflake-Kontos und keine URL mit zusätzlichen Pfadsegmenten ein. Die MCP-URL muss /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} enthalten und exakt mit deinen Snowflake-Objekten übereinstimmen.
Fehlerbehebung
Snowflake ist für eine Person mit Adminrechten aktiviert, für ein Mitglied aber deaktiviert
Prüfe, ob sowohl Snowflake als auch Snowflake - Official Template in Admin-Konsole > Plugins aktiviert sind.
Öffne Snowflake - Official Template und durchlaufe den Vorgang Verbinden vollständig. Die Vorlage nur zu aktivieren, ohne sie zu verbinden, reicht nicht aus.
Öffne Snowflake und prüfe, ob die Vorlage als erforderliche App angezeigt wird.
Prüfe, ob die Rolle oder Gruppe des betroffenen Mitglieds durch die Plugin-Installationsrichtlinie zugelassen ist.
MCP-Server nicht gefunden
Überprüfe die vollständige MCP-Server-URL erneut oder die vier Vorlagenfelder, falls dein Einrichtungsdialog diese abfragt.
Prüfe, ob der MCP-Server genau in dieser Datenbank und diesem Schema vorhanden ist.
In ChatGPT werden keine Tools angezeigt
Prüfe, ob die MCP-Serverspezifikation Tools enthält.
Prüfe, ob die Rolle die Berechtigung
USAGEfür den MCP-Server hat.
Ein Tool wird angezeigt, schlägt aber bei der Nutzung fehl
Prüfe, ob die Rolle die erforderliche Berechtigung für das zugrunde liegende Snowflake-Objekt hat, etwa für den Suchdienst, die semantische Sicht, das Warehouse, die Prozedur oder die UDF.
SQL-Tool schlägt fehl
Prüfe, ob der Warehouse-Name korrekt ist und das Warehouse läuft.
Prüfe, ob die Rolle die Berechtigung
USAGEfür das Warehouse hat.Prüfe, ob
read_only: truefestgelegt ist, wenn du nur Lesezugriff zulassen möchtest.
Die angeforderte Rolle ALL wurde ausdrücklich gesperrt
Bitte deine Snowflake-Administration, deine Standardrolle mit den zugelassenen und gesperrten Rollen der OAuth-Integration abzugleichen. Eine weitere zugelassene Rolle wird nicht automatisch ausgewählt, nur weil du sie besitzt. Ändere gegebenenfalls deine Standardrolle in eine genehmigte Rolle und stelle die Verbindung erneut her. Eine Änderung deiner Standardrolle wirkt sich auch auf deine Snowflake-Sitzungen außerhalb von ChatGPT aus.
Autorisierung schlägt fehl
Prüfe, ob sich die Person bei Snowflake anmelden kann.
Wenn du
session:role:allverwendest, prüfe, ob die Standardrolle der Person durch die OAuth-Integration zugelassen ist.Prüfe, ob die Einrichtung den OAuth-Ablauf für den von Snowflake verwalteten MCP-Server verwendet.
Wenn du einen benutzerdefinierten OAuth-Client verwendest, prüfe, ob Client-ID und Client-Secret mit der Snowflake-OAuth-Integration übereinstimmen und ob deren Weiterleitungs-URI exakt der in ChatGPT angezeigten Callback-URL entspricht.
Wenn du integriertes OAuth verwendest, bitte die Snowflake-Administration zu prüfen, ob die ChatGPT-Partnerintegration in dem Konto, das den MCP-Server hostet, verfügbar und aktiviert ist.
Snowflake-Netzwerkrichtlinie oder IP-Zulassungsliste blockiert die App
Bitte die Snowflake-Administration, die Snowflake-Netzwerkrichtlinie oder die Zugriffsregeln zu aktualisieren.
Lasse eingehende Verbindungen aus den aktuellen IP-Bereichen für ausgehende Verbindungen von ChatGPT-Apps zu.
Konfiguriere diese Zulassungsliste in Snowflake. Sie ist von der IP-Zulassungsliste des ChatGPT-Workspaces getrennt.
Automatisiere nach Möglichkeit die Aktualisierung anhand der veröffentlichten JSON-Datei, da sich die Bereiche ändern können.
Verbindungsproblem mit dem Hostnamen
Verwende das richtige Snowflake-Hostpräfix. Snowflake-Hostnamen mit Unterstrichen können Probleme verursachen. Verwende vorzugsweise Bindestriche.
