Grafana MCP Server est un serveur basé sur le Protocole de Contexte de Modèle (Model Context Protocol, MCP), spécialement conçu pour l'intégration avec les instances Grafana et leur écosystème. Ce projet offre aux agents d'IA (comme Claude Desktop) la capacité d'accéder et de manipuler diverses fonctionnalités de Grafana.
Ce projet offre des options de configuration d'outils flexibles, vous permettant d'activer ou de désactiver des catégories de fonctionnalités spécifiques :
Nom de l'outil | Catégorie | Description |
---|---|---|
search_dashboards |
Search | Rechercher des tableaux de bord |
get_dashboard_by_uid |
Dashboard | Obtenir un tableau de bord par UID |
update_dashboard |
Dashboard | Mettre à jour ou créer un nouveau tableau de bord |
list_datasources |
Datasources | Lister les sources de données |
query_prometheus |
Prometheus | Exécuter une requête Prometheus |
query_loki_logs |
Loki | Interroger et récupérer des logs |
list_incidents |
Incident | Lister les événements |
list_alert_rules |
Alerting | Lister les règles d'alerte |
list_oncall_schedules |
OnCall | Lister les plannings OnCall |
find_error_pattern_logs |
Sift | Rechercher des schémas d'erreurs |
Utilisez l'indicateur --disable-<category>
pour désactiver une catégorie d'outils spécifique. Par exemple, utilisez --disable-oncall
pour désactiver les outils liés à OnCall.
docker pull mcp/grafana
docker run -p 8000:8000 -e GRAFANA_URL=http://localhost:3000 -e GRAFANA_API_KEY=<your_token> mcp/grafana
Téléchargez la dernière version depuis la page des releases et placez-la dans le répertoire $PATH
.
GOBIN="$HOME/go/bin" go install github.com/grafana/mcp-grafana/cmd/mcp-grafana@latest
Utilisation du fichier binaire :
{
"mcpServers": {
"grafana": {
"command": "mcp-grafana",
"args": [],
"env": {
"GRAFANA_URL": "http://localhost:3000",
"GRAFANA_API_KEY": "<your service account token>"
}
}
}
}
Utilisation de Docker :
{
"mcpServers": {
"grafana": {
"command": "docker",
"args": [
"run", "--rm", "-p", "8000:8000",
"-e", "GRAFANA_URL", "-e", "GRAFANA_API_KEY",
"mcp/grafana"
],
"env": {
"GRAFANA_URL": "http://localhost:3000",
"GRAFANA_API_KEY": "<your service account token>"
}
}
}
}
Activez le mode débogage en ajoutant l'indicateur -debug
pour fournir des logs détaillés des requêtes et réponses HTTP :
{
"mcpServers": {
"grafana": {
"command": "mcp-grafana",
"args": ["-debug"],
"env": {
"GRAFANA_URL": "http://localhost:3000",
"GRAFANA_API_KEY": "<your service account token>"
}
}
}
}
# Lancer le serveur
make run
# Construire l'image Docker
make build-image
# Lancer le conteneur Docker
docker run -it --rm -p 8000:8000 mcp-grafana:latest
make test-unit
# Ou
make test
# Nécessite le lancement d'un conteneur Docker
make test-integration
# Nécessite une instance Grafana cloud et des identifiants
make test-cloud
# Lancer une instance Grafana locale
docker-compose up -d
# Exécuter tous les tests
make test-all
make lint
Ce projet contient un linter personnalisé pour vérifier les virgules non échappées dans les balises de structure jsonschema
:
make lint-jsonschema
Ce projet représente une nouvelle tendance dans l'intégration de l'IA avec les outils de surveillance traditionnels, offrant aux développeurs un pont puissant reliant les assistants d'intelligence artificielle et l'écosystème Grafana.