[{"data":1,"prerenderedAt":204},["ShallowReactive",2],{"seo-verification":3,"blog-mcp-serveur-ia-auto-heberge-vps-ma-fr":6,"promo-bar-likely":203},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-mcp-serveur-ia-auto-heberge-vps-ma-fr",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"noindex":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":30,"intro":33,"sections":34,"ctaTitle":145,"ctaBody":146,"ctaButton":147,"ctaUrl":148,"relatedPosts":149},214,"mcp-serveur-ia-auto-heberge-vps",{"fr":10,"en":12,"ar":13,"es":14},"how-to-deploy-an-mcp-server-on-a-vps","كيفية-نشر-خادم-mcp-على-vps","desplegar-servidor-mcp-en-un-vps","Déployer un serveur MCP sur VPS auto-hébergé","Guide complet pour déployer, sécuriser et intégrer un serveur MCP sur votre VPS : nginx, TLS, authentification, dépannage et connexion à Claude Desktop.",8,4,false,"2026-08-03T00:00:00+00:00","2026-10-20T23:18:06+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},1,"Intelligence Artificielle","intelligence-artificielle","bg-purple-500\u002F10 text-purple-400","ia",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fmcp-serveur-ia-auto-heberge-vps-poster.svg","Le protocole MCP (Model Context Protocol) s'est imposé comme la couche standard pour connecter un agent IA à vos outils : bases de données, systèmes de fichiers, APIs internes. Héberger ce serveur sur votre propre VPS vous donne un contrôle total sur les données traitées, sur la latence et sur les coûts. Ce guide couvre l'installation, la sécurisation en production, l'intégration avec Claude Desktop et Cursor, et les erreurs les plus fréquentes.",[35,39,48,51,85,89,99,102,105,139,142],{"type":36,"title":37,"body":38},"h2","Pourquoi héberger son propre serveur MCP","Les services MCP hébergés chez un tiers introduisent une dépendance externe : vos données, vos prompts et vos contextes transitent par une infrastructure que vous ne contrôlez pas. Sur un VPS, le serveur MCP tourne dans votre réseau, avec vos règles d'accès et votre chaîne de confiance. C'est la même logique que d'auto-héberger un dépôt Git ou un registre Docker : l'autonomie prime sur la commodité.",{"type":40,"title":41,"items":42},"ul","Ce que vous gagnez à auto-héberger",[43,44,45,46,47],"Confidentialité des données : aucun contexte ne quitte votre infrastructure.","Pas de round-trip vers un tiers : le serveur MCP et votre application tournent sur le même réseau ou sur des VPS voisins.","Personnalisation totale : outils maison, connecteurs propriétaires, environnement d'exécution sur mesure.","Coût prévisible : un abonnement VPS fixe, sans facturation à l'appel.","Contrôle des versions : vous choisissez quand mettre à jour le serveur et ses dépendances.",{"type":36,"title":49,"body":50},"Prérequis avant de commencer","Vous avez besoin d'un VPS avec accès root, d'une distribution Linux récente (Ubuntu 22.04 LTS ou Debian 12 sont recommandés), de Node.js 18+ ou Python 3.11+ selon l'implémentation choisie, et d'un nom de domaine pointant vers l'IP de votre serveur. Un plan avec au minimum 1 vCPU et 2 Go de RAM convient pour un serveur MCP à usage modéré. Pour des charges importantes ou plusieurs serveurs MCP en parallèle, prévoir 2 vCPU et 4 Go.",{"type":52,"title":53,"steps":54},"steps","Déployer un serveur MCP en 10 étapes",[55,58,61,64,67,70,73,76,79,82],{"title":56,"body":57},"Mettre à jour le système et installer Node.js","Connectez-vous en SSH avec votre clé et lancez `apt update && apt upgrade -y`. Installez Node.js via le dépôt officiel NodeSource : `curl -fsSL https:\u002F\u002Fdeb.nodesource.com\u002Fsetup_20.x | bash - && apt install -y nodejs`. Vérifiez avec `node -v` et `npm -v`.",{"title":59,"body":60},"Créer un utilisateur dédié","Ne faites jamais tourner le serveur MCP en root. Créez un utilisateur applicatif : `useradd -m -s \u002Fbin\u002Fbash mcp && su - mcp`. Toutes les commandes suivantes s'exécutent sous cet utilisateur.",{"title":62,"body":63},"Cloner et installer le serveur MCP","Choisissez votre implémentation (voir la section « Serveurs MCP open source recommandés » ci-dessous). Pour `@modelcontextprotocol\u002Fserver-filesystem` : `npm install -g @modelcontextprotocol\u002Fserver-filesystem`. Testez en local : `npx @modelcontextprotocol\u002Fserver-filesystem \u002Ftmp\u002Ftest`.",{"title":65,"body":66},"Créer un fichier de service systemd","Créez `\u002Fetc\u002Fsystemd\u002Fsystem\u002Fmcp-server.service` avec les directives `User=mcp`, `ExecStart=\u002Fusr\u002Fbin\u002Fnpx @modelcontextprotocol\u002Fserver-filesystem \u002Fhome\u002Fmcp\u002Fdata`, `Restart=always` et `Environment=NODE_ENV=production`. Activez et démarrez : `systemctl enable --now mcp-server`.",{"title":68,"body":69},"Installer nginx","Nginx joue le rôle de reverse proxy devant votre serveur MCP. `apt install -y nginx`. Créez un vhost dans `\u002Fetc\u002Fnginx\u002Fsites-available\u002Fmcp` avec un `location \u002F` qui fait `proxy_pass http:\u002F\u002F127.0.0.1:3000;` et les en-têtes `proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr;`. Activez : `ln -s \u002Fetc\u002Fnginx\u002Fsites-available\u002Fmcp \u002Fetc\u002Fnginx\u002Fsites-enabled\u002F && nginx -t && systemctl reload nginx`.",{"title":71,"body":72},"Obtenir un certificat TLS avec Certbot","`apt install -y certbot python3-certbot-nginx && certbot --nginx -d votre-domaine.com`. Certbot modifie automatiquement votre vhost nginx pour rediriger HTTP vers HTTPS et installe le renouvellement automatique. Vérifiez le renouvellement : `certbot renew --dry-run`.",{"title":74,"body":75},"Activer l'authentification Bearer","Éditez votre vhost nginx pour exiger un token dans l'en-tête HTTP : `if ($http_authorization != 'Bearer VOTRE_TOKEN_SECRET') { return 401; }`. Générez un token fort avec `openssl rand -hex 32`. Conservez ce token : il sera renseigné dans la configuration de votre client IA.",{"title":77,"body":78},"Configurer le pare-feu","Fermez tous les ports sauf 22, 80 et 443 : `ufw allow 22\u002Ftcp && ufw allow 80\u002Ftcp && ufw allow 443\u002Ftcp && ufw enable`. Le port interne du serveur MCP (3000 par défaut) ne doit jamais être exposé directement.",{"title":80,"body":81},"Tester l'endpoint avec curl","`curl -H 'Authorization: Bearer VOTRE_TOKEN_SECRET' https:\u002F\u002Fvotre-domaine.com\u002Fhealth`. Vous devez obtenir un JSON de statut. Une réponse 401 indique un token incorrect ; une réponse 502 indique que le service systemd ne tourne pas (`systemctl status mcp-server`).",{"title":83,"body":84},"Activer les journaux d'accès nginx","Ajoutez dans votre vhost : `access_log \u002Fvar\u002Flog\u002Fnginx\u002Fmcp_access.log; error_log \u002Fvar\u002Flog\u002Fnginx\u002Fmcp_error.log warn;`. Ces journaux sont indispensables pour détecter des appels non autorisés ou des boucles de requêtes. Tournez-les avec logrotate pour éviter de saturer le disque.",{"type":86,"title":87,"body":88},"tip","Activez systématiquement les journaux d'accès nginx pour votre serveur","Un serveur MCP reçoit des appels machine-to-machine : sans journaux, vous ne détectez ni les tentatives d'accès non autorisées ni les bugs d'intégration. Configurez aussi `log_format` pour enregistrer l'en-tête `Authorization` tronqué (les 8 premiers caractères suffisent à identifier l'origine sans exposer le token complet).",{"type":40,"title":90,"items":91},"Serveurs MCP open source recommandés",[92,93,94,95,96,97,98],"`@modelcontextprotocol\u002Fserver-filesystem` — accès contrôlé au système de fichiers, lecture et écriture de fichiers locaux. Idéal pour donner à un agent accès à un répertoire de travail.","`@modelcontextprotocol\u002Fserver-git` — clone, log, diff, commit via un dépôt local. Permet à un agent de lire l'historique ou de créer des branches.","`@modelcontextprotocol\u002Fserver-fetch` — délègue les requêtes HTTP sortantes au serveur MCP, en contournant les restrictions réseau du client.","`@modelcontextprotocol\u002Fserver-postgres` — connexion à une base PostgreSQL : requêtes SELECT, schéma, describe table. Ne pas exposer en écriture sans audit des permissions.","`@modelcontextprotocol\u002Fserver-playwright` — pilotage d'un navigateur Chromium headless depuis l'agent : screenshot, clic, remplissage de formulaire.","`mcp-server-sqlite` (communauté) — alternative légère pour des bases SQLite locales, sans dépendance PostgreSQL.","`mcp-obsidian` (communauté) — accès à un vault Obsidian, utile pour des bases de connaissance en Markdown.",{"type":36,"title":100,"body":101},"Sécuriser son serveur MCP en production","Un serveur MCP exposé sur Internet est une surface d'attaque. Quatre mesures sont non négociables avant de connecter un client IA à ce serveur en production.\n\n**Authentification par token Bearer.** Renseignez un token unique par client dans l'en-tête `Authorization`. Révoquez immédiatement un token compromis et générez-en un nouveau avec `openssl rand -hex 32`. Ne réutilisez pas le même token pour plusieurs clients : vous perdrez la traçabilité.\n\n**Rate-limiting nginx.** Ajoutez dans votre vhost : `limit_req_zone $binary_remote_addr zone=mcp:10m rate=30r\u002Fm; limit_req zone=mcp burst=10 nodelay;`. Cela limite à 30 requêtes par minute par IP, avec un burst de 10. Ajustez selon votre usage réel.\n\n**HTTPS obligatoire et HSTS.** Après l'installation de Certbot, ajoutez dans le bloc `server` HTTPS : `add_header Strict-Transport-Security \"max-age=31536000\" always;`. Cela interdit aux clients de se connecter en HTTP clair même s'ils le tentent.\n\n**Rotation des tokens.** Planifiez une rotation tous les 90 jours via cron ou votre outil de secrets management. Documentez chaque token actif et son client associé dans un registre privé (pas dans le dépôt de code).",{"type":36,"title":103,"body":104},"Intégrer Claude Desktop et Cursor avec votre serveur MCP","Une fois le serveur en ligne et sécurisé, la connexion depuis un client IA prend moins de deux minutes.\n\n**Claude Desktop.** Ouvrez `~\u002FLibrary\u002FApplication Support\u002FClaude\u002Fclaude_desktop_config.json` (macOS) ou `%APPDATA%\\Claude\\claude_desktop_config.json` (Windows). Ajoutez une entrée dans la clé `mcpServers` :\n\n```json\n{\n  \"mcpServers\": {\n    \"mon-vps\": {\n      \"url\": \"https:\u002F\u002Fvotre-domaine.com\",\n      \"headers\": {\n        \"Authorization\": \"Bearer VOTRE_TOKEN_SECRET\"\n      }\n    }\n  }\n}\n```\n\nRedémarrez Claude Desktop. Le serveur apparaît dans la liste des outils disponibles.\n\n**Cursor.** Dans les paramètres (`Cursor > Settings > MCP`), cliquez sur « Add server », choisissez le type `HTTP`, renseignez l'URL et ajoutez l'en-tête `Authorization`. Cursor injecte automatiquement les outils MCP dans le contexte de chaque conversation.\n\n**Vérification.** Demandez à l'agent de lister les outils disponibles. Si le serveur filesystem est actif, la réponse doit inclure `read_file`, `write_file` et `list_directory`. L'absence de ces outils indique une erreur de configuration — vérifiez les journaux nginx en premier.",{"type":106,"title":107,"rows":108,"headers":134},"comparison","MCP vs API REST vs WebSocket pour agents IA",[109,114,119,124,129],[110,111,112,113],"Modèle de communication","Appels d'outils typés, découverte dynamique du schéma","Requête\u002Fréponse HTTP stateless, contrat OpenAPI","Canal bidirectionnel persistant, événements temps réel",[115,116,117,118],"Intégration native avec les LLM","Native : Claude, Cursor, Cline, Continue lisent le schéma MCP directement","Nécessite un wrapper function-calling ou un plugin","Nécessite un adapter côté agent",[120,121,122,123],"Complexité de déploiement","Faible : un processus Node\u002FPython, un vhost nginx","Faible à moyenne : framework REST standard","Moyenne à élevée : gestion des connexions, reconnexion, état",[125,126,127,128],"Convient pour","Outils locaux, accès fichiers, bases de données, automatisation agent","Intégrations tiers, webhooks, microservices existants","Notifications push, collaboration temps réel, streaming",[130,131,132,133],"Versioning et évolution","Schéma déclaré dans le serveur, auto-découvert par le client","Versioning explicite dans l'URL ou l'en-tête","Protocole applicatif à gérer manuellement",[135,136,137,138],"Critère","MCP","API REST","WebSocket",{"type":36,"title":140,"body":141},"Dépannage : 4 erreurs fréquentes","**1. `MCP transport error: Failed to fetch`**\nCe message apparaît dans Claude Desktop ou Cursor lorsque le client ne parvient pas à joindre l'URL configurée. Causes fréquentes : le service systemd ne tourne pas (`systemctl status mcp-server`), nginx n'est pas rechargé après modification du vhost (`nginx -t && systemctl reload nginx`), ou un pare-feu bloque le port 443 (`ufw status`).\n\n**2. `Connection refused on 127.0.0.1:3000`**\nLe serveur MCP ne s'est pas lancé ou a planté au démarrage. Consultez les journaux systemd : `journalctl -u mcp-server -n 50`. Les causes courantes sont un fichier de configuration JSON invalide, une dépendance npm manquante (`npm install` à relancer dans le répertoire du projet) ou un port déjà occupé (`ss -tlnp | grep 3000`).\n\n**3. `Request timed out after 30000ms`**\nLe serveur répond mais trop lentement. Sur un outil filesystem, cela arrive si le répertoire parcouru est trop large ou si le disque est saturé (`df -h`). Pour un outil postgres, vérifiez que la requête ne fait pas de full scan sur une table sans index. Augmentez le timeout nginx en dernier recours : `proxy_read_timeout 120s;`.\n\n**4. `401 Unauthorized` systématique**\nLe token envoyé par le client ne correspond pas à celui attendu par nginx. Vérifiez l'exactitude du token dans la configuration du client (espace parasite, guillemets inclus par erreur). Si vous venez de renouveler le token côté serveur, redémarrez nginx et rechargez la configuration du client IA.",{"type":36,"title":143,"body":144},"Vers un environnement IA complet sur votre VPS","Un serveur MCP est un composant parmi d'autres d'un environnement IA auto-hébergé. Sur le même VPS, vous pouvez faire tourner un modèle local via Ollama, une base vectorielle comme Qdrant ou Chroma, et un orchestrateur comme n8n ou Flowise — chacun connecté au serveur MCP via des outils dédiés. ServOrbit propose des templates VPS prêts à l'emploi pour ces environnements, installables en quelques clics depuis la Marketplace, sur une infrastructure hébergée en datacenters européens avec IPv4 dédiée et accès root.","Votre serveur MCP mérite une infrastructure fiable","Déployez votre serveur MCP sur un VPS ServOrbit : ressources dédiées, IPv4 fixe, snapshots à la demande. À partir de 99 DH\u002Fmois.","Voir les offres VPS","\u002Fvps-cloud",[150,167,185],{"id":23,"slug":151,"slugs":152,"title":156,"excerpt":157,"readTime":158,"views":23,"isPinned":19,"noindex":19,"publishedAt":159,"updatedAt":160,"category":161,"categories":162,"featuredImage":30,"bgImage":31,"posterImage":164,"relatedSolution":165},"heberger-open-webui",{"fr":151,"en":153,"ar":154,"es":155},"how-to-host-open-webui-on-a-vps","كيفية-استضافة-open-webui-على-خادم-vps","como-alojar-open-webui-en-un-vps","Comment héberger Open WebUI sur un VPS","Déployez Open WebUI sur votre propre VPS : gardez le contrôle de vos données, évitez les coûts des API cloud et accédez à vos LLMs depuis une interface web propre.",9,"2026-06-01T00:00:00+00:00","2026-11-09T20:55:18+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[163],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-open-webui-poster.svg",{"categorySlug":27,"appSlug":166},"open-webui",{"id":168,"slug":169,"slugs":170,"title":174,"excerpt":175,"readTime":176,"views":23,"isPinned":19,"noindex":19,"publishedAt":177,"updatedAt":178,"category":179,"categories":180,"featuredImage":30,"bgImage":31,"posterImage":182,"relatedSolution":183},2,"deployer-dify-vps",{"fr":169,"en":171,"ar":172,"es":173},"deploying-dify-on-a-vps-ai-workflows-under-control","نشر-dify-على-vps-سير-عمل-الذكاء-الاصطناعي-تحت-السيطرة","desplegar-dify-en-un-vps","Déployer Dify sur un VPS : guide de l'installation aux plugins","Installez Dify sur un VPS ServOrbit : prérequis, Docker Compose, plugins offline, limites de l'installation Docker, sauvegarde avant mise à jour, dépannage.",15,"2026-02-11T00:00:00+00:00","2026-10-29T03:10:23+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[181],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fdeployer-dify-vps-poster.svg",{"categorySlug":25,"appSlug":184},"dify",{"id":186,"slug":187,"slugs":188,"title":192,"excerpt":193,"readTime":194,"views":168,"isPinned":19,"noindex":19,"publishedAt":195,"updatedAt":196,"category":197,"categories":198,"featuredImage":30,"bgImage":31,"posterImage":200,"relatedSolution":201},122,"heberger-hermes-agent-vps",{"fr":187,"en":189,"ar":190,"es":191},"host-hermes-agent-on-a-vps","استضافة-hermes-agent-على-خادم-vps","alojar-hermes-agent-en-un-vps","Héberger Hermes Agent sur un VPS","Hébergez Hermes Agent de Nous Research sur votre VPS : l'agent IA open source auto-apprenant qui se souvient de vous. Build Docker, LLM et sauvegarde mémoire.",3,"2026-02-22T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[199],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-hermes-agent-vps-poster.svg",{"categorySlug":27,"appSlug":202},"hermes",true,1794270744929]