Ce guide s’adresse aux administrateurs d’espaces de travail ChatGPT et aux utilisateurs de ChatGPT Plus ou Pro qui souhaitent connecter ChatGPT à Snowflake via un serveur MCP géré par Snowflake.
L’essentiel de la configuration s’effectue dans Snowflake. Une fois Snowflake prêt, établissez la connexion du modèle Snowflake dans ChatGPT, puis activez le plugin Snowflake qui utilise ce modèle.
OAuth intégré : Lorsque cette option est disponible pour votre compte Snowflake et dans ChatGPT, utilisez l’application partenaire ChatGPT activée par un administrateur Snowflake. Connectez-vous à Snowflake en utilisant le SSO de votre organisation, s’il est configuré. Vous n’avez pas besoin de saisir d’ID client ni de secret client dans ChatGPT. Suivez les instructions de la section OAuth intégré ci-dessous.
Client OAuth personnalisé : Choisissez cette option si votre organisation exige son propre client OAuth ou si l’option OAuth intégré n’est pas disponible. Suivez les instructions de la section Client OAuth personnalisé ci-dessous.
Les deux options OAuth nécessitent la configuration commune du serveur MCP, les autorisations sur les objets sous-jacents et l’accès réseau décrits ci-dessous. Effectuez la configuration commune jusqu’à la section Saisir les informations du serveur Snowflake dans ChatGPT avant de configurer OAuth.
Ce que vous allez configurer
Vous allez créer un serveur MCP géré par Snowflake, qui servira de point de terminaison du connecteur pour ChatGPT. Le serveur MCP définit :
Les actions que ChatGPT peut utiliser.
Les données ou objets Snowflake auxquels ces outils peuvent accéder.
Le rôle Snowflake avec lequel chaque utilisateur accorde l’autorisation.
La base de données, le schéma et le nom du serveur MCP Snowflake qui identifient le point de terminaison.
Vous configurez ensuite Snowflake - Modèle officiel dans ChatGPT avec l’URL complète du serveur MCP géré. L’écran de configuration du modèle peut présenter l’URL sous forme de quatre champs distincts :
Préfixe d’hôte Snowflake.
Base de données.
Schéma.
Nom du serveur MCP.
ChatGPT ne peut découvrir et utiliser que les outils exposés par le serveur MCP et autorisés par le rôle Snowflake avec lequel l’utilisateur accorde l’autorisation.
Avant de commencer
Vous avez besoin des éléments suivants :
Un accès administrateur ou propriétaire à un espace de travail ChatGPT, ou un accès à ChatGPT Plus ou Pro.
Un accès Snowflake permettant de créer des objets serveur MCP et d’accorder des autorisations.
La base de données et le schéma Snowflake qui hébergeront le serveur MCP.
Une décision sur les fonctionnalités à autoriser pour ChatGPT, comme Cortex Search, Cortex Analyst, SQL en lecture seule ou une procédure ou fonction spécifique.
Un rôle Snowflake respectant le principe du moindre privilège, que les utilisateurs utiliseront pour autoriser l’application.
Le préfixe d’hôte du compte Snowflake, y compris tout suffixe de région ou de cloud.
Si votre compte Snowflake restreint l’accès au moyen d’une politique réseau ou d’une liste d’adresses IP autorisées, demandez à un administrateur Snowflake d’autoriser les connexions entrantes depuis les plages d’adresses IP de sortie des connecteurs ChatGPT actuelles. Cette liste est dynamique et doit être tenue à jour.
Valeurs à préparer
Préfixe d’hôte Snowflake : tout ce qui précède .snowflakecomputing.com dans l’URL du compte Snowflake.
Base de données : la base de données contenant le serveur MCP.
Schéma : le schéma contenant le serveur MCP.
Nom du serveur MCP : le nom de l’objet serveur MCP Snowflake.
URL complète du serveur MCP géré, si l’écran de configuration ChatGPT demande une URL.
Rôle Snowflake : le rôle que les utilisateurs doivent utiliser pour autoriser l’application.
Liste des outils : les objets et actions Snowflake que vous souhaitez que ChatGPT utilise.
Définir ce que ChatGPT peut faire
Sélectionnez uniquement les fonctionnalités que vous souhaitez exposer. Les options courantes incluent :
La recherche avec Cortex Search pour trouver des réponses dans les données ou contenus Snowflake indexés.
Les questions-réponses avec Cortex Analyst via une vue sémantique approuvée.
Le SQL en lecture seule pour un accès contrôlé aux requêtes.
Un agent Snowflake, une procédure stockée ou une UDF pour un workflow spécifique.
Si vous activez SQL, conservez l’accès en lecture seule, sauf si votre organisation a examiné et approuvé l’accès en écriture.
Ouvrir une feuille de calcul Snowflake
Connectez-vous à l’application Snowflake.
Passez à un rôle permettant de créer le serveur MCP et d’accorder l’accès.
Accédez à Espaces de travail.

Créez un espace de travail avec un fichier SQL.

Définissez le contexte de l’espace de travail sur la base de données et le schéma où le serveur MCP sera créé.

Créer le serveur MCP Snowflake
Dans Snowflake, connectez-vous avec un rôle permettant de créer le serveur MCP et d’accorder l’accès. Ouvrez une feuille de calcul dans la base de données et le schéma où le serveur MCP doit être créé.
Exécutez une instruction semblable à l’exemple suivant. Remplacez les noms par ceux de votre base de données, de votre schéma, de vos services, de vos vues, de votre entrepôt et de votre serveur Snowflake.
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" $$;

Les noms d’outils et les objets Snowflake de cette instruction sont des exemples :
support-searchexpose le service Cortex Search spécifié.revenue-analystexpose la vue sémantique spécifiée. Ajoutez des outils pour d’autres vues si nécessaire.sql-readonlyexpose un accès SQL en lecture seule avec l’entrepôt spécifié.
Utilisez des noms d’outils stables et descriptifs pour que ChatGPT puisse choisir le bon outil. La création du serveur MCP n’accorde pas automatiquement l’accès aux objets Snowflake sous-jacents.
Pour connaître les autres options de spécification, consultez : Créer un serveur MCP géré par Snowflake.
Accorder les autorisations Snowflake appropriées
Choisissez le rôle Snowflake avec lequel les utilisateurs accorderont l’autorisation, puis donnez à ce rôle l’accès aux éléments suivants :
La base de données et le schéma.
Le serveur MCP.
Chaque objet sous-jacent utilisé par les outils, comme un service de recherche, une vue sémantique ou un entrepôt.
Exemple :
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;
Si le serveur MCP expose une UDF, une procédure stockée ou un agent Cortex, accordez également les autorisations requises pour cet objet.
Vérifier que Snowflake est prêt
Exécutez :
SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;
Exécutez ensuite :
DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;
Vérifiez les points suivants :
Le serveur existe dans la base de données et le schéma attendus.
La liste des outils correspond à ce que vous aviez prévu.
L’
identifierde chaque outil pointe vers le bon objet Snowflake.Le rôle utilisé pour la connexion dispose du privilège
USAGEsur le serveur MCP.Le rôle utilisé pour la connexion dispose des autorisations nécessaires sur chaque objet sous-jacent.
Saisir les informations du serveur Snowflake dans ChatGPT
Pour configurer un espace de travail, ouvrez admin.openai.com, sélectionnez l’espace de travail ChatGPT souhaité, puis ouvrez Plugins. Pour la navigation dans l’espace de travail et l’accès aux anciennes applications, consultez Contrôles d’administration, sécurité et conformité pour les plugins et les applications.
Dans ChatGPT, passez au compte ou à l’espace de travail dans lequel l’application doit être disponible.
Accédez à Paramètres > Plugins pour une configuration personnelle, ou à Console d’administration > Plugins en tant qu’administrateur pour configurer un espace de travail.
Recherchez Snowflake.
Activez Snowflake - Modèle officiel.
Ouvrez Snowflake - Modèle officiel, saisissez un nom de connexion clair, puis sélectionnez Connecter.
Saisissez l’URL complète du serveur MCP géré :
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
Exemple :
https://myorg-myaccount.azure.snowflakecomputing.com/api/v2/databases/CHATGPT_APPS/schemas/TOOLS/mcp-servers/CHATGPT_SNOWFLAKE_MCP

Si l’écran de configuration présente la configuration Snowflake sous forme de champs distincts, utilisez les mêmes valeurs que dans l’URL :
Préfixe d’hôte Snowflake
Utilisez tout ce qui précède .snowflakecomputing.com dans l’URL de votre compte Snowflake, y compris tout suffixe de région ou de cloud.
Par exemple, si l’URL du compte commence par :
https://myorg-myaccount.azure.snowflakecomputing.com
Le préfixe d’hôte est :
myorg-myaccount.azure
Base de données
Saisissez la base de données contenant le serveur MCP, par exemple :
CHATGPT_APPS
Schéma
Saisissez le schéma contenant le serveur MCP, par exemple :
TOOLS
Nom du serveur MCP
Saisissez le nom de l’objet serveur MCP Snowflake, par exemple :
CHATGPT_SNOWFLAKE_MCP
Configurer OAuth
Choisissez l’option OAuth disponible pour votre compte et répondant aux exigences de votre organisation. Les deux options utilisent la configuration commune du serveur MCP ci-dessus, ainsi que les tests de connexion et les contrôles d’accès ci-dessous.
Quelle que soit l’option OAuth, lorsque vous utilisez session:role:all, Snowflake utilise le rôle par défaut de chaque utilisateur. Le rôle par défaut doit figurer dans la liste des rôles autorisés de l’intégration OAuth, si elle est configurée, et ne doit pas être bloqué. Le fait de disposer d’un autre rôle approuvé ne le sélectionne pas automatiquement.
OAuth intégré
Avant de continuer, suivez les sections communes ci-dessus pour créer le serveur MCP, accorder les autorisations, vérifier le serveur et saisir ses informations dans ChatGPT. Ces étapes sont obligatoires, même si vous êtes arrivé directement à cette section.
Utilisez cette option uniquement si l’application partenaire ChatGPT est disponible pour votre compte Snowflake et si OAuth intégré est disponible dans la fenêtre de configuration ChatGPT.
Demandez à un administrateur Snowflake d’activer l’intégration partenaire ChatGPT dans le compte Snowflake qui héberge le serveur MCP. Réutilisez une intégration partenaire ChatGPT existante et activée.
Dans la fenêtre de configuration ChatGPT, utilisez OAuth intégré. Vous n’avez pas besoin de saisir d’ID client ni de secret client, ni d’enregistrer une URL de rappel.
Poursuivez avec la section Connecter et gérer Snowflake ci-dessous pour vous connecter, donner votre consentement et configurer l’accès. Suivez ensuite la section Tester l’application, y compris les tests avec des membres autorisés non administrateurs.
Le fonctionnement du rôle par défaut, de la liste d’autorisation et des rôles bloqués décrit ci-dessus s’applique également à cette option.
Client OAuth personnalisé
Avant de continuer, suivez les sections communes ci-dessus pour créer le serveur MCP, accorder les autorisations, vérifier le serveur et saisir ses informations dans ChatGPT. Ces étapes sont obligatoires, même si vous êtes arrivé directement à cette section.
Pour un client OAuth personnalisé, vous avez besoin d’un ID client et d’un secret client fournis par Snowflake. Le fonctionnement du rôle par défaut, de la liste d’autorisation et des rôles bloqués décrit ci-dessus s’applique également à cette option.
Dans la fenêtre de configuration ChatGPT, sélectionnez Paramètres OAuth avancés > Client OAuth défini par l’utilisateur, puis copiez exactement l’URL de rappel affichée dans ChatGPT.
Créez une intégration de sécurité OAuth personnalisée avec
OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'etOAUTH_REDIRECT_URIdéfini sur cette URL de rappel exacte.Exécutez l’instruction suivante dans Snowflake, en utilisant le nom de l’intégration en majuscules :
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');À partir du résultat JSON, collez
oauth_client_iddans ID client OAuth etoauth_client_secretdans Secret client OAuth dans ChatGPT.Définissez Méthode d’authentification du point de terminaison de jeton sur
client_secret_basic.
Après avoir saisi les identifiants du client personnalisé, poursuivez avec les sections Connecter et gérer Snowflake et Tester l’application ci-dessous.
Connecter et gérer Snowflake
Quelle que soit l’option OAuth, dans la même fenêtre de configuration ChatGPT, sélectionnez Continuer, connectez-vous à Snowflake, puis autorisez la connexion. Vous pouvez utiliser le SSO de votre organisation s’il est configuré.
Pour un espace de travail, configurez la politique d’installation du plugin et l’accès par rôle ou par groupe pour les membres qui doivent l’utiliser. Vérifiez que Snowflake et Snowflake - Modèle officiel sont tous deux activés.
Les administrateurs d’espaces de travail sont responsables de la configuration de l’Accès utilisateur pour les rôles qui doivent utiliser Snowflake.
Les administrateurs d’espaces de travail sont responsables de la vérification du Contrôle des actions pour les outils exposés.
Les administrateurs d’espaces de travail sont responsables de la vérification des Autorisations de l’application pour choisir quand ChatGPT sollicite les membres avant d’utiliser l’application.
Ces autorisations d’application s’appliquent aux conversations ChatGPT. Les agents d’espace de travail utilisent des contrôles propres à chaque agent, définis par son créateur, pour déterminer quelles actions d’application sont disponibles et quand les utilisateurs finaux doivent les approuver. Pour le fonctionnement des agents, consultez : Agents d’espace de travail ChatGPT pour Enterprise et Business.
Tester l’application
Ouvrez une conversation, sélectionnez Snowflake, puis testez la connexion.
Vérifiez que ChatGPT découvre les outils que vous avez configurés.
Exécutez d’abord une action de lecture à faible risque, comme une recherche ou une requête en lecture seule sur des données approuvées.
Vérifiez que les autorisations Snowflake empêchent tout accès en dehors du rôle et des objets approuvés.
Pour un espace de travail, effectuez des tests avec des membres autorisés non administrateurs ayant des rôles Snowflake par défaut différents. La connexion réussie d’un administrateur ne garantit pas que tous les membres peuvent se connecter.
Pour les administrateurs d’espaces de travail, activer uniquement Snowflake ne suffit pas. Si Snowflake - Modèle officiel n’a pas été activé et connecté, le plugin peut apparaître désactivé pour les membres.
URL du serveur MCP et fonctionnement d’OAuth
ChatGPT se connecte à l’URL complète du serveur MCP géré par Snowflake :
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
ChatGPT utilise le préfixe d’hôte Snowflake de cette URL pour résoudre les points de terminaison OAuth Snowflake suivants :
Autorisation :
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/authorizeJeton :
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/token-request
Ne collez pas d’URL Snowsight, l’URL racine du compte Snowflake seule, ni d’URL contenant des segments de chemin supplémentaires. L’URL MCP doit inclure /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} et correspondre exactement à vos objets Snowflake.
Dépannage
Snowflake est activé pour un administrateur, mais désactivé pour un membre
Vérifiez que Snowflake et Snowflake - Modèle officiel sont tous deux activés dans Console d’administration > Plugins.
Ouvrez Snowflake - Modèle officiel et suivez le processus Connecter jusqu’au bout. Activer le modèle sans le connecter ne suffit pas.
Ouvrez Snowflake et vérifiez que le modèle apparaît comme application requise.
Vérifiez que le rôle ou le groupe du membre concerné est autorisé par la politique d’installation du plugin.
Serveur MCP introuvable
Vérifiez à nouveau l’URL complète du serveur MCP, ou les quatre champs du modèle si votre écran de configuration les demande.
Vérifiez que le serveur MCP existe bien dans cette base de données et ce schéma précis.
Aucun outil n’apparaît dans ChatGPT
Vérifiez que la spécification du serveur MCP inclut des outils.
Vérifiez que le rôle dispose du privilège
USAGEsur le serveur MCP.
Un outil apparaît, mais échoue lors de son utilisation
Vérifiez que le rôle dispose de l’autorisation requise sur l’objet Snowflake sous-jacent, par exemple le service de recherche, la vue sémantique, l’entrepôt, la procédure ou l’UDF.
Échec de l’outil SQL
Vérifiez que le nom de l’entrepôt est correct et que l’entrepôt est en cours d’exécution.
Vérifiez que le rôle dispose du privilège
USAGEsur l’entrepôt.Vérifiez que
read_only: trueest défini si vous souhaitiez un accès en lecture seule.
Le rôle ALL demandé a été explicitement bloqué
Demandez à votre administrateur Snowflake de comparer votre rôle par défaut aux rôles autorisés et bloqués de l’intégration OAuth. Le fait de disposer d’un autre rôle autorisé ne le sélectionne pas automatiquement. Si cela convient, remplacez le rôle par défaut par un rôle approuvé, puis reconnectez-vous. La modification de votre rôle par défaut affecte également vos sessions Snowflake en dehors de ChatGPT.
Échec de l’autorisation
Vérifiez que l’utilisateur peut se connecter à Snowflake.
Si vous utilisez
session:role:all, vérifiez que le rôle par défaut de l’utilisateur est autorisé par l’intégration OAuth.Vérifiez que la configuration utilise le flux OAuth du serveur MCP géré par Snowflake.
Si vous utilisez un client OAuth personnalisé, vérifiez que l’ID client et le Secret client correspondent à l’intégration OAuth Snowflake et que son URI de redirection correspond exactement à l’URL de rappel affichée dans ChatGPT.
Si vous utilisez OAuth intégré, demandez à un administrateur Snowflake de vérifier que l’intégration partenaire ChatGPT est disponible et activée dans le compte qui héberge le serveur MCP.
La politique réseau ou la liste d’adresses IP autorisées de Snowflake bloque le connecteur
Demandez à un administrateur Snowflake de mettre à jour la politique réseau ou les règles d’accès Snowflake.
Autorisez les connexions entrantes depuis les plages d’adresses IP de sortie des connecteurs ChatGPT actuelles.
Configurez cette liste d’autorisation dans Snowflake. Elle est distincte de la liste d’adresses IP autorisées de l’espace de travail ChatGPT.
Si possible, automatisez les mises à jour à partir du fichier JSON publié, car les plages peuvent changer.
Problème de connexion lié au nom d’hôte
Utilisez le bon préfixe d’hôte Snowflake. Les noms d’hôte Snowflake contenant des traits de soulignement peuvent poser problème ; préférez les traits d’union.
