Serveur MCP
Confiez la gestion de vos VPS KVM à un assistant IA (Claude, ChatGPT, Cursor, n8n…), sans écrire de code et en gardant la main sur ce qu’il peut faire.
Le serveur MCP du Panel KVM relie un assistant IA à vos VPS. MCP (Model Context Protocol) est le standard ouvert qui permet aux assistants d’utiliser des services extérieurs : vous demandez en langage courant la liste de vos serveurs, leur charge de la semaine, un snapshot avant une mise à jour ou l’ouverture d’un port, et l’assistant fait pour vous les appels au Panel KVM.
Le serveur est hébergé par LWS, à l’adresse https://panelkvm.lwspanel.com/mcp/v1 : rien à installer. Tout se règle dans le Panel KVM, sur la page API / MCP, onglet Serveur MCP : vous y choisissez le niveau de permission de l’assistant et les VPS qu’il peut piloter, et vous pouvez couper son accès à tout moment. Chacune de ses actions est enregistrée.
Avant de commencer
- Le compte principal. La page API / MCP est réservée au titulaire du compte : les sous-comptes ne peuvent pas connecter d’assistant.
- Un assistant compatible MCP « distant » : Claude, ChatGPT, Claude Code, Cursor, VS Code, Gemini CLI, Codex CLI, Mistral, n8n, ou tout outil compatible Streamable HTTP.
- Rien d’autre. Le MCP fonctionne indépendamment de l’API REST : inutile d’activer l’API, de créer une clé API ou de déclarer une adresse IP.
Activer le MCP
- Dans le Panel KVM, ouvrez la page API / MCP (menu de gauche), puis l’onglet Serveur MCP.
- Activez l’interrupteur. Un e-mail vous confirme chaque activation et chaque désactivation.
- Choisissez les serveurs pilotables par l’assistant : tous vos VPS, y compris ceux ajoutés plus tard, ou une sélection. Par défaut, il n’en pilote aucun.
- Vérifiez le niveau de permission : par défaut, l’assistant est en lecture seule (voir plus bas).
Brancher votre assistant
Deux façons de faire, selon l’assistant :
- Claude et ChatGPT se connectent par autorisation (OAuth) : l’adresse du serveur suffit, aucun jeton à copier. Vous donnez votre accord sur une page du Panel KVM.
- Les autres (Claude Code, Cursor, VS Code, n8n…) utilisent le jeton MCP, que vous générez dans l’onglet Serveur MCP et qu’ils envoient dans l’en-tête
Authorization: Bearer. Sa valeur n’est affichée qu’une fois : copiez-la à sa génération. Le panel affiche aussi, pour chaque outil, la configuration prête à copier.
Les droits sont les mêmes dans les deux cas : le niveau de permission et les serveurs pilotables de votre accès MCP.
Claude (claude.ai, application de bureau ou mobile)
- Dans Claude, ouvrez Paramètres › Connecteurs, puis ajoutez un connecteur personnalisé.
- Nom :
LWS Panel KVM. Adresse :https://panelkvm.lwspanel.com/mcp/v1. Laissez l’authentification proposée par défaut, sans en-tête à saisir. - Claude ouvre la page d’autorisation du Panel KVM : vérifiez les informations, puis cliquez sur Autoriser. Le connecteur est aussi disponible dans l’application de bureau et sur mobile.
ChatGPT
- Sur chatgpt.com, ajoutez un serveur MCP personnalisé (menu des plugins ou des connecteurs, selon votre version). L’option dépend de votre abonnement et des réglages de votre espace de travail.
- Adresse du serveur :
https://panelkvm.lwspanel.com/mcp/v1. Authentification : OAuth. - Cliquez sur Connecter : ChatGPT ouvre la page d’autorisation du Panel KVM, où vous cliquez sur Autoriser.
Si vous n’êtes pas connecté au Panel KVM, la page d’autorisation vous invite à passer par votre espace client LWS et à ouvrir le Panel KVM depuis un VPS (Gérer) : vous êtes ramené automatiquement sur l’autorisation, valable 10 minutes. La page indique le domaine de l’application (claude.ai, chatgpt.com…) : vérifiez-le avant d’autoriser. Chaque nouvelle autorisation vous est signalée par e-mail.
Claude Code
Dans un terminal, en remplaçant VOTRE_JETON par la valeur du jeton :
claude mcp add --transport http lwskvm https://panelkvm.lwspanel.com/mcp/v1 --header "Authorization: Bearer VOTRE_JETON"
Cursor et autres éditeurs
Ajoutez ce serveur au fichier de configuration MCP de l’éditeur (pour Cursor : ~/.cursor/mcp.json), puis redémarrez-le :
{
"mcpServers": {
"lwskvm": {
"url": "https://panelkvm.lwspanel.com/mcp/v1",
"headers": { "Authorization": "Bearer VOTRE_JETON" }
}
}
}
VS Code, Gemini CLI et Codex CLI ont leur propre format de fichier : le panel affiche le bon pour chacun.
n8n
- Ajoutez à votre agent IA l’outil MCP Client Tool.
- Endpoint :
https://panelkvm.lwspanel.com/mcp/v1. Transport : HTTP Streamable. - Authentication : Bearer Auth, avec la valeur du jeton.
Choisir ce que l’assistant peut faire
Votre accès MCP a ses propres réglages, indépendants de ceux de l’API :
- le niveau de permission, parmi trois (voir ci-dessous) ;
- les serveurs pilotables : un VPS hors de la liste est invisible pour l’assistant ;
- les adresses IP autorisées, facultatives : laissez la liste vide pour Claude et ChatGPT, qui se connectent depuis leur propre infrastructure.
Commencez par la lecture seule, et n’élargissez que si besoin. Toute élévation de niveau vous est signalée par e-mail, et le passage au niveau Complet doit être confirmé par un code envoyé par e-mail au titulaire du compte. Revenir à un niveau inférieur n’en demande pas.
| Niveau | Outils |
|---|---|
| Lecture seule | kvm_me, kvm_servers_list, kvm_server_get, kvm_server_metrics, kvm_server_disk_usage, kvm_snapshots_list, kvm_backups_list, kvm_firewall_get, kvm_firewall_sets_list, kvm_network_get, kvm_iso_get, kvm_ssh_keys_list, kvm_catalog_templates, kvm_tasks_list, kvm_task_get, kvm_activity_list |
| Exploitation | kvm_server_power, kvm_snapshot_create, kvm_backup_create, kvm_firewall_enable, kvm_firewall_set_create, kvm_firewall_set_update, kvm_firewall_set_apply, kvm_reverse_dns_set, kvm_iso_mount, kvm_iso_eject, kvm_ssh_key_add, kvm_ssh_key_remove, kvm_ssh_key_toggle, kvm_unblock_port25_request |
| Complet | kvm_snapshot_rollback, kvm_snapshot_delete, kvm_backup_restore, kvm_firewall_disable, kvm_firewall_set_unapply, kvm_firewall_set_delete, kvm_server_rescue, kvm_root_password_set, kvm_server_rebuild |
Les outils de lecture seule ne changent rien. Ceux d’exploitation agissent sans rien détruire : démarrer ou arrêter un VPS, créer un snapshot ou une sauvegarde, gérer les règles de pare-feu, le reverse DNS, les images ISO et les clés SSH. Les outils du niveau Complet sont irréversibles ou exposent le serveur : retour à un snapshot, restauration d’une sauvegarde, désactivation du pare-feu, mode secours, mot de passe root, réinstallation. Un outil au-dessus du niveau choisi n’est même pas proposé à l’assistant.
Garder le contrôle
- Confirmation avant toute action : l’assistant annonce ce qu’il va faire et attend votre accord. Pour une action destructive (réinstallation, mot de passe root, suppression de snapshot…), il doit recopier une phrase exacte, par exemple
rebuild 107596. - Simulation avant de modifier le pare-feu : règles ajoutées ou retirées, et alerte si l’accès SSH risque d’être coupé, sans rien appliquer.
- Historique des appels : les 50 derniers appels des 30 derniers jours (heure, outil, origine, VPS, résultat, adresse IP), avec des filtres sur les actions et les erreurs. Les actions apparaissent aussi dans le journal d’activité de votre compte.
- Applications connectées : chaque assistant autorisé par OAuth y figure avec son domaine et sa dernière utilisation. Révoquer lui retire l’accès immédiatement.
- À tout moment, vous pouvez régénérer le jeton (les outils qui l’utilisent sont déconnectés) ou couper l’accès MCP d’un interrupteur.
Bon à savoir
- Un assistant peut se tromper : relisez ce qu’il propose avant une réinstallation, une restauration ou une modification du pare-feu.
- Le nombre d’appels est limité par heure : 600 lectures et 60 actions par compte, et 3 actions lourdes (réinstallation, restauration, retour à un snapshot, mode secours) par VPS, dans la limite de 20 pour le compte. Au-delà, l’assistant est prévenu du délai à attendre. L’état et les métriques d’un VPS sont actualisés au plus toutes les 15 secondes.
- Les textes que vous avez saisis dans le panel (commentaires, descriptions…) sont signalés à l’assistant comme des données, jamais comme des instructions.
- Une autorisation OAuth se renouvelle seule ; sans utilisation pendant 30 jours, l’assistant vous demande de l’autoriser à nouveau.
- Ce que le MCP renvoie à l’assistant (liste des VPS, métriques…) est transmis à son éditeur, qui le traite selon ses propres conditions. L’historique, lui, ne conserve jamais le contenu de vos demandes.
- LWS ne vous demandera jamais votre jeton MCP.