Plugins LM Studio : lesquels installer et comment
LM Studio n'est plus seulement un chat avec un modèle local : depuis la version 0.3.17, il devient une plateforme extensible. Les plugins LM Studio permettent d'ajouter des outils que le modèle peut appeler, de transformer les prompts à la volée, ou de brancher des serveurs MCP — tout en restant 100 % en local. Ce guide fait le tour des mécanismes officiels : ce qu'on peut installer, comment, et comment écrire son propre plugin.
#Pourquoi des plugins dans LM Studio
LM Studio est un excellent runtime local : il télécharge un GGUF ou un MLX, fait tourner le modèle sur votre GPU ou votre puce Apple, et expose un chat ou une API OpenAI-compatible. Mais le chat de base reste limité au texte que le modèle a en mémoire. Pas d'accès au web, pas de lecture de fichiers locaux, pas d'exécution d'outils, pas d'intégration avec d'autres applications.
Les plugins LM Studio comblent ce vide. Ils permettent d'étendre l'app sans toucher au moteur d'inférence : on ajoute des outils que le modèle peut appeler pendant une conversation, on transforme les prompts avant qu'ils n'arrivent au modèle, on greffe une logique de génération custom. Tout cela tourne dans le processus LM Studio, donc tout reste local — fidèle au positionnement self-host strict de l'app.
#Les 5 types de composants d'un plugin
Un plugin LM Studio peut fournir cinq types de composants. Un même plugin peut en combiner plusieurs, mais chacun a un rôle bien défini :
- Tools Providers
- Exposent des outils (fonctions) que le modèle peut appeler pendant la génération. C'est l'équivalent du « function calling » : le modèle décide quand appeler l'outil, lit le résultat, et continue à raisonner. Exemples typiques : lire un fichier, faire une requête HTTP, lancer une commande, interroger une base.
- Prompt Preprocessors
- Transforment le prompt avant qu'il n'arrive au modèle. Utile pour injecter du contexte (RAG, résumés), masquer des PII, ou réécrire la requête utilisateur dans un format que le modèle préfère.
- Generators
- Fournissent un backend de génération custom à la place du moteur llama.cpp/MLX par défaut. Cas avancé : router certaines requêtes vers un autre runtime, un mock pour tester, ou un serveur distant que vous contrôlez.
- Custom Configuration
- Expose des champs de config dans l'UI de LM Studio (toggles, sliders, textes). L'utilisateur règle le plugin sans toucher au code. Le plugin lit ces valeurs à l'exécution.
- Third-Party Dependencies
- Liste les paquets npm tiers nécessaires au plugin. LM Studio les installe au moment du build du plugin, dans le runtime Node intégré.
#Installer un plugin depuis le Hub
Le moyen le plus simple d'ajouter un plugin LM Studio, c'est de passer par le Hub officiel. Chaque plugin publié a une page dédiée avec un bouton « Add to LM Studio » et un deeplink stable.
- 011. Trouver le plugin sur lmstudio.aiNaviguez sur le Hub LM Studio jusqu'à la page du plugin qui vous intéresse. L'URL canonique a la forme `https://lmstudio.ai/<creator>/<plugin-name>`.
- 022. Cliquer sur « Add to LM Studio »Le bouton ouvre un deeplink qui demande à votre app LM Studio locale d'installer le plugin. Si LM Studio est ouvert, l'install se fait en quelques secondes. Sinon, le deeplink déclenche le lancement de l'app.
- 033. Vérifier dans la liste des pluginsUne fois installé, le plugin apparaît dans la section Plugins de LM Studio. Vous pouvez l'activer, le configurer (si Custom Configuration est exposée), ou le désactiver à tout moment.
- 044. Utiliser le pluginLM Studio exécute le plugin automatiquement quand nécessaire. Pour un Tools Provider, l'outil devient appelable par le modèle pendant le chat. Pour un Prompt Preprocessor, la transformation s'applique en silence sur chaque prompt.
#Brancher un serveur MCP via mcp.json
MCP (Model Context Protocol) est un standard ouvert qui permet à des serveurs externes d'exposer des outils utilisables par n'importe quel hôte compatible. LM Studio est un MCP Host depuis la version 0.3.17. Concrètement, vous pouvez brancher un serveur MCP (officiel ou tiers) et ses outils deviennent disponibles dans le chat, exactement comme les outils d'un Tools Provider.
La 0.3.18 a apporté deux améliorations utiles : un bouton pour forcer le restart d'un serveur MCP qui se serait planté, et un bouton refresh pour recharger la liste des outils exposés sans relancer toute l'app.
Deux façons d'ajouter un serveur MCP : un deeplink « Add to LM Studio » depuis la page du serveur, ou l'édition manuelle du fichier `mcp.json`. Cette deuxième option passe par l'onglet « Program » dans la sidebar de droite → bouton `Install` → `Edit mcp.json`.
La notation `mcp.json` est compatible avec celle de Cursor : si vous avez déjà un fichier MCP côté Cursor, vous pouvez réutiliser les mêmes blocs. Chaque entrée sous `mcpServers` décrit un serveur (URL HTTP ou commande locale, headers d'auth, variables d'env).
#Créer son plugin avec le SDK lmstudio-js
Pour aller au-delà des plugins lm studio existants, LM Studio propose un SDK officiel en TypeScript/JavaScript : `lmstudio-js`, publié sur npm sous `@lmstudio/sdk`. Le SDK couvre toute l'API plugin : déclaration des composants, accès au modèle, gestion de la config, communication avec l'app.
Pour démarrer un plugin from scratch, le plus simple est d'utiliser la CLI `lms` (livrée avec LM Studio). Trois commandes couvrent l'essentiel du cycle de vie :
- 011. lms create — scaffold initialCrée un nouveau dossier de plugin avec la structure attendue : manifest, code TypeScript, deps. Vous choisissez le type de composant principal (Tools Provider, Prompt Preprocessor, Generator). Le SDK et les types sont déjà câblés.
- 022. lms dev — mode développementDepuis le dossier du plugin, `lms dev` lance le mode développement. Le code est rebuilt et rechargé à chaque sauvegarde, et le plugin apparaît dans la liste des plugins de l'app LM Studio comme s'il était installé. Itération rapide, pas de cycle build/install manuel.
- 033. lms push — publier sur le HubQuand le plugin est prêt, `lms push` le publie sur le Hub LM Studio. Il devient installable par n'importe qui via le deeplink `https://lmstudio.ai/<vous>/<nom-plugin>`. Versionning et metadata sont gérés par le manifest du projet.
#Sécurité : sources, permissions, surconsommation
Les plugins LM Studio et les serveurs MCP ouvrent le processus de l'app à du code tiers. Ce n'est pas anodin.
- Code arbitraire
- Un MCP local peut lancer n'importe quelle commande sur votre OS. Lisez le code ou faites confiance au mainteneur avant install.
- Accès fichiers
- Un serveur MCP avec un outil `read_file` peut potentiellement lire tout ce que votre utilisateur peut lire. Restreignez via `allowed_tools` ou via des chemins explicites côté serveur.
- Accès réseau
- Un MCP peut faire des requêtes sortantes (exfiltration possible). Vérifiez la liste des destinations dans la config et coupez via le firewall si besoin.
- Surconsommation tokens
- Des MCP conçus pour des modèles cloud (gros context windows, beaucoup d'outils) peuvent injecter énormément de contexte. Sur un modèle local plus petit, ça dégrade les performances et la qualité des réponses.
Règle de base : un plugin/MCP que vous installez doit avoir un mainteneur identifiable, un dépôt accessible, et un cas d'usage clair. En cas de doute, lisez le code avant de cliquer sur « Add to LM Studio ».
#Pour aller plus loin
Les plugins et les serveurs MCP transforment LM Studio en plateforme : un même runtime local peut maintenant servir un chat enrichi, un agent autonome, un IDE assistant ou un backend pour vos propres apps. Le bon réflexe est de commencer petit (un MCP officiel, un plugin du Hub), comprendre le comportement, puis construire votre propre Tools Provider quand le besoin précis se présente.
Si vous débutez avec LM Studio, ou si vous voulez l'utiliser comme backend pour d'autres outils, les guides ci-dessous complètent ce panorama.
Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.