Interrogez-nous, nous vous répondrons !

Applications et Guides

Serveur MCP basé sur le N8N

Le développement des réseaux neuronaux génératifs s'est considérablement accéléré ces dernières années. Ils sont devenus nettement plus rapides et plus précis dans leurs réponses et ont appris à raisonner. Cependant, leurs capacités sont encore fondamentalement limitées par leur architecture. Par exemple, chaque LLM existant au moment de la rédaction du présent document a une date limite de connaissance. Cela signifie que chaque jour qui passe, un tel LLM devient plus susceptible de produire des réponses incorrectes, simplement parce qu'il manque d'informations sur les événements qui se sont produits après cette date.

Cette limitation nécessite de réentraîner le modèle entièrement sur des données plus fraîches, ce qui est coûteux et prend du temps. Mais il existe une autre solution. Si vous permettez au modèle d'interagir avec le monde extérieur, il peut trouver et mettre à jour de manière indépendante les informations demandées lors d'une conversation avec l'utilisateur, sans avoir besoin d'être réentraîné.

C'est à peu près ainsi que fonctionne le mécanisme RAG (Retrieval Augmented Generation). Lorsqu'il répond à une question, le modèle interroge d'abord une base de données vectorielles préparée à l'avance et, s'il trouve des informations pertinentes, il les incorpore à l'invite. Ainsi, en expliquant et en mettant à jour la base de données vectorielle, la qualité des réponses LLM peut être grandement améliorée.

Mais il existe un autre moyen, encore plus intéressant, d'intégrer un contexte actualisé dans les messages-guides. Il s'agit du MCP, qui signifie Model Context Protocol (protocole de contexte de modèle). Il a été développé à l'origine par Anthropic pour son modèle Claude. Le moment clé a été l'ouverture du code source du MCP, qui a permis à des milliers de chercheurs en IA de construire des serveurs personnalisés à des fins diverses.

L'essence de MCP est de donner à un modèle de réseau neuronal l'accès à des outils qui lui permettent de mettre à jour ses connaissances de manière indépendante et d'effectuer diverses actions pour résoudre efficacement des tâches données. C'est le modèle lui-même qui décide de l'outil à utiliser et de son adéquation à chaque situation.

La prise en charge du MCP est rapidement apparue dans divers IDE tels que Cursor, ainsi que dans des plates-formes d'automatisation telles que N8N. Cette dernière est particulièrement intuitive, car les flux de travail sont créés visuellement, ce qui les rend plus faciles à comprendre. Dans N8N, vous pouvez vous connecter à un serveur MCP existant ou créer votre propre serveur. En outre, vous pouvez même organiser une connexion directe au sein d'un seul flux de travail. Mais allons-y pas à pas.

Création d'un agent IA simple

Avant de commencer, assurez-vous que l'exigence principale est remplie, vous avez un LLM prêt pour les connexions. Il peut s'agir d'un modèle local utilisant Ollama ou d'un service externe comme ChatGPT d'OpenAI. Dans le premier cas, vous aurez besoin de connaître l'adresse de l'API locale d'Ollama (et éventuellement son authentification), et dans le second cas, vous aurez besoin d'un compte OpenAI actif avec suffisamment de crédits.

La construction d'un agent commence par le nœud clé AI Agent. Au minimum, il doit être lié à deux autres nœuds, l'un pour servir de déclencheur et l'autre pour se connecter au LLM. Si vous ne spécifiez pas de déclencheur, le système en créera un automatiquement, déclenchant l'agent à la réception de n'importe quel message dans le chat interne :

AI Agent only

La seule pièce manquante est le LLM. Vous pouvez par exemple utiliser notre Open WebUI : Tout en un pour configurer Ollama avec une interface web. Le seul changement requis est que les conteneurs du N8N et de l'Open WebUI doivent être sur le même réseau. Par exemple, si le conteneur N8N est sur un réseau nommé web, alors dans la commande de déploiement pour Open WebUI, remplacez --network=host par --network=web.

Dans certains cas, vous devrez également définir manuellement la variable d'environnement OLLAMA_HOST, par exemple : -e OLLAMA_HOST=0.0.0.0. Cela permet de se connecter à l'API Ollama non seulement à partir de l'hôte local, mais aussi à partir d'autres conteneurs. Supposons qu'Ollama soit déployé dans un conteneur nommé ollama-webui. L'URL de base pour se connecter à partir de N8N serait alors :

http://open-webui:11434

Avant de connecter le nœud Ollama Chat Model, n'oubliez pas de télécharger au moins un modèle. Vous pouvez le faire depuis l'interface web ou via le CLI du conteneur. La commande suivante téléchargera le modèle Llama 3.1 avec 8 milliards de paramètres :

ollama pull llama3.1:8b

Une fois téléchargé et installé, le modèle apparaîtra automatiquement dans la liste des modèles disponibles :

Model select

Un flux de travail minimal d'agent d'intelligence artificielle ressemble à ceci :

Minimal working AI Agent

Sous cette forme, l'agent ne peut utiliser qu'un seul modèle et ne stocke pas les données d'entrée ni n'améliore les invites à l'aide d'outils externes. Il est donc logique d'ajouter au moins le nœud Simple Memory. Pour les charges légères, il suffit de stocker les demandes et les réponses.

Mais revenons à MCP. Pour commencer, créez un serveur en utilisant le nœud spécial MCP Server Trigger:

MCP Server Trigger only

Ce nœud est entièrement autonome et ne nécessite aucune activation externe. Il est déclenché uniquement par une requête externe entrante à son adresse webhook. Par défaut, il existe deux URL : Test URL et Production URL. La première est utilisée pendant le développement, tandis que la seconde ne fonctionne que lorsque le flux de travail est sauvegardé et activé.

MCP Server Trigger settings

Le déclencheur est inutile en soi, il a besoin d'outils connectés. Par exemple, connectons l'un des outils les plus simples : une calculatrice. Elle attendra une expression mathématique en entrée. Les nœuds communiquent à l'aide de JSON, de sorte que pour que la calculatrice calcule 2 + 2, l'entrée doit être :

[
  {
    "query": {
      "input": "2 + 2"
    }
  }
]

Les LLM peuvent facilement générer ce type de JSON à partir de descriptions de tâches en texte brut et les envoyer au nœud, qui effectue les calculs et renvoie le résultat. Connectons le client MCP à l'agent :

AI Agent with tools

Il convient de noter que ce nœud n'a besoin d'aucune connexion supplémentaire. Dans ses paramètres, il suffit de spécifier l'adresse du point de terminaison où il enverra les données de l'agent IA. Dans notre exemple, cette adresse pointe vers le conteneur nommé n8n.

MCP Client Settings

Bien sûr, à ce stade, vous pouvez spécifier n'importe quelle adresse de serveur MCP externe disponible. Mais pour cet article, nous utiliserons une instance locale fonctionnant au sein de N8N. Voyons comment le client et le serveur se comportent lorsqu'il est demandé à l'agent AI d'effectuer une simple opération mathématique :

MCP Client calculations example

Dès qu'il reçoit la demande, l'agent d'intelligence artificielle.. :

  1. Rechercher dans la mémoire simple si l'utilisateur a déjà demandé cette opération ou si un contexte peut être réutilisé.
  2. Envoyer l'invite au LLM, qui décomposera correctement l'expression mathématique et préparera le JSON correspondant.
  3. Envoyez le JSON à la calculatrice et recevez le résultat.
  4. Utilisez le LLM pour générer la réponse finale et insérez le résultat dans la réponse.
  5. Stocker le résultat dans la mémoire simple.
  6. Produire le message dans le chat.
MCP Client calculations JSON

De même, les agents peuvent travailler avec d'autres outils sur le serveur MCP. Au lieu de la mémoire simple, vous pouvez utiliser des options plus avancées comme MongoDB, Postgres, Redis, ou même quelque chose comme Zep. Bien entendu, ces options nécessitent une maintenance minimale de la base de données, mais les performances globales augmenteront de manière significative.

Il existe également beaucoup plus d'options pour la sélection des outils. Dans sa version initiale, le nœud MCP Server Trigger prend en charge plus de 200 outils. Il peut s'agir de n'importe quoi, depuis de simples requêtes HTTP jusqu'à des intégrations préconstruites avec des services internet publics. Au sein d'un même flux de travail, vous pouvez créer à la fois un serveur et un client. Une chose importante à noter : ces nœuds ne peuvent pas être connectés visuellement dans l'éditeur, et c'est le comportement attendu :

MCP Server and Client with tools

Au lieu du déclencheur par défaut, vous pouvez utiliser d'autres options telles que la réception d'un message par l'intermédiaire d'un messager, la soumission d'un formulaire sur un site web ou l'exécution selon un calendrier. Cela vous permet de mettre en place des flux de travail qui réagissent à des événements ou effectuent des opérations de routine, comme l'exportation quotidienne de données de Google Ads.

Les possibilités offertes par les agents d'intelligence artificielle ne s'arrêtent pas là. Vous pouvez construire des systèmes multi-agents utilisant différents modèles de réseaux neuronaux qui travaillent ensemble pour résoudre des tâches avec une plus grande précision, en tenant compte de beaucoup plus de facteurs d'influence dans le processus.

Voir aussi :



Mis à jour: 12.08.2025

Publié: 02.07.2025