À propos du projet
mcp-vmanomaly est une implémentation open-source d'un serveur Model Context Protocol (MCP) qui fait le pont entre les assistants IA (tels que Claude, Cursor, VS Code Copilot, et autres) et VictoriaMetrics Anomaly Detection (vmanomaly). Il expose un ensemble d'outils permettant aux agents IA d'interagir avec une instance vmanomaly en cours d'exécution via son API REST, couvrant la surveillance de la santé, la découverte et la validation de modèles, la génération de configurations YAML, la génération de règles VMAlert à partir de métriques de scores d'anomalie, le profilage de séries temporelles, les tâches d'autotune partagées, et la recherche documentaire en texte intégral avec correspondance floue.
Le serveur est livré avec une documentation vmanomaly intégrée et à jour, afin que la recherche documentaire fonctionne hors ligne sans accès réseau. Il prend en charge trois modes de transport : stdio (par défaut, pour une utilisation locale mono-utilisateur), HTTP Streamable (exposant /mcp), et le transport SSE hérité (exposant /sse et /message). La configuration est entièrement pilotée par des variables d'environnement, y compris l'URL du point de terminaison vmanomaly, le jeton porteur (ou fichier de jeton pour les secrets montés), les en-têtes HTTP personnalisés, le délai d'attente des requêtes, la liste d'autorisation/refus d'outils, les bascules de ressources, l'intervalle de battement de cœur, et le niveau/fichier de journal. Le serveur expose également les points de terminaison /metrics au format Prometheus, /health/liveness, et /health/readiness pour la surveillance opérationnelle.
Les options d'installation incluent l'installation via Go, les binaires précompilés depuis les versions GitHub (avec vérification de somme de contrôle et d'attestation de provenance de build), les images Docker depuis ghcr.io, et la compilation à partir des sources. Des instructions de configuration client sont fournies pour Cursor, Claude Desktop, Claude Code, Visual Studio Code, Zed, les IDE JetBrains, et Windsurf, chacune avec des extraits de configuration JSON. Une configuration client basée sur Docker est également incluse pour les environnements où l'exécution d'un binaire local est impraticable.
Les recommandations de sécurité sont étendues : le serveur transmet les requêtes en utilisant un jeton porteur à l'échelle du processus et n'implémente pas d'identité par utilisateur ni d'isolation de locataire. La documentation recommande stdio pour une utilisation locale mono-utilisateur, des proxys inverses TLS authentifiés (tels que vmauth) pour l'accès HTTP/SSE distant, des identifiants vmanomaly à privilèges minimaux, et l'application de listes d'autorisation/refus d'outils. Elle avertit explicitement contre le placement de plusieurs domaines non fiables derrière une seule identifiant MCP statique et conseille de traiter une installation logique vmanomaly comme un domaine de confiance unique.
L'ensemble d'outils est organisé en catégories : Santé et Informations (4 outils), Configuration de modèles (4 outils), Validation de configuration (1 outil), Recherche documentaire (1 outil), Vérification de compatibilité (1 outil), Génération de règles d'alerte (1 outil), et Analyse et Autotune (4 outils). Les tâches d'autotune acceptent des paramètres de budget d'optimisation (essais, délai d'attente, paramètres Optuna avancés) et renvoient des recommandations pour des configurations de modèles prêtes pour la production sur des séries temporelles échantillonnées. Le serveur nécessite vmanomaly 1.28.3+ pour l'ensemble d'outils de base, 1.30.0+ pour les caractéristiques de séries temporelles et l'autotune partagé basé sur des tâches, et 1.30.5+ pour l'autotune partagé par requête nommée et les suggestions de politique de requête dans VMUI. Go 1.24+ est requis pour compiler à partir des sources.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.