Depuis la création du Model Context Protocol (MCP), nous avons imaginé et conçu la façon dont il peut être intégré dans la plateforme SnapLogic. Nous avons récemment reçu un nombre important de demandes concernant le MCP, et nous sommes ravis de partager nos progrès, les fonctionnalités que nous allons supporter, notre calendrier de publication, et comment vous pouvez commencer à créer des serveurs et des clients MCP dans SnapLogic. Si vous êtes intéressé, nous vous encourageons à nous contacter !
Comprendre le protocole MCP
Le protocole MCP permet aux outils, aux ressources de données et aux invites d'être publiés par un serveur MCP d'une manière que les grands modèles de langage (LLM) peuvent comprendre. Cela permet aux LLM d'interagir de manière autonome avec ces ressources par l'intermédiaire d'un client MCP, élargissant ainsi leurs capacités à effectuer des actions, à récupérer des informations et à exécuter des les workflows complexes.
Le protocole MCP prend principalement en charge :
- Outils : Fonctions qu'un LLM peut invoquer (par exemple, recherche de données, tâches opérationnelles).
- Ressources : Données de type fichier qu'un LLM peut lire (par exemple, réponses API, contenu des fichiers).
- Invitations : Modèles pré-écrits pour guider l'interaction du LLM avec le serveur.
- Échantillonnage (peu utilisé) : Permet aux LLM hébergés par le client d'être utilisés par des serveurs MCP distants.
Un client MCP peut donc demander la liste des outils disponibles, l'appel d'outils spécifiques, la liste des ressources ou la lecture du contenu des ressources d'un serveur.
Transport et authentification
Le protocole MCP offre des options de transport flexibles, y compris STDIO ou HTTP (SSE ou Streamable-HTTP) pour les déploiements locaux, et HTTP(SSE ou Streamable-HTTP) pour les déploiements à distance.
Bien que le protocole propose OAuth 2.1 pour l'authentification, un serveur MCP peut également utiliser des en-têtes personnalisés pour la sécurité.

Calendrier de diffusion
Nous sommes ravis d'apporter le support MCP à SnapLogic avec deux versions clés :
Version d'août : Support client MCP
Nous allons publier deux nouveaux snaps : le Snap MCP Function Generator et le Snap MCP Invoke. Ils seront disponibles dans le Pack Snap expérimental (Beta) d'AgentCreator . Avec ces snaps, votre agent SnapLogic peut accéder aux services et ressources disponibles sur le serveur public MCP.
Publication de la fin du troisième trimestre : Prise en charge du serveur MCP
Notre support initial du serveur MCP se concentrera sur les opérations d'outils, y compris la possibilité de lister les outils et d'appeler des outils. En ce qui concerne l'authentification, il prendra en charge l'authentification personnalisée basée sur l'en-tête. Les utilisateurs pourront tirer parti de la fonctionnalité du serveur MCP en souscrivant à cette fonction.
Si vous souhaitez être parmi les premiers à tester ces nouvelles fonctionnalités et à nous faire part de vos commentaires, n'hésitez pas à contacter l'équipe des chefs de projet à l'adresse [email protected]. Nous sommes impatients de voir ce que vous allez construire avec SnapLogic MCP.
SnapLogic MCP Client

Les clients MCP dans SnapLogic permettent aux utilisateurs de se connecter aux serveurs MCP dans le cadre de leur agent. Un exemple peut être la connexion au serveur MCP Firecrawl pour un agent de récupération de données, ou d'autres cas d'utilisation qui peuvent tirer parti des serveurs MCP créés.
Le support du client MCP dans SnapLogic consiste en deux Snap, le Snap MCP Function Generator et le Snap MCP Invoke. D'un point de vue de haut niveau, la MCP Function generator Snap permet aux utilisateurs de lister les outils disponibles à partir d'un serveur MCP, et la MCP Invoke Snap permet aux utilisateurs d'effectuer des opérations telles que l'appel d'outils, la liste de ressources et la lecture de ressources à partir d'un serveur MCP.
Examinons les différentes pièces.
Compte MCP SSE
Pour se connecter à un serveur MCP, nous aurons besoin d'un compte pour spécifier l'URI du serveur auquel se connecter.

Propriétés
- URI
- L'URI du serveur auquel se connecter. Il n'est pas nécessaire d'inclure le chemin /sse.
- En-têtes supplémentaires
- En-têtes HTTP supplémentaires à envoyer au serveur
- Délai d'attente
- La valeur du délai d'attente en secondes, si le résultat n'est pas renvoyé dans le délai d'attente, le Snap renverra une erreur.
Générateur de fonctions MCP Snap

Le Snap MCP Function Generator permet aux utilisateurs de récupérer la liste des outils en tant que définitions de fonctions SnapLogic à utiliser dans un Snap d'appel d'outil.
Propriétés
- Compte
- Un compte MCP SSE est nécessaire pour se connecter à un serveur MCP.
- Exposer les outils
- Liste de tous les outils disponibles à partir d'un serveur MCP en tant que définitions de fonctions SnapLogic
- Exposer les ressources
- Ajouter list_resources, read_resource comme définitions de fonctions SnapLogic pour permettre aux LLM d'utiliser resources/read et resources/list (ressources MCP).
Définitions de la ressource de liste et de la ressource de lecture
[ { "sl_type": "function", "name": "list_resources", "description": "This function lists all available resources on the MCP server. Return a list of resources with their URIs.", "strict": false, "sl_tool_metadata": { "operation": "resources/list" } }, { "sl_type": "function", "name": "read_resource", "description": "This function returns the content of the resource from the MCP server given the URI of the resource.", "strict": false, "sl_tool_metadata": { "operation": "resources/read" }, "parameters": [ { "name": "uri", "type": "STRING", "description": "Unique identifier for the resource", "required": true } ] } ]
MCP Invoke Snap

MCP Invoke Snap permet aux utilisateurs d'effectuer des opérations telles que tools/call, resources/list et resources/read sur un serveur MCP.
Propriétés
- Compte
- Un compte est nécessaire pour utiliser le MCP Invoke Snap.
- Fonctionnement
- L'opération à effectuer sur le serveur MCP. L'opération doit être l'une des suivantes : tools/call, resources/list ou resources/read.
- Nom de l'outil
- Le nom de l'outil à appeler. Uniquement activé et requis lorsque l'opération est tools/call
- Paramètres
- Les paramètres à ajouter à l'opération. Activé uniquement pour resources/read et tools/call. Requis pour resources/read, et optionnel pour tools/call, en fonction de l'outil.
Les agents du MCP dans l'action sur le pipeline
MCP Agent Driver pipeline

Un pipeline MCP Agent Driver est comme n'importe quel autre pipeline MCP Agent ; nous devrons fournir l'invite système, l'invite utilisateur, et l'exécuter avec le PipeLoop Snap.
MCP Agent Worker pipeline

Voici un exemple d'agent MCP avec une seule connexion au serveur MCP. L'agent MCP Worker est connecté à un seul serveur MCP.
Les snaps MCP Client peuvent être utilisés avec les snaps AgentCreator , tels que le générateur de fonctions multi-pipeline et le snap d'exécution de pipeline, en tant qu'outils SnapLogic Functions. Cela permet aux utilisateurs d'utiliser les outils fournis par les serveurs MCP et les outils internes, sans sacrifier la sécurité et la liberté lors de la création d'un agent.
Agent Worker avec MCP Client Snaps

Serveur SnapLogic MCP
Dans SnapLogic, un serveur MCP vous permet d'exposer les pipelines SnapLogic en tant qu'outils dynamiques qui peuvent être découverts et invoqués par des modèles de langage ou des systèmes externes.
En enregistrant un serveur MCP, vous fournissez effectivement une API que les modèles de langage et d'autres clients peuvent utiliser pour effectuer des opérations telles que l'extraction, la transformation, l'enrichissement ou l'automatisation des données, le tout orchestré par des pipelines SnapLogic.
Pour la phase initiale, nous prendrons en charge les connexions au serveur via HTTP + SSE.
Capacités de base
Le serveur MCP offre deux fonctions essentielles.
La première est la liste des outils, qui renvoie des métadonnées structurées décrivant les pipelines disponibles. Ces métadonnées comprennent le nom de l'outil, une description, le schéma d'entrée au format JSON Schema et toute autre information pertinente. Cela permet aux clients de découvrir dynamiquement quelles opérations sont disponibles pour être invoquées.
La deuxième capacité est l'appel d'outils, où un pipeline spécifique est exécuté en tant qu'outil à l'aide de paramètres d'entrée structurés, et la sortie est renvoyée.
Ces deux opérations - l'établissement de listes d'outils et l'appel d'outils - sont exposées par le biais de méthodes JSON-RPC standard, à savoir tools/list et tools/call, accessibles via HTTP.
Prérequis
Vous devrez préparer vos pipelines d'outils à l'avance. Au cours du processus de création du serveur, ils peuvent être ajoutés et exposés en tant qu'outils pour que les LLM externes puissent les utiliser.
Composants du pipeline du serveur MCP

Un pipeline de serveur MCP typique se compose de quatre Snaps, chacun ayant un rôle dédié :
1. Routeur
- Ce qu'il fait : Routage des requêtes JSON entrantes - qui diffèrent des requêtes JSON-RPC directes envoyées par un client MCP - vers la branche des outils de liste ou la branche des outils d'appel.
- Comment ? Examine les données utiles de la demande (généralement le champ de la méthode) pour déterminer l'action à effectuer.
2. Générateur de fonctions multi-pipeline (Listing Tools)

- Ce qu'il fait : Convertit une liste de références de pipelines en métadonnées d'outils. C'est ici que vous définissez les pipelines que vous voulez que le serveur expose en tant qu'outils.
- Résultat : Pour chaque pipeline, génère
- Nom de l'outil
- Description
- Paramètres (en tant que schéma JSON)
- Autres métadonnées
- Objectif : permettre aux clients (par exemple, un LLM) d'interroger les outils disponibles sans connaissances préalables.
3. Exécution du pipeline (outils d'appel)

- Ce qu'il fait : invoque dynamiquement le pipeline SnapLogic sélectionné et renvoie des résultats structurés.
- Comment : Accepte les paramètres encodés dans le corps de la requête, les met en correspondance avec les entrées attendues du pipeline et exécute le pipeline.
- Objectif : Fournir une exécution flexible des outils en fonction des demandes de l'utilisateur ou du modèle.
4. L'Union
- Ce qu'il fait : Fusionne les flux de résultats des deux branches (liste et appel) en un seul flux de sortie pour un formatage cohérent des réponses.
Flux de demandes
Vous trouverez ci-dessous des exemples de flux montrant comment les demandes sont traitées :

outils/liste
- Le client envoie une requête JSON-RPC avec la méthode = "tools/list".
- Le routeur dirige la demande vers le générateur de fonctions multipipeline.
- Les métadonnées de l'outil sont générées et renvoyées dans la réponse.
- Union Snap fusionne et produit le contenu.
✅ Résultat : Le client reçoit une liste JSON décrivant tous les outils disponibles.

��� outils/appel
- Le client envoie une requête JSON-RPC avec la méthode = "tools/call" et le nom de l'outil + les paramètres.
- Le routeur l'envoie à l'instantané d'exécution du pipeline.
- Le pipeline sélectionné est invoqué avec les paramètres donnés.
- Les résultats sont collectés et fusionnés par l'intermédiaire de l'Union.
✅ Résultat : Le client obtient le résultat de l'exécution de l'outil sélectionné.
Enregistrement d'un serveur MCP
Une fois que votre pipeline de serveur MCP est créé :
- Créer une tâche de déclenchement et s'enregistrer en tant que serveur MCP
- Naviguer vers le Concepteur > Créer une tâche de déclenchement
- Choisissez un Groundplex.
(Remarque : cette capacité nécessite actuellement un Groundplex, et non un Cloudplex). - Sélectionnez votre filière MCP.
- Cliquez sur Enregistrer en tant que serveur MCP
- Configurer le nœud et l'authentification.
- Trouvez l'URL de votre serveur MCP
- Naviguer vers le Gestionnaire > Tâches
- La page Détails de la tâche expose un point de terminaison HTTP unique.
- Ce point de terminaison est traité comme l'URL de votre serveur MCP.
Après l'enregistrement, les clients tels que les modèles d'IA ou les moteurs d'orchestration peuvent interagir avec le serveur MCP en appelant le point de terminaison /tools/list pour découvrir les outils disponibles, et le point de terminaison /tools/call pour invoquer un outil spécifique à l'aide d'une charge utile JSON structurée.
Se connecter à un serveur SnapLogic MCP à partir d'un client
Une fois que le serveur MCP est publié avec succès, l'utilisation du serveur SnapLogic MCP n'est pas différente de l'utilisation d'autres serveurs MCP fonctionnant en mode SSE. Il peut être connecté par n'importe quel client MCP qui supporte le mode SSE; tout ce dont vous avez besoin est l'URL du serveur MCP (et le Bearer Token si l'authentification est activée lors de l'enregistrement du serveur).
Configuration
Tout d'abord, vous devez ajouter votre serveur MCP dans les paramètres du client MCP. En prenant Claude Desktop comme exemple, vous devrez modifier le fichier de configuration de Claude Desktop. Le fichier de configuration est généralement situé à l'adresse suivante
- macOS: ~/Bibliothèque/Application Support/Claude/claude_desktop_config.json
- Windows: %APPDATA%Claudeclaude_desktop_config.json
Ajoutez votre configuration de serveur MCP distant à la section mcpServers :
{ "mcpServers": { "SL_MCP_server": { "command": "npx", "args": [ "mcp-remote", "http://devhost9000.example.com:9000/mcp/6873ff343a91cab6b00014a5/sse", "--header", "Authorization: Bearer your_token_here" ] } } }
Composants clés
- Nom du serveur: SL_MCP_server - Un identifiant unique pour votre serveur MCP
- Commande: npx - Utilise le gestionnaire de paquets Node.js pour exécuter le paquet mcp-remote
- URL: L'URL du point de terminaison SSE de votre serveur MCP distant (notez le suffixe /sse ).
- Authentification: Utilisez l'option -header pour inclure les jetons d'autorisation si le serveur a activé l'authentification.
Exigences
Assurez-vous que Node.js est installé sur votre système, car la configuration utilise npx pour exécuter le paquet mcp-remote. Remplacez l'exemple d'URL et le jeton d'autorisation par les détails de votre serveur avant d'enregistrer la configuration.
Après avoir mis à jour le fichier de configuration, redémarrez Claude Desktop pour que les modifications soient prises en compte.


En conclusion, le serveur MCP de SnapLogic est un cadre qui vous permet d'exposer les pipelines en tant qu'outils dynamiques accessibles via un point de terminaison HTTP unique. Cette capacité est conçue pour l'intégration avec des modèles de langage et des systèmes externes qui ont besoin de découvrir et d'invoquer les les workflows SnapLogic les workflows au moment de l'exécution. Les serveurs MCP permettent de créer des API flexibles et composables qui renvoient des résultats structurés, prenant en charge des cas d'utilisation tels que l'IA conversationnelle, l'orchestration automatisée des données et les workflowsapplication intelligents.
Conclusion
L'intégration du protocole MCP par SnapLogic marque une avancée significative en permettant aux LLM de découvrir et d'invoquer dynamiquement les pipelines SnapLogic en tant qu'outils sophistiqués, transformant ainsi la façon dont vous construisez l'IA conversationnelle, automatisez les orchestrations de données complexes et créez des applications réellement intelligentes. Nous sommes impatients de voir les solutions innovantes que vous développerez avec ces nouvelles capacités puissantes.





