À propos du projet

Le serveur MCP Grafana est un serveur Model Context Protocol (MCP) qui connecte des clients MCP tels que Claude Desktop ou Cursor à une instance Grafana et à son écosystème environnant. Il nécessite Grafana 9.0 ou une version ultérieure pour une fonctionnalité complète, car certaines opérations de sources de données dépendent de points de terminaison API plus récents. La configuration se fait en ajoutant une entrée à la configuration du client MCP, généralement en exécutant le serveur via uvx avec GRAFANA_URL et un jeton de compte de service dans l'environnement. Les options d'installation Docker, binaire et Helm sont également documentées. Les capacités sont regroupées en catégories d'outils, et la liste des outils est configurable afin que les fonctionnalités inutilisées puissent être désactivées pour économiser l'espace de fenêtre de contexte. Les catégories peuvent être désactivées avec des indicateurs tels que --disable-oncall ou --disable-navigation, et plusieurs catégories sont désactivées par défaut et doivent être activées via --enabled-tools. Les outils de tableau de bord couvrent la recherche par titre, UID de dossier, étiquette ou statut étoilé ; la récupération d'un tableau de bord par UID ou d'une version enregistrée ; la liste des versions ; l'obtention d'un résumé compact ; l'extraction de parties via JSONPath ; la création, la mise à jour et le correctif de tableaux de bord ; et la lecture des requêtes de panneau avec informations sur la source de données. Le README note que le JSON complet du tableau de bord peut consommer un espace de fenêtre de contexte significatif et suggère plutôt les outils de résumé ou JSONPath. Le support des sources de données et des requêtes comprend la liste et l'inspection des sources de données (Prometheus, Loki, ClickHouse, CloudWatch, Elasticsearch, OpenSearch, Snowflake, Athena), les requêtes instantanées et de plage PromQL ainsi que les métadonnées de métriques et les percentiles d'histogramme, les requêtes de journaux et de métriques LogQL avec découverte d'étiquettes et de modèles, InfluxDB via InfluxQL ou Flux, des outils SQL unifiés pour ClickHouse, Snowflake, Athena, MySQL, PostgreSQL et MSSQL avec substitution de macros et application de limites, les espaces de noms, métriques et dimensions CloudWatch, les requêtes de rendu Graphite et la découverte de métriques, la recherche Elasticsearch/OpenSearch et Quickwit, et la récupération de requêtes d'exemple. Les requêtes SQL passent par les plugins de sources de données Grafana, donc les identifiants sont gérés par la configuration de la source de données plutôt que par le serveur MCP. Les domaines opérationnels incluent les alertes (liste, création, mise à jour, suppression de règles ; politiques de notification, points de contact, intervalles de temps), Grafana Incident (recherche, création, mise à jour, champs personnalisés), les enquêtes Sift (liste, détail, analyses, détection de modèles d'erreur et de requêtes lentes), Grafana OnCall (horaires, quarts, utilisateurs en service actuels, équipes, utilisateurs, groupes d'alertes), les annotations (requête, création, mise à jour, correctif, suppression, étiquettes), les instantanés (liste, obtention, création, suppression), le rendu de panneaux ou de tableaux de bord en PNG via le rendu d'images Grafana, la liste des référentiels de provisionnement et la validation à sec, la génération de liens profonds pour les tableaux de bord, les panneaux et Explore, et la recherche d'identité utilisateur pour les requêtes multi-organisations. Les outils d'observabilité des agents uniquement pour Grafana Cloud couvrent la liste et la recherche de conversations LLM, les détails de conversation et de génération avec scores d'évaluation, un catalogue d'agents avec historique de versions et estimations de jetons, des évaluateurs et modèles, des règles et gardes d'évaluation, des conversations et collections enregistrées, des suites de tests et des expériences hors ligne. Certains d'entre eux incluent des opérations d'écriture soumises à une autorisation spécifique. Les outils Grafana Assistant envoient des invites en langage naturel à l'assistant et prennent en charge la poursuite d'une conversation via un ID de contexte renvoyé ; ce sont des outils d'écriture et sont ignorés lorsque --disable-write est défini. Le contrôle d'accès est basé sur RBAC : chaque outil nécessite des autorisations et des portées particulières, et le README conseille de créer un compte de service avec les octrois nécessaires, notant qu'un rôle d'éditeur intégré est une alternative plus simple mais moins granulaire. Les outils Incident et Sift utilisent des rôles de base Viewer/Editor au lieu d'autorisations fines. Le README inclut un tableau d'outils mappant les noms d'outils aux catégories, aux autorisations RBAC requises et aux portées requises.