Skip to main content
Glama
IDRIMalek

Smart-MCP

by IDRIMalek

Smart MCP Pipeline

🎯 Le défi

Utiliser un petit modèle local (9B) sur un GPU grand public (RTX 3060 12Go) pour générer automatiquement des diagrammes draw.io complexes — tableaux, kanbans, GANTT, formes — une tâche où même de gros modèles cloud échouent.

Related MCP server: Excalidraw MCP Server

🧠 L'approche

  • RAG (ChromaDB) : 26+ patterns de diagrammes stockés et réinjectés dans le prompt

  • Classification macro : FORME/TABLEAU/KANBAN/GANTT/AGENDA/TEXTE → spécialisation du prompt

  • Modèle local : qwen3.5:9b-hermes (65536 tokens contexte, entièrement sur GPU)

  • Coût : 0€ (pas d'API cloud)

📊 Dashboard temps réel

🚀 http://192.168.1.100:8050
  • Auto-refresh 3s avec tendances et graphiques

  • Toggle AUTO/MANUEL : mode auto = batchs de tests, mode manuel = exécution live du pipeline

  • Filtres : source, macro, status, modèle — tous les résultats historiques visibles

  • Diagrammes persistants : liens cliquables → ouvrir direct dans draw.io (GitHub)

  • Vue ChromaDB : patterns, types, stats en haut du dashboard

📐 Diagramme persistant F1-F17

Le diagramme complet de l'architecture Smart MCP est versionné dans le repo :

  • 13 pages : Vue Macro, Pipeline, Infrastructure, Workflows, Benchmarks, Carte Systémique, Architecture LLM, Optimisation, Kanban, Test, Banc de Test (F16), Amélioration Continue (F17)

🧪 Résultats

Métrique

Smart MCP (9B local)

Coût

0€ / mois

Tests CI

214 ✅ local / 208 ✅ CI

Tableaux

✅ 100%

Kanbans

✅ 90%

Formes

✅ 100%

Temps moyen

5-15s

Contexte

65536 tokens

VRAM

6.6 GB

🏗 Architecture

User Prompt → Classifier (LLM) → RAG ChromaDB (26 patterns)
                                    ↓
                              LLM local (9B) → XML draw.io → Dashboard
                                    ↓
                              Test Runner (214 tests) → CI/CD GitHub Actions

🚀 Démarrage rapide

# 1. Installer les dépendances
pip install -r requirements.txt

# 2. Seeder ChromaDB
python -c "from brain.seed_patterns import seed; from brain.shape_templates import seed_shapes; seed(); seed_shapes()"

# 3. Lancer le dashboard
python dashboard/app.py     # → http://0.0.0.0:8050

# 4. Lancer les tests (214)
python ci_tests.py          # → ci_results.json

# 5. Mode CI (sans ChromaDB réelle)
CI=true CI_CHROMA_PATH=/tmp/chroma python ci_tests.py  # → 208 tests

🔬 CI/CD (GitHub Actions)

  • Workflow : .github/workflows/ci.yml

  • Jobs : lint (ruff) → test (208 tests sans LLM, seed ChromaDB dynamique)

  • Déclenché : push/PR vers main

📁 Structure

Smart-MCP/
├── brain/                  # RAG, seed patterns, templates XML
│   ├── rag.py             # ChromaDB RAGBrain
│   ├── seed_patterns.py   # Seed 26 patterns
│   └── shape_templates.py # SHAPE_PATTERNS (15 formes + 5 architectures)
├── dashboard/              # Dash dashboard + test runner
│   ├── app.py             # App Dash (956 lignes)
│   └── test_runner.py     # Runner pipelines
├── diagrams/               # Diagrammes .drawio persistants (13 pages)
├── models/                 # LLM client
│   └── llm_client.py      # LLMClient avec classify_intent
├── mcp_client/             # MCP draw.io client
│   └── drawio.py
├── skills/                 # Skills Hermes pour agents
│   ├── smart-mcp-pipeline.md
│   └── drawio-mcp-integration.md
├── .github/workflows/      # CI/CD
│   └── ci.yml             # Lint + 208 tests
├── tests/                  # Tests unitaires
├── smart_mcp.py            # Pipeline principal
├── smart_mcp_server.py     # Serveur MCP
├── ci_tests.py             # Suite >200 tests (8 sections A-H)
├── SOUL.md                 # Macro-règles de classification
└── README.md               # Ce fichier

🧠 ChromaDB Visualisation

  • 2 collections : diagram_patterns (patterns XML) + feedback_history

  • 26 patterns : 5 architectures + 15 formes + 4 couleurs + 1 test + 1 généré

  • Chemin : ~/.hermes/profiles/default2/home/.smart-mcp/brain/chroma.sqlite3

🔑 Points clés

  • Classification automatique via LLM local

  • RAG avec ChromaDB (26+ patterns)

  • Dashboard temps réel avec mode auto/manuel

  • CI/CD GitHub Actions (208 tests sans LLM)

  • 214 tests local / 208 CI — 100% verts

  • Diagramme persistant F1-F17 lié au dashboard

  • Mode manuel avec exécution live du pipeline

  • Visualisation ChromaDB (Neo4J / graphe)

  • Mode auto-apprentissage

Related MCP Connectors

Related MCP Servers