name: grafana version: "1.1.0" description: Grafana MCP server for dashboards, datasources, and alerts packageName: "@leval/mcp-grafana" runtime: node transport: STDIO repositoryUrl: https://github.com/levalhq/mcp-grafana healthCheck: # Hits the Grafana API, so a pass proves URL + token + reachability. A # liveness probe (tools/list) cannot: it answers from the server's own tool # table and stays green while every Grafana call 403s. tool: list_datasources arguments: {} intervalSeconds: 60 timeoutSeconds: 10 env: - name: GRAFANA_URL description: >- Grafana base URL. For a Grafana in this cluster use its ClusterIP (http://grafana..svc.cluster.local:3000) — NOT its public hostname. Reaching it over the public ingress hairpins the request back through the per-host Envoy L7 policy, which drops the caller's identity and answers a bare `Access denied` 403 even when the token is valid. required: true defaultValue: http://grafana.home-automation.svc.cluster.local:3000 - name: GRAFANA_SERVICE_ACCOUNT_TOKEN description: Grafana service account token (glsa_...) required: true