Le projet GhostDesk, développé par Yoann Vanitou, propose un serveur MCP (Model Context Protocol) open source qui offre à un agent d'intelligence artificielle un bureau Linux complet fonctionnant dans un conteneur Docker, comme l'a détaillé son créateur. L'agent peut voir l'écran via des captures d'écran, puis envoyer des commandes souris et clavier, interagissant avec l'interface graphique comme le ferait un humain.

Le principe repose sur un conteneur Docker qui embarque un bureau Linux minimal, Firefox, un terminal, un éditeur de texte, une calculatrice et un serveur MCP en frontal. L'agent IA se connecte via http://localhost:3000/mcp, demande une capture d'écran, identifie les éléments affichés, puis envoie des commandes (click, drag, scroll, type, key press, copy/paste, launch app) parmi les douze outils exposés. L'utilisateur peut observer l'agent travailler en direct depuis son navigateur sur le port 6080, via noVNC.

Automatisation au-delà du navigateur

Contrairement à Playwright et autres outils limités au navigateur web, GhostDesk peut interagir avec n'importe quelle fenêtre d'application. Un workflow automatisé peut ainsi combiner plusieurs applications : un ERP legacy, LibreOffice, un IDE, un client mail, etc. L'agent interprète l'écran directement à partir des captures, évitant de recourir à des sélecteurs CSS ou à du code customisé.

Confidentialité et modèles locaux

Le serveur est conçu pour fonctionner avec des modèles locaux comme Qwen sur une workstation GPU. Aucune donnée ne sort du réseau de l'utilisateur, et il n'y a pas de coût d'API, selon le développeur. Des cas d'usage sensibles (données de santé, comptabilité, systèmes d'information internes) deviennent ainsi envisageables. Claude et ChatGPT peuvent également être utilisés, mais avec des compromis sur la latence et la confidentialité.

Déploiement et licence

Le déploiement se fait par une commande Docker unique : docker run -d --shm-size 2g -p 3000:3000 -p 6080:6080 ghcr.io/yv17labs/ghostdesk:latest. L'utilisateur doit ensuite brancher son client MCP sur localhost:3000/mcp et ouvrir localhost:6080 dans un onglet pour observer l'agent. Pour la production, un mode TLS avec bearer token est disponible pour chiffrer le transport. Les applications pré-installées sont limitées, mais il est possible de créer sa propre image avec d'autres logiciels.

Le projet est jeune et son développement repose quasi uniquement sur Yoann Vanitou, qui pourrait être ouvert à des contributions. La licence est non-concurrentielle : elle interdit l'usage commercial rival pendant une période fixée, avant une bascule vers une licence ouverte classique.