MCP Connecteurs¶
Vue d’ensemble¶
Un connecteur MCP dans Snowflake connecte Snowflake Intelligence et Cortex Agents à un Model Context Protocol (MCP) distant, ce qui permet à l’agent de découvrir et d’invoquer des outils hébergés par des fournisseurs tels que Atlassian Jira, Salesforce ou vos propres applications personnalisées. Avec les connecteurs MCP, vos agents peuvent aller au-delà de la réponse aux questions pour prendre des mesures sur les systèmes d’entreprise, telles que la création de tickets Jira, la mise à jour des enregistrements Salesforce ou la publication sur Slack, le tout dans l’environnement contrôlé de Snowflake.
Fonctionnement des connecteurs MCP¶
Les administrateurs créent un objet de serveur MCP externe qui fait référence à une intégration API, qui contient les identifiants OAuth. Snowflake prend en charge OAuth standard avec les identifiants (ID client, secret du client), ainsi que l’enregistrement dynamique des clients (DCR). Vous pouvez sélectionner l’un des connecteurs MCP disponibles ou créer votre connecteur personnalisé. Après l’ajout du connecteur MCP à l’agent, les utilisateurs peuvent s’authentifier auprès du service tiers et utiliser les outils directement avec les Cortex Agents et dans Snowflake Intelligence.
Flux d’installation¶
Pour créer un connecteur MCP et l’utiliser dans vos workflows Snowflake, effectuez les étapes suivantes :
Configuration du fournisseur : L’administrateur de compte crée un serveur MCP sur le tableau de bord du fournisseur (par exemple, Salesforce ou Atlassian) et obtient les identifiants OAuth.
Intégration d’API : L’administrateur de compte crée une intégration d’API dans Snowflake qui stocke l’URL de serveur, l’ID client, le secret du client et les points de terminaison OAuth.
Création d’un serveur MCP externe : L’administrateur de compte crée un objet de serveur MCP externe qui fait référence à l’intégration d’API.
Configuration d’un agent : Le développeur de l’agent ajoute le serveur MCP externe à la spécification d’un Cortex Agent.
Authentification utilisateur : les utilisateurs Snowflake Intelligence se connectent au serveur MCP via l’interface Snowflake Intelligence, s’authentifiant auprès du service tiers à l’aide de OAuth.
Découverte et appel des outils¶
Lorsqu’un agent est invoqué, il récupère la liste des outils disponibles de chaque serveur MCP externe configuré à l’aide de la méthode tools/list. Lors de l’orchestration, l’agent appelle des outils spécifiques à l’aide de la méthode tools/call et en transmettant les arguments requis. Snowflake vérifie que le serveur MCP et son intégration d’API sous-jacente sont activés avant d’exécuter un appel d’outil.
Contrôle d’accès¶
Le tableau suivant décrit les privilèges requis pour les opérations de serveur MCP externes :
Privilège |
Objet |
Obligatoire pour |
|---|---|---|
CREATE EXTERNAL MCP SERVER |
Schéma |
Création d’un serveur MCP externe |
OWNERSHIP |
MCP Server |
Suppression du serveur MCP |
MODIFY |
MCP Server |
Mise à jour, suppression, description, affichage et utilisation du serveur MCP |
USAGE |
MCP Server |
Connexion au serveur MCP et outils de découverte |
USAGE |
Intégration API |
Connexion au serveur MCP et outils de découverte |
OWNERSHIP ou MODIFY |
Intégration API |
Activation, désactivation ou suppression de l’intégration d’API |
Par défaut, seuls les administrateurs de compte disposent de ces privilèges.
Important
Les serveurs MCP externes ne sont pas fournis, gérés ou vérifiés par Snowflake. En se connectant à un serveur MCP externe, vous êtes responsable de la vérification de la fiabilité du serveur, de vous assurer que vous disposez des droits nécessaires pour accéder aux données qu’il fournit et de les traiter, et de respecter toutes les lois applicables et les conditions de tiers gouvernant ces données. Snowflake ne garantit ni ne prend en charge aucun serveur MCP externe, et n’est pas responsable des erreurs, des pertes de données ou des incidents de sécurité résultant de son utilisation.
Configuration des connecteurs MCP pris en charge¶
Vous pouvez vous connecter avec les serveurs MCP suivants avec une configuration minimale :
Atlassian
GitHub
Glean
Linear
Salesforce
Avec ces fournisseurs MCP, vous effectuez le workflow suivant :
Spécifiez les détails du fournisseur dans le champ de type
API_USER_AUTHENTICATION.Définissez la configuration du fournisseur, qui est unique pour chaque fournisseur.
Référencez cette intégration d’API dans la création d’objet de serveur MCP externe.
Note
Pour les flux de code d’autorisation OAuth, le client doit fournir une URL de rappel après que le consentement a été donné au fournisseur de services externe. Le fournisseur de services externe enverra l’utilisateur à l’URL de rappel pour terminer le flux. En général, deux URLs doivent être données à la configuration de l’application OAuth :
Pour la CLI Cortex Code :
<account_url>/oauth/complete-secretPour Snowflake Intelligence et Snowsight UI :
<snowsight_url>/oauth/complete-secret
L’URL Snowsight peut être récupérée depuis SYSTEM$ALLOWLIST ou SYSTEM$ALLOWLIST_PRIVATELINK selon que PrivateLink est utilisé. Choisissez un type SNOWSIGHT_DEPLOYMENT qui commence par apps-api (pour l’accès public) ou app.<region>.privatelink.snowflakecomputing (pour PrivateLink).
Accédez à
Admin.atlassian.com.Dans le menu de navigation de gauche, sélectionnez Apps > AI Settings > Rovo MCP Server.
Sous Your domains, sélectionnez Add Domain pour ajouter deux URLs de rappel comme décrit dans le message ci-dessus.
Sélectionnez Add.
Connectez-vous à Snowsight.
Dans le menu de navigation, sélectionnez AI & ML » Agents.
Sélectionnez Settings.
Sélectionnez Tools and Connectors.
Sélectionnez Browse Connectors.
Sélectionnez Atlassian.
Saisissez un nom et une description pour le serveur MCP.
Pour Server URL, saisissez
https://mcp.atlassian.com/v1/mcp.Sélectionnez la base de données et le schéma où le serveur MCP sera créé.
Sélectionnez Add.
L’exemple suivant indique les commandes SQL pour créer l’intégration d’API et le serveur MCP pour Atlassian :
Connectez-vous à GitHub.
Accédez à l’avatar supérieur droit et sélectionnez Settings.
Sélectionnez Developer Settings.
Sélectionnez New GitHub App. Indiquez un nom et une URL de page d’accueil et fournissez deux URLs de rappel comme décrit précédemment.
Vous pouvez désactiver le webhook et définir des autorisations personnalisées (champs d’application).
Créez l’application. Vous devriez voir l’application apparaître dans GitHub Apps dans les Developer Settings.
Sélectionnez Edit et Generate a new client secret. Écrivez l’ID et le secret client.
Connectez-vous à Snowsight.
Dans le menu de navigation, sélectionnez AI & ML » Agents.
Sélectionnez Settings.
Sélectionnez Tools and Connectors.
Sélectionnez Browse Connectors.
Sélectionnez GitHub.
Saisissez une description pour le serveur MCP.
Pour Server URL, saisissez
https://api.githubcopilot.com/mcp.Pour le Token endpoint, saisissez
https://github.com/login/oauth/access_token.Pour le Authorization endpoint, saisissez
https://github.com/login/oauth/authorize.Pour le Client ID, saisissez l’ID client que vous avez écrit.
Pour le Client secret, saisissez le secret du client que vous avez écrit.
Sélectionnez la base de données et le schéma où le serveur MCP sera créé.
Sélectionnez Add.
Accédez à
app.glean.com/settings/install.Sélectionnez Configure MCP Server.
Dans le Host application, sélectionnez Custom. Pour le serveur MCP, sélectionnez le serveur souhaité (peut être par défaut).
Copiez l’URL de serveur.
Sélectionnez Save.
Connectez-vous à Snowsight.
Dans le menu de navigation, sélectionnez AI & ML » Agents.
Sélectionnez Settings.
Sélectionnez Tools and Connectors.
Sélectionnez Browse Connectors.
Sélectionnez Glean.
Saisissez une description pour le serveur MCP.
Pour le Server URL, saisissez l’URL de serveur que vous avez copié.
Sélectionnez la base de données et le schéma où le serveur MCP sera créé.
Sélectionnez Add.
Connectez-vous à Snowsight.
Dans le menu de navigation, sélectionnez AI & ML » Agents.
Sélectionnez Settings.
Sélectionnez Tools and Connectors.
Sélectionnez Browse Connectors.
Sélectionnez Linear.
Saisissez une description pour le serveur MCP.
Sélectionnez la base de données et le schéma où le serveur MCP sera créé.
Sélectionnez Add.
Note
Vous devez disposer d’un accès administrateur à votre organisation Salesforce (sandbox).
Accédez à votre organisation Salesforce.
Rendez-vous sur Setup depuis l’icône en forme de roue dentée.
Recherchez External Client App Manager dans la barre de recherche de la nouvelle page.
Sélectionnez New External Client App et vérifiez Enable OAuth.
Une fois l’application créée, accédez aux OAuth Settings de l’application.
Configurez les champs d’application (assurez-vous que
sfap_apiest inclus) et l’URI de rappel pour correspondre à<snowsight_url>/oauth/complete-secret.Notez les Consumer Key and Secret, qui sont l’ID client OAuth et le secret du client à utiliser dans l’intégration d’API externe Snowflake.
Connectez-vous à Snowsight.
Dans le menu de navigation, sélectionnez AI & ML » Agents.
Sélectionnez Settings.
Sélectionnez Tools and Connectors.
Sélectionnez Browse Connectors.
Sélectionnez Salesforce.
Saisissez une description pour le serveur MCP.
Saisissez l’URL de serveur MCP. Salesforce met ses serveurs MCP à disposition via des URLs distinctes, et l’utilisateur doit savoir à quel serveur ou à quels outils il doit accéder. Les jetons OAuth obtenus à l’étape précédente peuvent être utilisés pour tous les serveurs et outils, à condition que les champs d’application le permettent.
L’URL de base pour chaque serveur MCP hébergé est :
https://api.salesforce.com/platform/mcp/v1-beta.2/sandbox/platform/<server_name>si votre organisation est un environnement sandboxhttps://api.salesforce.com/platform/mcp/v1-beta.2/platform/<server_name>si aucun suffixe/sandbox
Comme l’organisation du test est un environnement sandbox, utilisez
test.salesforce.comcomme domaine des points de terminaison OAuth, et``https://api.salesforce.com/platform/mcp/v1-beta.2/sandbox/platform/<server_name>`` comme URL de base dans l’objetEXTERNAL MCP SERVER.Vous pouvez créer les URLs de serveur MCP de votre choix avec celle de base. Par exemple :
https://api.salesforce.com/platform/mcp/v1-beta.2/sandbox/platform/sobject-allhttps://api.salesforce.com/platform/mcp/v1-beta.2/sandbox/platform/queryhttps://api.salesforce.com/platform/mcp/v1-beta.2/sandbox/platform/search
Saisissez le jeton et les points de terminaison d’autorisation :
Pour le Token endpoint, saisissez
https://<domain>/services/oauth2/token.Pour le:ui:
Authorization endpoint, saisissezhttps://<domain>/services/oauth2/authorize.
Note
Le
<domain>peut être l’un destest.salesforce.comsi l’organisation Salesforce est un environnement sandbox ou sinonlogin.salesforce.com.Indiquer l’ID et le secret client que vous avez notés.
Sélectionnez la base de données et le schéma où le serveur MCP sera créé.
Sélectionnez Add.
Connecteurs MCP personnalisés¶
Vous pouvez également configurer manuellement des connecteurs personnalisés pour qu’ils se connectent à n’importe quel point de terminaison compatible avec MCP.
Fournissez la configuration OAuth complète dans le cadre de la création de l’intégration d’API :
Vous pouvez également utiliser l’intégration d’API avec DCR :
Créez l’objet de serveur MCP :
Mentionnez le serveur MCP dans la configuration Agent :
Paramètres OAuth pour les serveurs MCP personnalisés¶
Le tableau suivant décrit les paramètres OAuth pour les serveurs MCP personnalisés :
Paramètre |
Type |
Obligatoire |
Par défaut |
Description |
|---|---|---|---|---|
OAUTH_CLIENT_ID |
STRING |
Oui |
Aucun(e) |
ID client du fournisseur de serveur MCP |
OAUTH_CLIENT_SECRET |
STRING |
Oui |
Aucun(e) |
Secret du client du fournisseur de serveur MCP |
OAUTH_DISCOVERY_URL |
STRING |
Non |
Aucun(e) |
URL de découverte OpenID Connect pour la résolution automatique des points de terminaison |
OAUTH_TOKEN_ENDPOINT |
STRING |
Oui |
Aucun(e) |
Point de terminaison pour l’échange de codes d’autorisation pour les jetons d’accès |
OAUTH_AUTHORIZATION_ENDPOINT |
STRING |
Oui |
Aucun(e) |
Point de terminaison où les utilisateurs autorisent la connexion |
OAUTH_CLIENT_AUTH_METHOD |
STRING |
Non |
CLIENT_SECRET_BASIC |
Méthode d’authentification : CLIENT_SECRET_BASIC ou CLIENT_SECRET_POST |
Ajouter les connecteurs MCP au Cortex Agent¶
Une fois l’objet de serveur MCP créé, le développeur de l’agent le référence dans la configuration du Cortex Agent. Les connecteurs MCP sont disponibles dans l’UI Agent Admin, où les développeurs peuvent parcourir et sélectionner des connecteurs MCP configurés au niveau du compte. Vous pouvez également utiliser SQL ou une API pour ajouter des connecteurs MCP à vos agents.
Connectez-vous à Snowsight.
Dans le menu de navigation, sélectionnez AI & ML » Agents.
Sélectionnez le nom de l’agent dans la liste des agents.
Sélectionnez MCP Connectors.
Dans la liste des Available Connectors, sélectionnez le connecteur que vous souhaitez ajouter.
Examinez les détails du connecteur, puis sélectionnez Add to agent.
Les développeurs de l’agent ajoutent des serveurs MCP externes à la spécification d’un Cortex Agent à l’aide de l’API REST de l’objet Agent :
Les Cortex Agents qui font référence à ces serveurs MCP peuvent accéder aux outils fournis par le fournisseur. Par exemple, avec Atlassian, ces outils permettent notamment de créer des tickets Jira, de commenter des tickets, de créer des pages Confluence et de mettre à jour des pages existantes.
Lorsque l’agent est appelé, il récupère la liste des outils de chaque serveur MCP et inclut ces outils dans son orchestration. L’agent sélectionne et appelle les outils en fonction de la requête de l’utilisateur et des descriptions d’outils fournies par le serveur MCP.
Utiliser les connecteurs MCP dans Snowflake Intelligence¶
Les utilisateurs Snowflake Intelligence se connectent à des serveurs MCP externes via l’interface Snowflake Intelligence :
Accédez à l’interface Snowflake Intelligence en suivant les instructions dans Accéder à l’agent.
Ouvrez le panneau des sources et sélectionnez Connectors.
Sélectionnez Connect à côté du connecteur choisi. Vous pouvez également sélectionner Manage Connections, puis sélectionner Connect.
L’utilisateur est redirigé vers la page d’authentification du service tiers pour approuver la connexion.
Après l’authentification, le connecteur apparaît comme Connected dans la liste des sources. Vous pouvez désormais interagir avec l’Agent pour obtenir des informations depuis le serveur MCP externe.
Pour déconnecter le serveur, l’utilisateur peut effectuer les opérations suivantes :
Sélectionnez Manage Connections.
Sélectionnez MCP Server puis Disconnect.
Les utilisateurs peuvent connecter et déconnecter des connecteurs dans la liste déroulante des sources pour les inclure ou les exclure de l’orchestration de l’agent. Les connecteurs qui ne sont pas en état Connected ne sont pas inclus dans l’orchestration.
Lorsque le jeton d’authentification d’un utilisateur expire, Snowflake Intelligence invite l’utilisateur à se réauthentifier.
Utiliser les connecteurs MCP dans l’API Agent:run¶
L’API Agent:run se connecte aux serveurs MCP via l’interface client. Utilisez les fonctions suivantes pour authentifier les utilisateurs auprès du service tiers :
Fonction pour démarrer le flux OAuth :
Fonction pour mettre un terme au flux OAuth :
SYSTEM$START_USER_OAUTH_FLOW renvoie une URL d’autorisation pour les intégrations d’API avec API_PROVIDER = EXTERNAL_MCP. Ouvrez l’URL dans un navigateur pour remplir le consentement, puis exécutez SYSTEM$FINISH_OAUTH_FLOW dans la même session avec la chaîne de requête de l’URL de redirection. Pour plus d’informations sur SYSTEM$FINISH_OAUTH_FLOW, voir SYSTEM$FINISH_OAUTH_FLOW.
Gérer les serveurs MCP¶
Répertorier et décrire les serveurs MCP¶
Répertoriez tous les serveurs MCP externes dans les différentes portées :
La sortie inclut le nom du serveur, la base de données, le schéma, le propriétaire, le type (pré-créé ou personnalisé), l’URL de serveur MCP, l’état (activé ou désactivé) et l’intégration d’API associée.
Pour afficher la configuration complète d’un serveur spécifique :
Désactiver et activer les serveurs MCP¶
Désactivez un serveur MCP en modifiant son intégration d’API sous-jacente. La désactivation invalide immédiatement tous les jetons utilisateur et déclenche un appel vers le point de terminaison de révocation du serveur MCP. Les secrets ne sont pas supprimés lorsque vous désactivez une intégration. Ils expirent naturellement si l’intégration reste désactivée assez longtemps.
Avertissement
Lorsque vous désactivez une intégration d’API, tous les agents utilisant ce serveur MCP perdent immédiatement l’accès à ses outils. Snowflake Intelligence affiche une alerte aux utilisateurs lorsqu’un connecteur est désactivé. La réactivation oblige les utilisateurs à se réauthentifier comme s’ils se connectaient pour la première fois.
Vous ne pouvez pas créer un nouveau serveur MCP qui fait référence à une intégration d’API désactivée. Pendant l’exécution de l’agent, Snowflake vérifie les états du serveur MCP et de l’intégration d’API et utilise uniquement les serveurs activés.
Supprimer un serveur MCP¶
Supprimez le serveur MCP d’abord, puis supprimez l’intégration d’API. Seuls les rôles disposant du privilège OWNERSHIP peuvent effectuer des suppressions.
Avertissement
Supprimer une intégration d’API supprime définitivement toutes les configurations OAuth et les secrets stockés. Assurez-vous qu’aucun agent n’utilise actuellement de serveur MCP avant de le supprimer. Vous devez recréer les deux objets à partir de zéro si vous en avez à nouveau besoin.
Considérations clés et bonnes pratiques¶
Serveurs MCP personnalisés : utilisez des serveurs personnalisés lors de la connexion aux points de terminaison MCP ne figurant pas dans la liste des connecteurs MCP disponibles. Snowflake prend en charge les types d’authentification utilisateur pour Atlassian, GitHub, Glean, Linear et Salesforce dans l’intégration d’API.
Accès au moindre privilège : n’accordez que les privilèges minimaux requis pour chaque rôle. L’accès à un serveur MCP n’accorde pas automatiquement l’accès à ses outils ; vous devez accorder des autorisations séparément pour chaque outil.
Authentification OAuth : Snowflake prend uniquement en charge l’utilisation OAuth pour toutes les connexions au serveur MCP.
Désactivation ou suppression : désactiver une intégration d’API préserve la configuration, mais invalide immédiatement tous les jetons utilisateur et les blocs d’appel d’outils. Supprimer une intégration d’API la supprime définitivement, ainsi que tous les secrets stockés. Désactiver l’intégration lors de la maintenance. Supprimez l’intégration lors de la mise hors service.
Formatage du nom d’hôte : utilisez des traits d’union (
-) au lieu de traits de soulignement (_) dans les noms d’hôte lors de la configuration des connexions au serveur MCP. Les noms d’hôte contenant des traits de soulignement entraînent des problèmes de connexion.
Limitations¶
Les limitations suivantes s’appliquent aux connecteurs MCP :
Surveillance : les appels d’outils MCP ne sont pas consignés dans la table de surveillance.
Portée du protocole MCP : les serveurs MCP externes ne prennent en charge que les capacités d’outils. Les ressources, les invites, les racines, les notifications, les accords de version, les phases de cycle de vie et l’échantillonnage ne sont pas pris en charge.
Intégrations désactivées : vous ne pouvez pas créer de serveur MCP qui fait référence à une intégration d’API désactivée.
Format du nom d’hôte : les noms d’hôte doivent utiliser des traits d’union et non des traits de soulignement.