{"name":"io.github.itzhouq/grafana-mcp","slug":"itzhouq-grafana-mcp","title":"Grafana MCP","description":"Read-only project-level Grafana MCP: Loki logs, metrics, traces, alerts, test/prod switching","url":"https://mcp.market/server/itzhouq-grafana-mcp","rating":null,"grade":"C","score":65,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":29,"stars":0,"forks":0,"downloads_week":704,"last_push_at":"2026-10-09T10:27:00.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/itzhouq/grafana-mcp","website":null,"version":"0.1.3","remotes":[],"packages":[{"registryType":"npm","identifier":"grafana-mcp","version":"0.1.3","transport":{"type":"stdio"},"environmentVariables":[{"description":"Grafana base URL of the test environment, e.g. https://grafana.example.com","format":"string","name":"GRAFANA_TEST_URL"},{"description":"Grafana username for the test environment (prefer a dedicated Viewer-role account)","format":"string","name":"GRAFANA_TEST_USER"},{"description":"Grafana password for the test environment","format":"string","isSecret":true,"name":"GRAFANA_TEST_PASSWORD"},{"description":"Grafana base URL of the production environment","format":"string","name":"GRAFANA_PROD_URL"},{"description":"Grafana username for the production environment","format":"string","name":"GRAFANA_PROD_USER"},{"description":"Grafana password for the production environment","format":"string","isSecret":true,"name":"GRAFANA_PROD_PASSWORD"},{"description":"Default environment for this project (test by default)","format":"string","name":"GRAFANA_ENV"},{"description":"App label value used to scope Loki queries for this project","format":"string","name":"GRAFANA_APP"}]}],"tools":[{"name":"alerts","description":"列出当前正在告警的规则（Grafana Alertmanager）。收到 [FIRING:N] 类告警消息后先用它确认现状。","write_action":false,"price_micros":0,"input_schema":null},{"name":"datasources","description":"列出当前 Grafana 实例的全部数据源（类型、名称、UID）。","write_action":false,"price_micros":0,"input_schema":null},{"name":"loki_labels","description":"查询 Loki 标签名或某标签的全部取值。不带 label 参数 → 列出所有标签名；带 label=app → 返回 app 标签的所有取值（用于确认项目 app 名称在当前环境是否存在，防止查错应用）。","write_action":false,"price_micros":0,"input_schema":null},{"name":"loki_query","description":"执行 LogQL 日志查询（range 查询）。","write_action":false,"price_micros":0,"input_schema":null},{"name":"project_context","description":"【调查前必调】获取当前项目的 Grafana 上下文：激活环境（test/prod）、项目 App 名称、namespace、数据源 UID、配置来源。","write_action":false,"price_micros":0,"input_schema":null},{"name":"prom_instant","description":"执行 PromQL 即时查询（单时间点）。示例：kube_pod_container_status_restarts_total{namespace=\"prod\"}","write_action":false,"price_micros":0,"input_schema":null},{"name":"prom_query","description":"执行 PromQL 区间查询。示例：rate(container_cpu_usage_seconds_total{namespace=\"prod\"}[5m])","write_action":false,"price_micros":0,"input_schema":null},{"name":"switch_environment","description":"切换 Grafana 环境（仅影响本会话）。环境信息（连接地址、账密、数据源 UID）来自 ~/.zshrc 解析或配置文件，无需手动 export。切换后返回新环境上下文。","write_action":false,"price_micros":0,"input_schema":null},{"name":"tempo_search","description":"用 TraceQL 搜索链路追踪。示例：{resource.service.name=\"api\" && status=error}","write_action":false,"price_micros":0,"input_schema":null},{"name":"tempo_trace","description":"按 traceID 获取完整链路（span 列表、耗时、状态）。日志中的 traceId=xxx 可直接跟进。","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":65,"grade":"C","scanned_at":"2026-10-13T23:17:44.657Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-13T23:17:44.649Z","components":{"code":{"score":13,"max":25,"notes":["3 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 5 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"exec.shell-concat","severity":"high","component":"code","title":"Shell command built from a string (injection risk)","evidence":"index.ts: …&& item) { try { const json = execSync( `op item get \"${item}\" --vault \"${vault}\" --fields user,password --format …"}],"inputs":{"packages":[{"registryType":"npm","identifier":"grafana-mcp","version":"0.1.3","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":0,"publishedAt":"2026-10-07T16:02:15.970Z","repositoryUrl":"git+https://github.com/itzhouq/grafana-mcp.git","weeklyDownloads":704}],"repo":{"found":true,"owner":"itzhouq","repo":"grafana-mcp","archived":false,"pushedAt":"2026-10-09T10:27:00Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/37930443?v=4","ownerCreatedAt":"2018-03-30T11:29:57Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/37930443?v=4&s=128","source":"github"},"presence":{"stars":0,"forks":0,"downloadsWeek":704,"license":"MIT","lastPushAt":"2026-10-09T10:27:00.000Z","score":29}}}},"grade_history":[],"reviews":[]}