mickael62800

McpQualityAutocad

Community mickael62800
Updated

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.py par le chemin absolu vers votre fichier script.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

  1. Verifiez que le chemin vers script.py est correct et absolu
  2. Verifiez que Python est accessible depuis le terminal (python --version)
  3. Verifiez que les dependances sont installees (pip list | grep fastmcp)
  4. 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 :

  1. 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
  2. Filtrage des resultats : Ne retourner que les non-conformites (FAIL) et avertissements (WARN), en excluant les controles passes (PASS) et non applicables (N/A)
  3. 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.

MCP Server · Populars

MCP Server · New

    Swap-API

    Swap API

    MCP Server

    Community Swap-API
    juyterman1000

    Entroly

    Entroly helps AI coding tools like Cursor, Copilot, and Claude Code use the right context from your entire codebase—improving output quality while reducing token usage.

    Community juyterman1000
    unbrowse-ai

    Unbrowse

    Unbrowse — api native browser skill/cli for any agent. Auto-discovers APIs from browser traffic, generates skills on the fly to call APIs directly 100x faster, 80% cheaper locally.

    Community unbrowse-ai
    campfirein

    ByteRover CLI

    ByteRover CLI (brv) - The portable memory layer for autonomous coding agents (formerly Cipher)

    Community campfirein
    cafeTechne

    Antigravity Link (VS Code Extension)

    VS Code extension that bridges Antigravity sessions to mobile for uploads and voice-to-text

    Community cafeTechne