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 :

  1. 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.

  2. 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.

  3. 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.

  4. Configuration d’un agent : Le développeur de l’agent ajoute le serveur MCP externe à la spécification d’un Cortex Agent.

  5. 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 :

  1. Spécifiez les détails du fournisseur dans le champ de type API_USER_AUTHENTICATION.

  2. Définissez la configuration du fournisseur, qui est unique pour chaque fournisseur.

  3. 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-secret

  • Pour 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).

  1. Accédez à Admin.atlassian.com.

  2. Dans le menu de navigation de gauche, sélectionnez Apps > AI Settings > Rovo MCP Server.

  3. Sous Your domains, sélectionnez Add Domain pour ajouter deux URLs de rappel comme décrit dans le message ci-dessus.

  4. Sélectionnez Add.

  5. Connectez-vous à Snowsight.

  6. Dans le menu de navigation, sélectionnez AI & ML » Agents.

  7. Sélectionnez Settings.

  8. Sélectionnez Tools and Connectors.

  9. Sélectionnez Browse Connectors.

  10. Sélectionnez Atlassian.

  11. Saisissez un nom et une description pour le serveur MCP.

  12. Pour Server URL, saisissez https://mcp.atlassian.com/v1/mcp.

  13. Sélectionnez la base de données et le schéma où le serveur MCP sera créé.

  14. Sélectionnez Add.

L’exemple suivant indique les commandes SQL pour créer l’intégration d’API et le serveur MCP pour Atlassian :

-- Create the API integration using dynamic client registration (DCR)
CREATE API INTEGRATION jira_mcp_api_integration
  API_PROVIDER = external_mcp
  API_ALLOWED_PREFIXES = ('https://mcp.jira.atlassian.com')
  API_USER_AUTHENTICATION = (
    TYPE=OAUTH_DYNAMIC_CLIENT,
    OAUTH_RESOURCE_URL='https://mcp.atlassian.com/v1/mcp'
  )
  ENABLED = TRUE;

-- Create the external MCP server
CREATE EXTERNAL MCP SERVER atlassian_mcp_server
  WITH DISPLAY_NAME = 'Atlassian (Jira & Confluence)'
  URL='https://mcp.atlassian.com/v1/mcp'
  API_INTEGRATION = jira_mcp_api_integration;

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.

  1. Fournissez la configuration OAuth complète dans le cadre de la création de l’intégration d’API :

     -- Create the API integration with full OAuth configuration
    CREATE API INTEGRATION custom_mcp_api_integration
       API_PROVIDER = external_mcp
       API_ALLOWED_PREFIXES = ('https://internal.mycompany.com/mcp')
       API_USER_AUTHENTICATION = (
         TYPE = OAUTH2
         OAUTH_CLIENT_ID = 'your_client_id'
         OAUTH_CLIENT_SECRET = 'your_client_secret'
         OAUTH_TOKEN_ENDPOINT = 'https://internal.mycompany.com/oauth/token'
         OAUTH_CLIENT_AUTH_METHOD = CLIENT_SECRET_BASIC
         OAUTH_AUTHORIZATION_ENDPOINT = 'https://internal.mycompany.com/oauth/authorize'
       )
       ENABLED = TRUE;
    

    Vous pouvez également utiliser l’intégration d’API avec DCR :

    CREATE API INTEGRATION custom_mcp_api_integration
      API_PROVIDER = external_mcp
      API_ALLOWED_PREFIXES = ('https://internal.mycompany.com/mcp')
      API_USER_AUTHENTICATION = (
        TYPE = OAUTH_DYNAMIC_CLIENT
        OAUTH_RESOURCE_URL='https://internal.mycompany.com/mcp'
      )
      ENABLED = TRUE;
    
  2. Créez l’objet de serveur MCP :

    -- Create the external MCP server
    CREATE EXTERNAL MCP SERVER mycompany_mcp_server
      WITH DISPLAY_NAME = 'Mycompany MCP server'
      API_INTEGRATION = custom_mcp_api_integration;
    
  3. Mentionnez le serveur MCP dans la configuration Agent :

    -- Add MCP server to agent
    ALTER AGENT my_support_agent
      ADD MCP_SERVER = 'db.schema.MCP server';
    

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.

  1. Connectez-vous à Snowsight.

  2. Dans le menu de navigation, sélectionnez AI & ML » Agents.

  3. Sélectionnez le nom de l’agent dans la liste des agents.

  4. Sélectionnez MCP Connectors.

  5. Dans la liste des Available Connectors, sélectionnez le connecteur que vous souhaitez ajouter.

  6. Examinez les détails du connecteur, puis sélectionnez Add to 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 :

  1. Accédez à l’interface Snowflake Intelligence en suivant les instructions dans Accéder à l’agent.

  2. Ouvrez le panneau des sources et sélectionnez Connectors.

  3. Sélectionnez Connect à côté du connecteur choisi. Vous pouvez également sélectionner Manage Connections, puis sélectionner Connect.

  4. L’utilisateur est redirigé vers la page d’authentification du service tiers pour approuver la connexion.

  5. 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 :

  1. Sélectionnez Manage Connections.

  2. 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 :

    -- Returns authorization URI to authenticate through the third-party service
    SELECT SYSTEM$START_USER_OAUTH_FLOW('<API_INTEGRATION_NAME>');
    
  • Fonction pour mettre un terme au flux OAuth :

    SYSTEM$FINISH_OAUTH_FLOW( '<query_string>' )
    

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 :

-- List all MCP servers in the account
SHOW EXTERNAL MCP SERVERS IN ACCOUNT;

-- List MCP servers in a specific database or schema
SHOW EXTERNAL MCP SERVERS IN DATABASE prod_db;
SHOW EXTERNAL MCP SERVERS IN SCHEMA prod_db.integrations;

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 :

DESCRIBE EXTERNAL MCP SERVER mycompany_mcp_server;

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.

-- Disable the MCP server
ALTER API INTEGRATION mycompany_mcp_integration SET ENABLED = FALSE;

-- Re-enable the MCP server
ALTER API INTEGRATION mycompany_mcp_integration SET ENABLED = TRUE;

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.

-- Drop the MCP server
DROP EXTERNAL MCP SERVER mycompany_mcp_server;

-- Drop the API integration (permanently deletes OAuth configuration and secrets)
DROP API INTEGRATION mycompany_mcp_integration;

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.