McpQualityAutocad
Serveur MCP (Model Context Protocol) de verification qualite pour les dessins AutoCAD VRD. Ce serveur expose des outils de controle qualite que Claude peut appeler directement pour valider vos fichiers AutoCAD selon la charte graphique VRD.
Prerequis
- Python 3.10+
- AutoCAD installe sur la machine (necessaire pour
pyautocad) - Claude Desktop ou Claude Code pour utiliser le serveur MCP
Installation
1. Cloner le depot
git clone https://github.com/mickael62800/Mcps.git
cd Mcps/McpQualityAutocad
2. Creer un environnement virtuel (recommande)
python -m venv venv
venv\Scripts\activate # Windows
3. Installer les dependances
pip install -r requirements.txt
Configuration MCP avec Claude
Option A : Claude Desktop
Editez le fichier de configuration Claude Desktop :
- Windows :
%APPDATA%\Claude\claude_desktop_config.json - macOS :
~/Library/Application Support/Claude/claude_desktop_config.json
Ajoutez le serveur MCP dans la section mcpServers :
{
"mcpServers": {
"quality-autocad": {
"command": "python",
"args": ["C:/chemin/vers/McpQualityAutocad/script.py"],
"env": {}
}
}
}
Remplacez
C:/chemin/vers/McpQualityAutocad/script.pypar le chemin absolu vers votre fichierscript.py.
Redemarrez Claude Desktop pour que le serveur soit detecte.
Option B : Claude Code (CLI)
Ajoutez le serveur MCP via la commande :
claude mcp add quality-autocad -- python C:/chemin/vers/McpQualityAutocad/script.py
Ou editez manuellement le fichier ~/.claude/settings.json :
{
"mcpServers": {
"quality-autocad": {
"command": "python",
"args": ["C:/chemin/vers/McpQualityAutocad/script.py"]
}
}
}
Utilisation
Une fois le serveur configure, Claude a acces aux outils suivants que vous pouvez invoquer en langage naturel :
Outils disponibles
| Outil | Description |
|---|---|
generate_quality_report |
Genere un rapport qualite complet en executant tous les controles |
check_layer_0_usage |
Verifie qu'aucun objet n'est dessine sur le Layer 0 |
check_layer_naming_convention |
Valide le nommage des calques selon la charte VRD |
check_block_naming_convention |
Valide le nommage des blocs (pas d'espaces) |
check_mnt_tn_file_naming |
Verifie le nommage des fichiers MNT TN |
check_visual_clutter |
Detecte l'encombrement visuel excessif |
check_title_block_completeness |
Verifie la completude du cartouche |
check_consistent_north_reference |
Verifie la coherence de l'orientation Nord |
check_standardized_symbols_blocks |
Verifie l'utilisation de symboles standards |
Exemples de prompts
Peux-tu verifier la qualite de mon dessin AutoCAD ?
Verifie que les calques de mon fichier respectent la charte graphique VRD.
Genere un rapport qualite complet pour mon plan.
Format des donnees attendu
Les outils attendent un dictionnaire drawing_data contenant :
{
"layers_with_objects": ["Voirie-Axe", "Assainissement-Regard"],
"layer_names": ["Voirie-Axe", "Assainissement-Regard", "TN-Courbes"],
"block_names": ["Regard_EU", "Bouche_Incendie"],
"file_name": "MOA-12.34.5678-PHASE1-MonProjet-MNT_TN.dwg",
"has_excessive_clutter": false,
"title_block": {
"title": "Plan de masse",
"scale": "1/200",
"date": "2026-04-03",
"version": "A",
"author": "M. Verdin"
},
"north_reference_inconsistent": false,
"non_standard_assets_used": false
}
Statuts de retour
Chaque controle retourne un statut :
- PASS : Le controle est conforme
- FAIL : Non-conformite detectee
- WARN : Avertissement (verification manuelle recommandee)
- N/A : Controle non applicable
Structure du projet
McpQualityAutocad/
├── script.py # Point d'entree du serveur MCP
├── requirements.txt # Dependances Python
├── README.md
├── 03_production_graphique.md # Guide de production graphique VRD
├── 08_charte_graphique_vrd.md # Charte graphique VRD (reference)
└── tools/ # Modules de controle qualite
├── autocad_quality_report.py
├── check_layer_0_usage.py
├── check_layer_naming_convention.py
├── check_block_naming_convention.py
├── check_mnt_tn_file_naming.py
├── check_visual_clutter.py
├── check_title_block_completeness.py
├── check_consistent_north_reference.py
└── check_standardized_symbols_blocks.py
Depannage
Le serveur n'apparait pas dans Claude
- Verifiez que le chemin vers
script.pyest correct et absolu - Verifiez que Python est accessible depuis le terminal (
python --version) - Verifiez que les dependances sont installees (
pip list | grep fastmcp) - Redemarrez Claude Desktop / Claude Code
Erreur "pyautocad"
pyautocad necessite qu'AutoCAD soit installe sur la machine. Si vous n'avez pas AutoCAD, les outils fonctionneront quand meme avec des donnees fournies manuellement dans drawing_data.
Tester le serveur manuellement
python script.py
Le serveur demarre et attend les connexions MCP sur stdin/stdout. Vous devriez voir MCP server started... dans stderr.
Ameliorations prevues
Filtrage des resultats cote serveur
Probleme actuel : Le systeme envoie l'integralite des donnees du dessin AutoCAD sous forme d'un JSON volumineux a Claude, qui doit ensuite analyser et traiter toutes ces donnees. Cela consomme beaucoup de tokens et ralentit le traitement, surtout sur des fichiers complexes avec de nombreux calques, blocs et objets.
Objectif : Deplacer la logique de filtrage cote serveur MCP afin de ne transmettre a Claude que les resultats pertinents : les WARN et FAIL uniquement.
Approche envisagee :
- Pre-traitement dans le serveur : Executer les controles qualite directement dans le serveur MCP a partir des donnees brutes AutoCAD, au lieu de tout deleguer a Claude
- Filtrage des resultats : Ne retourner que les non-conformites (FAIL) et avertissements (WARN), en excluant les controles passes (PASS) et non applicables (N/A)
- Resume synthetique : Fournir un resume compact (ex: "6/8 controles OK, 1 FAIL, 1 WARN") avec le detail uniquement pour les problemes detectes
Benefices attendus :
- Reduction significative du volume de tokens consommes
- Reponses plus rapides de Claude
- Claude se concentre sur l'interpretation et les recommandations plutot que sur l'analyse brute des donnees
Correction automatique via MCP complementaires
En combinant ce serveur de controle qualite avec d'autres serveurs MCP capables d'editer les fichiers AutoCAD, Claude pourrait non seulement detecter les erreurs mais aussi les corriger ou les signaler directement dans le plan :
- Annotation des erreurs par nuages de revision : Placer automatiquement des nuages de revision dans un calque dedie (ex:
QC-Erreurs) pour signaler visuellement les anomalies detectees : lignes superposees sur un meme calque, trames incorrectes, objets mal places, etc. - Correction orthographique des calques : Detecter et corriger automatiquement les fautes d'orthographe dans les noms de calques (ex:
Asainissement->Assainissement) - Detection des doublons geometriques : Identifier les lignes, polylignes ou objets superposes sur un meme calque et proposer leur suppression
- Ajout de trames de signalement : Appliquer des hachures ou trames de couleur sur les zones problematiques pour faciliter la relecture
Principe : Ce serveur MCP reste dedie a l'analyse et au diagnostic. Les actions correctives seraient assurees par un ou plusieurs serveurs MCP complementaires disposant des droits d'ecriture sur les fichiers DWG, permettant une chaine complete : detection -> signalement visuel -> correction.