QGIS MCP, publié par Nicolas Karasiak, connecte QGIS Desktop à des assistants IA via le Model Context Protocol. Le dépôt nkarasiak/qgis-mcp le présente comme une intégration QGIS par serveur FastMCP, socket TCP et plugin QGIS. Lors de la vérification GitHub du 26 août 2026, le dépôt était sous licence GPL-2.0, comptait 257 étoiles et 68 forks, et le pyproject indiquait qgis-mcp 0.11.0 avec Python 3.12 ou plus côté serveur.
Pour Educasium, QGIS MCP est le connecteur SIG de référence dans cette série. Mapbox MCP est plus rapide pour une carte d'accès ou un itinéraire ; QGIS MCP est plus adapté quand l'utilisateur doit manipuler des couches, inspecter des entités, lancer des algorithmes de traitement, produire des rendus et travailler dans un vrai projet QGIS.
Sommaire
- Ce que fait QGIS MCP
- Architecture client, serveur et plugin
- Installation et vérification
- Outils SIG exposés
- Versions Python et compatibilité QGIS
- Comparaison avec Mapbox et EnergyPlus
- Sécurité, limites et production
- Position Educasium
Ce que fait QGIS MCP
À retenir : QGIS MCP donne à un assistant IA un accès contrôlé à un projet QGIS ouvert, avec couches, entités, style, traitements, rendus et mises en page. Le README annonce 118 outils, compatibles avec QGIS 3.28 à 4.x.
Un pont vers le SIG de bureau
QGIS est un logiciel SIG de bureau open source. QGIS MCP ne cherche pas à remplacer l'interface graphique ; il ajoute une couche conversationnelle et programmable au-dessus du projet. Un assistant peut aider à lister les couches, inspecter une table attributaire, modifier des entités, lancer un algorithme de traitement ou générer une sortie visuelle.
Ce positionnement est important. Dans un SIG, le contexte projet compte : système de coordonnées, sources de données, styles, chemins de fichiers, couches temporaires, filtres et sélections. QGIS MCP donne accès à ce contexte vivant, alors qu'un outil cartographique API-first comme Mapbox MCP travaille surtout à partir de requêtes et de coordonnées.
Ce qu'il ne faut pas promettre
Le README donne une couverture très large, mais un article sérieux ne doit pas la transformer en garantie de remplacement d'un géomaticien. Les résultats restent dépendants des couches chargées, de leur qualité, des projections, des droits d'accès aux fichiers et des plugins installés dans QGIS.
Pour une décision territoriale ou réglementaire, l'assistant peut accélérer l'exploration, mais il ne valide pas seul la donnée. Les couches officielles, la méthodologie et les sorties cartographiques doivent être relues.
Architecture client, serveur et plugin
À retenir : QGIS MCP fonctionne avec trois pièces : client IA, serveur MCP FastMCP et plugin QGIS communiquant par socket TCP. Le README schématise un flux Claude ou autre client, serveur MCP, socket TCP, plugin QGIS avec QTimer, puis API PyQGIS.
Pourquoi cette architecture
QGIS n'est pas simplement une API web. Le plugin s'exécute dans QGIS, donc il peut accéder au projet ouvert et aux fonctions PyQGIS. Le serveur MCP sert d'interface standard pour les clients IA. La communication socket permet de séparer le client MCP de l'application QGIS tout en gardant l'action dans le processus contrôlé par QGIS.
Cette séparation a un avantage pratique : le client IA peut être Claude Desktop, Claude Code, Codex CLI, VS Code, Cursor, Gemini CLI, Qwen, Kimi, LM Studio ou d'autres clients listés dans le README. Le même plugin QGIS peut alors être piloté par différents environnements, sous réserve de configuration correcte.
Conséquence pour l'utilisateur
L'utilisateur doit garder QGIS ouvert et démarrer le serveur du plugin. Si QGIS est fermé, si le plugin n'est pas lancé ou si la socket n'est pas accessible, le serveur MCP ne peut pas agir sur le projet. Cette contrainte est normale pour un pont vers une application de bureau.
Dans une formation, il faut donc montrer l'état du système : QGIS lancé, projet chargé, dock QGIS MCP visible, serveur démarré, client MCP connecté. Sinon les erreurs ressemblent à des problèmes d'IA alors qu'elles viennent souvent du cycle de vie applicatif.
Installation et vérification
À retenir : l'installation se vérifie par un outil ping qui doit retourner un pong JSON. Cette étape simple évite de commencer un atelier avec un pont QGIS silencieusement cassé.
Installation côté QGIS
Le README indique une installation par le gestionnaire de plugins QGIS : ouvrir Plugins, Manage and Install Plugins, chercher QGIS MCP, installer, redémarrer QGIS si nécessaire, puis démarrer le serveur depuis le dock widget. Cette partie se fait dans QGIS et dépend de la version locale.
Le côté client passe par uvx depuis le dépôt GitHub, avec le script qgis-mcp-server défini dans pyproject.toml. Le pyproject vérifié déclare le package qgis-mcp en version 0.11.0, Python >=3.12, mcp[cli] >=1.20.0,<3 et pydantic >=2.11,<3.
Vérification minimale
La vérification documentée est le tool ping, qui doit retourner une réponse de type {"pong": true}. C'est un bon contrôle parce qu'il valide à la fois le client MCP, le serveur Python et la communication avec QGIS.
Après ping, le contrôle suivant devrait être non destructif : lister les couches du projet, lire les métadonnées du projet ou inspecter l'étendue de carte. Les premières commandes d'écriture, comme modifier des entités ou styles, devraient être testées sur une copie du projet.
Outils SIG exposés
À retenir : la couverture est large et touche les couches, entités, traitements, rendu, style, projet, connexions et mises en page. Le nombre annoncé de 118 outils doit être présenté comme l'ordre de grandeur de la surface, pas comme une promesse de maîtriser chaque plugin QGIS.
Familles repérées dans le code
La vérification du dépôt a repéré des handlers côté plugin pour canvas, connections, features, layers, layout, processing, project, style et system. Côté serveur, les fichiers src/qgis_mcp/client.py, compound_tools.py, helpers.py, protocol.py et server.py structurent l'interface MCP.
Concrètement, cela correspond à des usages comme ouvrir et décrire un projet, manipuler des couches, lire et modifier des entités, lancer des traitements QGIS, travailler les styles, produire des rendus, gérer des mises en page et interroger l'environnement. La force du projet vient de son ancrage dans QGIS : il travaille avec les données déjà présentes dans le projet.
Cas d'usage pédagogiques
Un atelier utile peut partir d'un projet simple : une couche de parcelles, une couche d'équipements et une couche de transports. L'assistant liste les couches, filtre une zone, calcule une intersection, applique un style, produit une carte, puis explique les hypothèses.
La valeur n'est pas seulement dans l'automatisation. Elle est dans la traçabilité : l'étudiant voit quelle couche est utilisée, quel algorithme est lancé et quel résultat est créé. Le formateur peut alors distinguer gain de temps, erreur de donnée et erreur de raisonnement.
Versions Python et compatibilité QGIS
À retenir : le serveur exige Python 3.12+, mais le plugin doit rester compatible avec l'interpréteur Python embarqué de QGIS, parfois encore en 3.9. Cette nuance est explicitement documentée dans les commentaires de pyproject.toml.
Une contrainte à expliquer
Le pyproject déclare requires-python >=3.12 pour le package serveur. Mais ses règles Ruff notent que le plugin s'exécute dans l'interpréteur fourni par QGIS, et que des versions QGIS postérieures au minimum 3.28 peuvent encore embarquer Python 3.9. Les commentaires citent QGIS 3.42 avec Python 3.9.
Cela signifie qu'il y a deux environnements à surveiller : le Python qui lance le serveur MCP et le Python embarqué par QGIS pour le plugin. Un article qui dit seulement Python 3.12+ est incomplet. Un article qui dit seulement QGIS 3.28 à 4.x est incomplet aussi.
Bon réflexe d'installation
Avant une formation ou une intégration, il faut noter la version de QGIS, la version Python embarquée, la version du plugin, la version du serveur et le client MCP utilisé. Si une commande échoue, cette matrice permet de savoir si le problème vient du serveur, du plugin, de QGIS ou du projet ouvert.
Ce réflexe est particulièrement important sur Windows, où les chemins, profils utilisateur, environnements uv et installations QGIS peuvent varier fortement entre machines.
Comparaison avec Mapbox et EnergyPlus
À retenir : QGIS MCP est le bon choix quand la donnée géographique existe déjà sous forme de couches, fichiers ou projet SIG. Mapbox MCP est plus direct pour les API de localisation, EnergyPlus MCP travaille sur les modèles énergétiques.
| Besoin | QGIS MCP | Mapbox MCP | EnergyPlus MCP |
|---|---|---|---|
| Travailler dans un projet SIG | Très adapté | Limité | Hors périmètre |
| Lister et modifier des couches | Très adapté | Non central | Hors périmètre |
| Géocoder et calculer un itinéraire rapide | Possible selon données/outils | Très adapté | Hors périmètre |
| Produire une simulation bâtiment | Hors périmètre | Hors périmètre | Très adapté |
| Former à la méthode SIG | Très adapté | Bon complément | Complément énergétique |
Chaîne de travail cohérente
Une chaîne réaliste peut commencer avec Mapbox MCP pour localiser un site et produire une première hypothèse d'accès. QGIS MCP prend ensuite la main pour croiser des couches officielles, zonages, contraintes et équipements. EnergyPlus MCP intervient seulement si un modèle énergétique du bâtiment doit être chargé, modifié ou simulé.
Cette séparation évite une erreur fréquente : choisir l'outil le plus spectaculaire plutôt que l'outil adapté à la donnée. QGIS MCP est moins immédiat qu'une carte API, mais il est plus sérieux pour un vrai dossier SIG.
Sécurité, limites et production
À retenir : un assistant qui contrôle QGIS peut modifier des données et des projets ; il faut travailler sur copies, journaliser les actions et relire les sorties. La puissance du SIG augmente aussi le risque d'erreur silencieuse.
Risques principaux
Les risques ne sont pas seulement informatiques. Une mauvaise projection, une couche obsolète, un filtre mal compris ou une modification d'entités sur le mauvais fichier peut produire un résultat faux mais crédible. Quand l'assistant lance des traitements, il faut savoir où les sorties sont écrites et quelles couches temporaires ont été créées.
Les projets clients doivent donc être ouverts en copie ou sous contrôle de version quand c'est possible. Les actions destructrices doivent être séparées des actions d'inspection. Le premier usage d'un nouvel outil doit être non destructif.
Production et gouvernance
Pour une équipe professionnelle, QGIS MCP doit être encadré par des profils de projet, des conventions de nommage, des dossiers de sortie, et une validation humaine des cartes finales. L'assistant peut produire une première carte, mais la publication d'un plan, d'une analyse réglementaire ou d'une carte client reste une responsabilité métier.
Cette limite doit être claire sur Educasium. Le lecteur doit sortir avec une méthode : vérifier la connexion, inspecter la donnée, lancer un traitement, contrôler le résultat, documenter les hypothèses.
Position Educasium
À retenir : Educasium doit présenter QGIS MCP comme un outil de méthode SIG augmentée, pas comme une magie conversationnelle. Il est utile précisément parce qu'il force à parler des couches, des traitements et des preuves.
Ce qu'il faut enseigner
Le meilleur angle est un exercice guidé : charger un projet QGIS, lister les couches, poser une question territoriale, demander à l'assistant de choisir un traitement, exécuter, puis vérifier dans QGIS. L'apprenant doit voir le résultat mais aussi comprendre la chaîne de données.
Cette pédagogie correspond bien à la promesse Educasium : apprendre à travailler avec l'IA dans un logiciel professionnel, sans perdre le contrôle sur la méthode. QGIS MCP est une bonne page de ressource parce qu'il illustre à la fois le potentiel des MCP et la nécessité d'une validation experte.
Suite logique
La suite naturelle relie QGIS MCP à Mapbox MCP pour les cartes rapides et à EnergyPlus MCP pour les simulations bâtiment. Les couches officielles, les systèmes de coordonnées et les hypothèses de traitement restent aussi importants que la réponse de l'assistant.