Grafana日志查询工具

Grafana MCP for Cursor 是一个允许用户在Cursor编辑器中直接查询Grafana日志、指标和仪表板的工具,无需离开编辑器即可执行PromQL查询或检查日志。

  • by hacktivist1512
  • TypeScript
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 hacktivist1512/grafana-cursor-mcp

使用说明

Grafana MCP光标

从Cursor查询Grafana日志、指标和仪表板。 此MCP服务器允许Cursor中的AI通过工具调用您的Grafana实例,无需离开编辑器检查日志或运行PromQL查询。

  • 日志 –洛基,Elasticsearch。按标签过滤(例如。 call_id, session_id, request_id)或自定义LogQL/Lucene。结果保存到临时文件中,以便Cursor可以对其进行分析。
  • 指标 –运行Prometheus/PromQL(或兼容)查询。
  • 仪表盘 –按UID列出和检查仪表板。
  • 警报 –列出已配置的警报规则。
  • 探索 –为任何查询构建“在Grafana中打开”URL。

适用于任何Grafana实例和您已经使用的任何日志/度量数据源。没有自定义日志存储——Grafana是唯一的事实来源。

包裹: npm上的grafana游标mcp


快速开始

您只需要MCP配置和Grafana URL+API密钥。 如果使用npm包,则不需要克隆或构建。

1.获取Grafana API代币

  • 在格拉法纳: 行政 → 服务账户 (或 API密钥) → 创建一个 观众 (或最低特权)。复制令牌。

2.将MCP服务器添加到Cursor

打开的游标 设置 → 主控程序 (或编辑 ~/.cursor/mcp.json).添加此(或合并 grafana-logs 进入你现有的 mcpServers):

{
  "mcpServers": {
    "grafana-logs": {
      "command": "npx",
      "args": ["-y", "grafana-cursor-mcp"],
      "env": {
        "GRAFANA_URL": "https://your-grafana.example.com",
        "GRAFANA_API_KEY": "your-service-account-token"
      }
    }
  }
}

仅更换:

  • GRAFANA_URL → 您的Grafana基本URL(没有尾随斜线)。
  • GRAFANA_API_KEY → 步骤1中的令牌。

可选:添加 "GRAFANA_DEFAULT_DATASOURCE_UID": "your-loki-uid" 到 env 如果您有一个默认的日志数据源。

3.重新启动游标

人工智能现在可以使用Grafana工具。无克隆或构建--grafana光标mcp 运行通过 npx.


替代方案:从源代码运行

如果您更喜欢在本地克隆和构建:

git clone https://github.com/hacktivist1512/grafana-cursor-mcp.git
cd grafana-cursor-mcp
npm install
npm run build:mcp

在MCP配置中,使用 "command": "node" 和 "args": ["/absolute/path/to/grafana-cursor-mcp/packages/mcp-server/dist/index.js"] 而不是 npx。参见 mcp.json.example 在回购中。


配置(环境)

变量 必填 描述
GRAFANA_URL 是 Grafana基本URL(例如。 https://grafana.example.com).
GRAFANA_API_KEY 是 服务帐户或API密钥令牌。 (GRAFANA_TOKEN 也被接受。)
GRAFANA_DEFAULT_DATASOURCE_UID 否 默认日志数据源UID,因此日志工具不需要 datasource_uid 当只有一个的时候。

安全: 只在env或MCP配置中保留API密钥,而不在代码或文档中。使用查看器(或最小)角色。


AI可以使用的工具

日志

工具 说明
list_log_数据源 列出带有名称和UID的日志数据源(Loki、Elasticsearch)。当用户未指定要查询的数据源时使用。
get_logs 运行自定义日志查询(LogQL用于Loki,Lucene用于ES)。可选的 simple_query 用于额外的不区分大小写的过滤器。完整结果被写入到temp中 .log 文件(返回路径;24小时后删除文件)。默认限制为7000行;指示AI询问用户要提取多少行。
get_logs_for_call 按以下方式获取日志 标签 (例如。 call_id, session_id, request_id, trace_id).使用 label_name 选择标签和 call_id 为了价值。可选的 topic 对于第二个过滤器。相同的临时文件和“请求限制”行为。适用于Loki中的任何关联/会话/请求id。

指标

工具 说明
query_metrics 运行Prometheus/PromQL(或兼容)查询。参数: datasource_uid, query, from, to,可选 instant。以文本形式返回时间序列或表格。

格拉法纳背景

工具 说明
grafana_info 获取组织名称和所有数据源(名称、UID、类型)。用于检查连接并选择正确的数据源。
get_explore_url 为给定的数据源、查询和时间范围构建Grafana Explore URL(“在Grafana中打开”)。

仪表盘

工具 说明
list_dashboards 搜索仪表板(query, folder, limit).返回标题、UID和文件夹。
get_dashboard 按UID获取仪表板。随着 summary_only=true (默认)返回一个简短的面板摘要;否则是完整的JSON。

告警

工具 说明
list_alert_rules 列出已配置的警报规则(/api/v1/provisioning/alert-rules).返回名称、文件夹、规则组和条件。

回购结构

  • packages/mcp-server –MCP服务器(节点/TypeScript)。上述所有工具;Cursor的stdio传输。
  • packages/grafana-app –可选的Grafana应用程序插件(例如“光标日志”页面和MCP代码段)。

出版(维护者)

该包发布为 grafana光标mcp。要发布新版本,请执行以下操作: cd packages/mcp-server,中的凹凸版本 package.json那么 npm publish。参见 docs/GITHUB_AND_NPM.md 了解详情。


许可证

阿帕奇-2.0。看 许可证.