Utilisez ce guide si vous êtes administrateur d’un espace de travail ChatGPT ou utilisateur de ChatGPT Plus ou Pro et souhaitez connecter ChatGPT à Snowflake au moyen d’un serveur MCP géré par Snowflake.
La majeure partie de la configuration s’effectue dans Snowflake. Une fois Snowflake prêt, configurez la connexion au modèle Snowflake dans ChatGPT, puis activez le plugiciel Snowflake qui utilise ce modèle.
Ce que vous configurez
Vous créez un serveur MCP géré par Snowflake qui sert 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 son 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 dans quatre champs distincts :
Préfixe d’hôte Snowflake.
Base de données.
Schéma.
Nom du serveur MCP.
ChatGPT peut uniquement détecter et utiliser les outils exposés par le serveur MCP et autorisés par le rôle Snowflake avec lequel l’utilisateur accorde son autorisation.
Avant de commencer
Vous avez besoin des éléments suivants :
Accès comme administrateur ou propriétaire d’un espace de travail ChatGPT, ou accès à ChatGPT Plus ou Pro.
Un accès Snowflake permettant de créer des objets de serveur MCP et d’accorder des autorisations.
La base de données et le schéma Snowflake où résidera le serveur MCP.
Une décision sur ce que ChatGPT doit être autorisé à faire, comme utiliser Cortex Search, Cortex Analyst, du SQL en lecture seule ou une procédure ou fonction précise.
Un rôle Snowflake à privilèges minimaux que les utilisateurs emploieront pour autoriser l’application.
Le préfixe d’hôte du compte Snowflake, y compris tout suffixe de région ou de nuage.
Si votre compte Snowflake limite 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 provenant des plages actuelles d’adresses IP de sortie des connecteurs ChatGPT. La 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 de ChatGPT demande une URL.
Rôle Snowflake : le rôle que les utilisateurs doivent employer pour autoriser l’application.
Liste d’outils : les objets et actions Snowflake que vous voulez que ChatGPT utilise.
Décider ce que ChatGPT peut faire
Choisissez uniquement les fonctionnalités que vous voulez exposer. Les options courantes comprennent :
La recherche avec Cortex Search pour trouver des réponses dans les données ou le contenu Snowflake indexés.
Les questions-réponses avec Cortex Analyst au moyen d’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 fonction définie par l’utilisateur pour un flux de travail précis.
Si vous activez SQL, conservez le mode 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 qui peut créer le serveur MCP et 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 qui peut créer le serveur MCP et 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 comme dans l’exemple suivant. Remplacez les noms par ceux de votre base de données, schéma, services, vues, entrepôt et 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 indiqué.revenue-analystexpose la vue sémantique indiquée. Ajoutez des outils pour d’autres vues, au besoin.sql-readonlyexpose le SQL en lecture seule avec l’entrepôt indiqué.
Utilisez des noms d’outils stables et descriptifs afin 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 leur autorisation, puis donnez-lui 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 fonction définie par l’utilisateur, une procédure stockée ou un agent Cortex, accordez aussi 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;
Confirmez ce qui suit :
Le serveur existe dans la base de données et le schéma prévus.
La liste d’outils correspond à ce que vous aviez prévu.
L’
identifierde chaque outil pointe vers le bon objet Snowflake.Le rôle de connexion dispose du privilège
USAGEsur le serveur MCP.Le rôle de connexion dispose des autorisations nécessaires pour chaque objet sous-jacent.
Saisir les détails du serveur Snowflake dans ChatGPT
Dans ChatGPT, passez au compte ou à l’espace de travail où l’application doit être disponible.
Ouvrez Paramètres. Pour une configuration à l’échelle de l’espace de travail, ouvrez Paramètres de l’espace de travail comme administrateur.
Accédez à Plugiciels.
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 dans des 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 nuage.
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 le client OAuth
Vous avez besoin d’un identifiant client et d’un secret client de Snowflake pour vous connecter.
Lorsque vous utilisez session:role:all, Snowflake utilise le rôle par défaut de chaque utilisateur. Le rôle par défaut doit être permis par 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 d’avoir un autre rôle approuvé ne le sélectionne pas automatiquement.
Dans la fenêtre de configuration de ChatGPT, ouvrez Paramètres OAuth avancés, sélectionnez Client OAuth défini par l’utilisateur, puis copiez l’URL de rappel affichée dans ChatGPT.
Créez une intégration de sécurité OAuth personnalisée avec
OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'et définissezOAUTH_REDIRECT_URIsur 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 Identifiant du client OAuth etoauth_client_secretdans Secret du client OAuth dans ChatGPT.Définissez Méthode d’authentification du point de terminaison de token sur
client_secret_basic.
Connecter et gérer Snowflake
Dans la même fenêtre de configuration de ChatGPT, sélectionnez Continuer, connectez-vous à Snowflake, puis autorisez la connexion.
Pour un espace de travail, configurez la politique d’installation du plugiciel ainsi que 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 activés.
Les administrateurs de l’espace de travail doivent configurer l’Accès utilisateur pour les rôles qui doivent utiliser Snowflake.
Les administrateurs de l’espace de travail doivent examiner le Contrôle des actions pour les outils exposés.
Les administrateurs de l’espace de travail doivent examiner les Autorisations de l’application afin de choisir quand ChatGPT demande l’accord des membres avant d’utiliser l’application.
Ces autorisations d’application s’appliquent aux conversations ChatGPT. Les agents d’espace de travail utilisent les contrôles propres à chaque agent définis par son créateur pour déterminer les actions d’application disponibles et le moment où les utilisateurs finaux doivent les approuver. Pour en savoir plus sur le comportement 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.
Confirmez que ChatGPT détecte 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.
Confirmez que les autorisations Snowflake empêchent tout accès hors du rôle et des objets approuvés.
Pour un espace de travail, effectuez un test avec des membres non administrateurs autorisés qui ont différents rôles Snowflake par défaut. La connexion réussie d’un administrateur ne confirme pas que tous les membres peuvent se connecter.
Pour les administrateurs d’un espace de travail, activer uniquement Snowflake ne suffit pas. Si Snowflake – Modèle officiel n’a pas été activé et connecté, le plugiciel peut sembler désactivé aux membres.
URL du serveur MCP et comportement 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/authorizeToken :
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/token-request
Ne collez pas une URL Snowsight, l’URL racine du compte Snowflake seule ni une URL comportant des segments de chemin supplémentaires. L’URL MCP doit comprendre /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
Confirmez que Snowflake et Snowflake – Modèle officiel sont activés dans Paramètres de l’espace de travail > Plugiciels.
Ouvrez Snowflake – Modèle officiel et terminez son processus de Connexion. Activer le modèle sans le connecter ne suffit pas.
Ouvrez Snowflake et confirmez que le modèle apparaît comme son application requise.
Confirmez que le rôle ou le groupe du membre concerné est autorisé par la politique d’installation du plugiciel.
Serveur MCP introuvable
Vérifiez de nouveau l’URL complète du serveur MCP ou les quatre champs du modèle si votre écran de configuration les demande.
Confirmez que le serveur MCP existe dans cette base de données et ce schéma précis.
Aucun outil n’apparaît dans ChatGPT
Confirmez que la spécification du serveur MCP comprend des outils.
Confirmez que le rôle dispose du privilège
USAGEsur le serveur MCP.
Un outil apparaît, mais échoue lors de son utilisation
Confirmez que le rôle dispose de l’autorisation requise pour l’objet Snowflake sous-jacent, comme le service de recherche, la vue sémantique, l’entrepôt, la procédure ou la fonction définie par l’utilisateur.
Échec de l’outil SQL
Confirmez que le nom de l’entrepôt est exact et que l’entrepôt est en cours d’exécution.
Confirmez que le rôle dispose du privilège
USAGEsur l’entrepôt.Confirmez que
read_only: trueest défini si vous vouliez 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 d’avoir un autre rôle autorisé ne le sélectionne pas automatiquement. S’il y a lieu, remplacez le rôle par défaut par un rôle approuvé, puis reconnectez-vous. La modification de votre rôle par défaut touche aussi vos sessions Snowflake hors de ChatGPT.
Échec de l’autorisation
Confirmez que l’utilisateur peut se connecter à Snowflake.
Lorsque vous utilisez
session:role:all, confirmez que le rôle par défaut de l’utilisateur est permis par l’intégration OAuth.Confirmez que la configuration utilise le flux OAuth MCP géré par Snowflake.
Confirmez que l’identifiant client et le secret client correspondent à l’intégration OAuth Snowflake et que son URI de redirection correspond à l’URL de rappel affichée dans ChatGPT.
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 provenant des plages actuelles d’adresses IP de sortie des connecteurs ChatGPT.
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 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 causer des problèmes; préférez les traits d’union.
