Utilisez ce guide si vous êtes admin d’un espace de travail ChatGPT et que vous configurez le modèle d’application Snowflake pour votre organisation. Un modèle n’est pas l’application finale utilisée par les membres. Il s’agit d’un flux de configuration qui crée un brouillon d’application propre à l’espace de travail après que vous avez fourni la configuration Snowflake requise.
Pour Snowflake, l’essentiel de la configuration s’effectue dans Snowflake. Vous créez un serveur MCP géré par Snowflake, accordez au rôle approprié l’accès au serveur MCP et à ses objets sous-jacents, puis saisissez l’URL du serveur MCP géré ou ses champs de composant dans le flux de configuration du modèle ChatGPT. Une fois le brouillon d’application créé par ChatGPT, vous pouvez le publier et le gérer comme les autres applications de l’espace de travail.
Ce que vous configurez
Vous créez une application Snowflake propre à l’espace de travail dans ChatGPT. L’application se connecte à un serveur MCP géré par Snowflake qui définit :
Les actions que ChatGPT peut utiliser, appelées outils.
Les données ou objets Snowflake auxquels ces outils peuvent accéder.
Le rôle Snowflake avec lequel les utilisateurs doivent s’autoriser.
La base de données, le schéma et le nom du serveur MCP Snowflake qui identifient l’endpoint du connecteur.
ChatGPT peut uniquement découvrir et utiliser les outils exposés par le serveur MCP et autorisés par le rôle Snowflake avec lequel l’utilisateur s’autorise.
Avant de commencer
Vous avez besoin des éléments suivants :
Un accès admin ou propriétaire de l’espace de travail ChatGPT.
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 Cortex Search, Cortex Analyst, du SQL en lecture seule, ou une procédure ou fonction spécifique.
Un rôle Snowflake à privilèges minimaux que les utilisateurs utiliseront lors de l’autorisation de l’application.
Le préfixe d’hôte du compte Snowflake, y compris tout suffixe de région ou de cloud.
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 utiliser lors de l’autorisation de l’application.
Liste d’outils : les objets et actions Snowflake que vous souhaitez que ChatGPT utilise.
Décider ce que ChatGPT peut faire
Choisissez uniquement les capacités que vous souhaitez exposer. Les options courantes incluent :
La recherche avec Cortex Search pour trouver des réponses dans des 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 des workflows spécifiques.
Si vous activez SQL, conservez-le en lecture seule, sauf si votre organisation a examiné et approuvé l’accès en écriture.
Créer le serveur MCP Snowflake
Dans Snowflake, connectez-vous avec un rôle pouvant 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éé.
Créez un serveur MCP qui répertorie uniquement les outils que ChatGPT doit utiliser. Remplacez les noms d’objets par vos propres noms de base de données, schéma, services, vues, warehouse et serveur Snowflake.
Exemple :
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: "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 doivent être 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.
Accorder les autorisations Snowflake appropriées
Choisissez le rôle Snowflake avec lequel les utilisateurs s’autoriseront, puis accordez à ce rôle l’accès à la base de données, au schéma, au serveur MCP et à chaque objet sous-jacent utilisé par les outils.
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 USAGE ON WAREHOUSE CHATGPT_WH TO ROLE CHATGPT_CONNECTOR_ROLE;
Si le serveur MCP expose une vue sémantique, une UDF, une procédure stockée ou un agent Cortex, accordez aussi les autorisations requises pour ces objets.
Vérifier que Snowflake est prêt
Exécutez :
SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;
Puis exécutez :
DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;
Confirmez :
Le serveur existe dans la base de données et le schéma attendus.
La liste d’outils correspond à ce que vous aviez prévu.
Chaque identifiant d’outil pointe vers le bon objet Snowflake.
Le rôle de connexion dispose de USAGE sur le serveur MCP.
Le rôle de connexion dispose des autorisations nécessaires sur chaque objet sous-jacent.
Démarrer la configuration du modèle dans ChatGPT
Dans ChatGPT, basculez vers l’espace de travail où l’application doit être disponible.
Ouvrez Paramètres de l’espace de travail > Applications.
Sélectionnez Répertoire.
Recherchez Snowflake.
Sélectionnez le modèle d’application Snowflake et démarrez la configuration.
Saisissez un nom et une description d’application clairs, par exemple Snowflake ou Snowflake - Analytics.
Saisissez les détails du serveur MCP géré demandés par le flux de configuration.
Si l’écran de configuration demande l’URL complète du serveur MCP géré, utilisez ce format :
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
Si l’écran de configuration demande des champs distincts, utilisez les mêmes valeurs que dans cette URL :
Préfixe d’hôte Snowflake.
Base de données.
Schéma.
Nom du serveur MCP.
Créer et publier le brouillon d’application
Enregistrez la configuration du modèle Snowflake dans ChatGPT.
Créez le brouillon d’application.
Vérifiez les détails du brouillon d’application, les paramètres d’authentification et les actions disponibles.
Publiez le brouillon d’application lorsqu’il est prêt.
Confirmez que l’application apparaît dans Paramètres de l’espace de travail > Applications > Activées.
Configurez Accès utilisateur pour les rôles qui doivent l’utiliser.
Vérifiez Contrôle des actions pour les outils exposés.
Vérifiez Autorisations de l’application pour choisir quand ChatGPT demande confirmation aux 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 par agent définis par le créateur de l’agent pour déterminer quelles actions d’application sont disponibles et quand les utilisateurs finaux doivent les approuver. Pour le comportement des agents, consultez : Agents d’espace de travail ChatGPT pour Enterprise et Business.
Tester l’application
Démarrez le flux de connexion depuis ChatGPT en tant qu’utilisateur de test autorisé.
Connectez-vous à Snowflake et sélectionnez le rôle prévu si vous y êtes invité.
Confirmez que ChatGPT découvre les outils attendus depuis le serveur MCP.
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 l’accès en dehors du rôle et des objets approuvés.
URL du serveur MCP et comportement OAuth
ChatGPT se connecte à l’URL complète du serveur MCP géré par Snowflake. ChatGPT utilise le préfixe d’hôte Snowflake de cette URL pour résoudre les endpoints OAuth Snowflake.
Ne collez pas une URL Snowsight, l’URL racine seule du compte Snowflake, ni une URL avec des segments de chemin supplémentaires. L’URL MCP doit inclure la base de données, le schéma et le chemin du serveur MCP, et doit correspondre exactement à vos objets Snowflake.
Dépannage
Serveur MCP introuvable : revérifiez l’URL complète du serveur MCP ou les champs distincts de préfixe d’hôte, base de données, schéma et serveur.
Aucun outil n’apparaît dans ChatGPT : confirmez que la spécification du serveur MCP inclut des outils et que le rôle dispose de USAGE sur le serveur MCP.
Un outil apparaît mais échoue à l’utilisation : confirmez que le rôle dispose de l’autorisation appropriée sur l’objet Snowflake sous-jacent.
L’outil SQL échoue : confirmez que le nom du warehouse est correct, que le warehouse est disponible, que le rôle dispose de USAGE dessus et que read_only est défini sur true si vous vouliez un accès en lecture seule.
L’autorisation échoue : confirmez que l’utilisateur peut se connecter à Snowflake et utiliser le rôle prévu.
Problème de connexion au nom d’hôte : utilisez le bon préfixe d’hôte Snowflake. Les noms d’hôte Snowflake avec des underscores peuvent causer des problèmes ; privilégiez les traits d’union.
