# Ops-GPT MCP Ecosystem 🚀 Ce dépôt contient une infrastructure de diagnostic et de base de connaissances SRE (Site Reliability Engineering) basée sur le protocole **Model Context Protocol (MCP)**. L'objectif est de permettre à un orchestrateur LLM d'automatiser le diagnostic d'incidents système et la recherche de solutions passées. --- ## 🏗️ Architecture du Projet Le projet est composé de trois services principaux interconnectés : 1. **`ops-gpt-mcp` (Diagnostic Engine)** : * Simulateur d'outils SRE (Inventory, Sockets, Metrics, Configs). * Interface directe avec les fichiers de données brutes des hôtes cibles. * Propulsé par `FastMCP`. 2. **`chroma-mcp` (Knowledge Base)** : * Assistant de gestion d'historique d'incidents. * [cite_start]Utilise ChromaDB pour la recherche vectorielle de solutions techniques. [cite: 2] * [cite_start]Propulsé par `FastMCP`. [cite: 2] 3. **`chroma-db`** : * [cite_start]Base de données vectorielle (ChromaDB) servant de backend au service `chroma-mcp`. [cite: 2] --- ## 🛠️ Catalogue des Outils (Tools) ### Diagnostics Système (`ops-gpt-mcp`) * **`list_services_with_config`** : Identifie les middlewares actifs avec configurations agrégées. * **`get_rpm_inventory`** : Audit complet des paquets RPM et version du noyau. * **`get_network_sockets`** : État détaillé des sockets d'écoute (`ss -ntulop`). * **`get_system_metrics`** : Extraction des métriques CPU/RAM/IO (VictoriaMetrics). * **`get_live_config`** : Lecture du contenu brut des fichiers de configuration spécifiques. ### [cite_start]Base de Connaissances (`chroma-mcp`) [cite: 2] * [cite_start]**`find_incident_solution`** : Recherche vectorielle de solutions basées sur une erreur ou un log. [cite: 2] * [cite_start]**`add_incident_report`** : Archivage d'un nouvel incident résolu dans la base. [cite: 2] * [cite_start]**`list_all_incidents`** : Consultation de l'historique des entrées de la base. [cite: 2] --- ## 🚀 Déploiement ### Prérequis * Docker et Docker Compose. * Structure de données attendue dans `./data/[hostname]/`. ### Lancement de la stack Pour démarrer l'ensemble des services : ```bash docker compose up -d --build ``` ### Vérification des serveurs Les serveurs exposent des interfaces SSE sur les ports suivants : * **Ops-GPT MCP** : `http://localhost:8081/sse` * **Chroma MCP** : `http://localhost:8080/sse` --- ## 📁 Structure des Données de Diagnostic Le simulateur `ops-gpt-mcp` s'appuie sur une structure de fichiers spécifique pour fonctionner : ```text ./data/ └── srv-rhel-prod-01/ ├── rpm_inventory.txt ├── network_ss.txt ├── metrics_vm.txt └── nginx_conf.txt ``` --- ## 🔧 Technologies utilisées * [cite_start]**Langage** : Python 3.11-slim [cite: 1] * [cite_start]**Protocol** : Model Context Protocol (MCP) [cite: 2] * [cite_start]**Framework** : FastMCP [cite: 2] * [cite_start]**Database** : ChromaDB (Vector Store) [cite: 2] * [cite_start]**Server** : Uvicorn (Transport SSE) [cite: 3] --- ## 📝 Configuration Git Toute recherche ou stockage dans la base de données doit se faire en langue anglaise pour correspondre à la documentation technique majoritaire. Les solutions sont système-based afin de prioriser la restauration de service sans perte de données.