Smart-MCP
Generates complex draw.io diagrams (tables, kanbans, GANTT) using a local 9B LLM with RAG, featuring a real-time dashboard and CI/CD pipeline.
README
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.
🧠 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)
- Liens permanents (après push GitHub) :
🧪 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
- [x] Classification automatique via LLM local
- [x] RAG avec ChromaDB (26+ patterns)
- [x] Dashboard temps réel avec mode auto/manuel
- [x] CI/CD GitHub Actions (208 tests sans LLM)
- [x] 214 tests local / 208 CI — 100% verts
- [x] Diagramme persistant F1-F17 lié au dashboard
- [x] Mode manuel avec exécution live du pipeline
- [ ] Visualisation ChromaDB (Neo4J / graphe)
- [ ] Mode auto-apprentissage
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.