En résumé
Le serveur MCP de Linkr donne à un agent les outils pour agir sur une instance en marche : cohortes, jeux de données, tableaux de bord, scripts, alignement de concepts, documentation. Chaque utilisateur s’y connecte avec sa propre clé API, créée dans Linkr, et l’agent agit alors en son nom, avec ses droits. Cette page explique comment créer la clé, lancer le serveur et le brancher dans LibreChat ou OpenCode.
Ce qu’est un serveur MCP
MCP — Model Context Protocol — est un protocole ouvert par lequel un assistant obtient des outils : chercher un concept, créer une cohorte, ajouter un widget. Le serveur MCP de Linkr traduit chacun de ces outils en appels à l’API de Linkr, comme le ferait l’application elle-même.
Il ne contient pas de modèle de langage et n’héberge pas de conversation. Ce rôle revient au client — LibreChat, OpenCode ou tout autre assistant compatible MCP — qui choisit le modèle, affiche la conversation et demande votre accord avant d’agir.
LibreChat, OpenCode
La conversation, le modèle, la demande de confirmation.
:3940/mcpLes outils
Votre clé API, en en-tête Bearer.
:8000L'API
Vérifie vos droits, applique, notifie.
Étape 1 — Créer votre clé API
Une clé API permet à un client externe d’agir en votre nom sans votre mot de passe. Elle se crée dans Linkr :
Ouvrir les Clés API
Menu de votre compte, en haut à droite → Paramètres utilisateur → onglet Clés API.
Créer la clé
Nouvelle clé API. Donnez-lui le nom de l'endroit où elle servira — « LibreChat sur mon portable » — et une expiration : 30 jours, 90 jours, un an ou jamais.
La copier tout de suite
La clé, qui commence par lnk_, n'est affichée qu'une seule fois. Collez-la dans votre client ; si vous la perdez, révoquez-la et créez-en une autre.
Paramètres utilisateur
Clés API
Des clés personnelles qui permettent à un client externe — le serveur MCP de Linkr dans LibreChat ou OpenCode — d'agir en votre nom, avec vos droits, sans votre mot de passe.
| Nom | Clé | Créée le | Dernière utilisation | Expire le | Statut | |
|---|---|---|---|---|---|---|
| LibreChat sur mon portable | lnk_a41f9c… | 02/09/2026 10:14 | 28/09/2026 09:02 | 01/12/2026 10:14 | Active | |
| OpenCode — IDE du projet | lnk_7d02be… | 15/08/2026 16:40 | Jamais | Jamais | Active | |
| Ancien poste | lnk_e19a33… | 03/03/2026 08:55 | 12/05/2026 17:21 | 01/06/2026 08:55 | Expirée |
La liste des clés indique pour chacune sa date de création, sa dernière utilisation, son expiration et son statut — Active, Expirée ou Révoquée. Révoquer coupe une clé pour de bon : l’API de Linkr la refuse aussitôt, et le serveur MCP, qui garde un moment en mémoire les clés déjà vérifiées, au plus tard une minute après.
Une clé vaut votre identité
Toute personne qui détient la clé agit en votre nom jusqu’à son expiration ou sa révocation. Ne la partagez pas, ne la collez pas dans une conversation avec un assistant, et créez-en une par client pour pouvoir les révoquer séparément. Linkr n’en garde qu’une empreinte : il ne peut pas vous la réafficher.
Une clé a exactement vos droits, ni plus ni moins. Elle ne peut en revanche ni créer, ni lister, ni révoquer de clés : même volée, elle ne permet pas d’en fabriquer d’autres ni d’empêcher sa propre révocation.
Étape 2 — Lancer le serveur MCP
Cette étape revient à l’administrateur de l’instance, une fois pour tout l’établissement : un seul serveur MCP sert tous les utilisateurs, chacun avec sa clé.
Avec Docker, le fichier docker/docker-compose.yml du dépôt lance le serveur MCP comme un service à part, mcp, à côté de l’application : il écoute sur le port 3940 et est déjà relié à l’API. Le fichier docker/docker-compose.hub.yml, celui d’une installation en production, le lance de la même façon à partir de l’image publiée sur Docker Hub.
Sans Docker, le serveur se lance depuis une copie du dépôt — dossier packages/linkr-mcp —, avec Node.js, après un npm install à la racine :
cd packages/linkr-mcp
echo "LINKR_API_URL=https://linkr.mon-chu.fr" > .env # l'adresse de votre instance Linkr
npm run start:http # → http://127.0.0.1:3940/mcp
LINKR_API_URL est le seul réglage nécessaire : l’adresse de votre instance, ou http://localhost:8000 si le serveur MCP tourne sur la même machine que le backend. Si LibreChat tourne dans Docker sur la même machine, ajoutez LINKR_MCP_HOST=0.0.0.0 : il joindra alors le serveur à l’adresse http://host.docker.internal:3940/mcp. LINKR_MCP_PORT change le port.
Sur une installation de développement, npm run dev:all lance déjà le serveur MCP avec le reste de Linkr — voir Installation manuelle.
Étape 3 — Le brancher dans votre client
Linkr fonctionne avec tout client compatible MCP, mais nous recommandons des outils open source, animés par un modèle hébergé dans l’établissement : la page Agents explique pourquoi.
LibreChat
Dans LibreChat, ajoutez un serveur MCP avec :
- URL — l’adresse du serveur, par exemple
http://127.0.0.1:3940/mcp; - Transport — Streamable HTTP ;
- Authentification — API key, format Bearer ;
- Chaque utilisateur fournit sa propre clé — cochée. LibreChat demande alors sa clé à chacun, et le serveur agit en son nom.
L’administrateur de LibreChat doit aussi autoriser l’adresse du serveur dans librechat.yaml, sous mcpSettings.allowedDomains. Il peut également y déclarer le serveur pour tous les utilisateurs :
mcpSettings:
allowedDomains:
- "127.0.0.1"
mcpServers:
linkr:
type: streamable-http
url: http://127.0.0.1:3940/mcp
headers:
Authorization: "Bearer {{LINKR_API_KEY}}"
customUserVars:
LINKR_API_KEY:
title: "Clé API Linkr"
description: "Paramètres utilisateur → Clés API, dans Linkr"
C’est aussi dans librechat.yaml que se règle la demande de confirmation avant qu’un outil ne s’exécute. Les outils de Linkr indiquent s’ils lisent, modifient ou suppriment, ce qui permet de laisser passer les lectures et de confirmer le reste.
Après une mise à jour de Linkr
LibreChat mémorise la liste des outils au moment où il se connecte. Quand de nouveaux outils arrivent, réinitialisez le serveur Linkr dans LibreChat. Si vous utilisez un agent LibreChat, cochez aussi les nouveaux outils dans sa configuration : sinon le modèle ne les voit pas.
OpenCode
OpenCode est un agent open source qui travaille dans un terminal — y compris celui de l’IDE du projet — et qui peut utiliser un modèle local. Déclarez le serveur Linkr dans sa configuration comme serveur MCP distant : l’adresse du serveur, et l’en-tête Authorization: Bearer lnk_… avec votre clé.
Tout autre client compatible MCP se connecte de la même façon au serveur HTTP.
Ce que l’agent voit dans Linkr
Une fois branché, l’agent dispose de plus de deux cents outils, regroupés par domaine : entrepôt, cohortes, concepts, jeux de données, tableaux de bord, IDE et environnements, alignement de concepts, qualité, ETL, catalogue de données, wiki, documentation. La page Agents les présente avec des exemples de demandes.
Chaque modification faite par l’agent rafraîchit les onglets Linkr ouverts et s’inscrit dans la cloche des Notifications — « Ajout par MCP » —, avec un lien vers l’élément et, pour certaines, Annuler.
La documentation, sans configuration
Deux outils permettent à l’agent de chercher dans cette documentation et d’en lire une page, pour répondre à une question sur le fonctionnement de Linkr en citant la source. Le serveur lit la documentation publiée sur ce site et la tient à jour d’elle-même. Sans accès à internet, il se rabat sur une copie livrée avec lui, et prévient l’agent qu’elle peut être moins récente.
Pour aller plus loin
- Agents — ce qu’un agent peut faire, et comment vous gardez la main.
- Skills — installer dans LibreChat le skill d’alignement de concepts.
- Modes de déploiement — pourquoi il faut une installation avec backend.