Files
mcp_test/README.md
Jacquin Antoine d4bd89b33b maj du readme
2026-02-21 23:58:43 +01:00

86 lines
3.3 KiB
Markdown

# 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.