Construire un chatbot RAG avec MCP Retriever
Le RAG actuel passe par le serveur MCP Retriever. Le modèle choisit l’outil de recherche, Studio l’exécute, puis le résultat est ajouté à l’historique pour produire une réponse sourcée. Aucun bloc Requête HTTP ni aucune configuration documents ne sont nécessaires.
Configuration pas à pas
- Ajoutez
MCP - Liste d'outilscomme point d’entrée. - Configurez le serveur MCP Retriever de votre environnement et sélectionnez au minimum
retriever_retrieve_information. - Renseignez dans les métadonnées l’identifiant du connecteur LLM utilisé par les sources. Les identifiants d’organisation et de conversation sont transmis automatiquement par la plateforme.
- Ajoutez une
Instruction LLMavec{{listTools-1.tools}}activé et une consigne expliquant quand utiliser le retriever. - Ajoutez une
Requête LLMutilisant{{generatePrompt-1.instruction}}et{{listTools-1.tools}}. - Ajoutez une condition :
gt (length chatCompletion-1.genericToolCalls) 0. - Sur la route positive, exécutez
MCP - Appel d'outilsavec les appels du modèle et le routage du catalogue. - Ajoutez une seconde
Instruction LLM, puis revenez vers la mêmeRequête LLM. Si la condition est fausse,contentconstitue la réponse finale. - Reliez les branches d’échec à un message clair et non technique.
Serveur MCP Retriever
Exemple de configuration d’un serveur dans MCP - Liste d'outils :
{
"name": "Wikit Retriever",
"url": "<URL_MCP_RETRIEVER>/mcp",
"allowedTools": [
"retriever_retrieve_information",
"retriever_get_table_metadata",
"retriever_run_sql_query"
],
"meta": {
"llmConnectorId": "<ID_CONNECTEUR_LLM>"
}
}retriever_retrieve_information recherche en parallèle les passages de documents et les sources tabulaires pertinents. Les deux autres outils sont utiles lorsqu’une réponse nécessite d’examiner le schéma d’une table puis d’exécuter une requête SQL en lecture seule.
Vous pouvez limiter allowedTools au seul outil de recherche pour un assistant strictement documentaire. L’URL et les métadonnées exactes dépendent de votre environnement et des sources activées.
Variables à relier
| Référence | Rôle |
|---|---|
{{listTools-1.tools}} | Catalogue transmis à l’instruction et à la requête LLM |
{{listTools-1.toolServerRouting}} | Routage vers le serveur MCP Retriever |
{{generatePrompt-1.instruction}} | Instruction préparée pour le modèle |
{{chatCompletion-1.genericToolCalls}} | Appels d’outils demandés par le modèle |
{{callTools-1.toolCallResults}} | Résultats du retriever, utiles pour le debug et la traçabilité |
Le bloc MCP - Appel d'outils ajoute automatiquement ses résultats à conversationHistory. La seconde instruction reconstruit alors le prompt avec ces résultats ; il n’est pas nécessaire de copier toolCallResults dans une configuration documentaire.
Instruction de base
Tu réponds à partir des sources internes accessibles avec les outils MCP.
Pour toute question susceptible d'être couverte par ces sources, commence par appeler
retriever_retrieve_information avec une requête de recherche précise.
Si des passages de documents suffisent, réponds à partir de ces passages et cite le nom
du document ainsi que les pages lorsqu'elles sont disponibles.
Si une table est pertinente, appelle d'abord retriever_get_table_metadata avant toute
requête avec retriever_run_sql_query.
Si aucune source pertinente n'est trouvée, indique-le clairement sans inventer.Pourquoi cette architecture fonctionne
- Le modèle reformule la question en requête de recherche ciblée.
- MCP Retriever renvoie des passages documentaires et, si nécessaire, des métadonnées de tables.
MCP - Appel d'outilsplace le résultat dans l’historique du tour.- Le modèle peut répondre, affiner sa recherche ou demander un outil tabulaire supplémentaire.
- La condition termine la boucle dès qu’aucun nouvel appel d’outil n’est demandé.
Cette boucle permet plusieurs recherches ciblées sans exposer au workflow l’URL HTTP, l’index Elasticsearch, le modèle d’embedding ou le format brut de la requête de retrieval.
Vérifications
- le bloc liste d'outils contient
retriever_retrieve_information; - les métadonnées du serveur contiennent le bon
llmConnectorId; - l’instruction et la requête LLM reçoivent
{{listTools-1.tools}}; - la condition teste la longueur de
genericToolCallssans entourer toute l’expression d’accolades ; MCP - Appel d'outilsreçoit les appels et le routage provenant des bons blocs ;- la seconde instruction conserve les outils et revient vers la requête LLM ;
- un résultat vide produit une réponse honnête ;
- la boucle possède une sortie et les anciens résultats d’outils expirent après un nombre de tours adapté.