使用说明
项目简介
Grafana MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在让 LLM (大型语言模型) 应用能够安全、便捷地访问您的 Grafana 实例及其生态系统。通过标准化的 MCP 协议,LLM 可以调用 Grafana 的各项功能,获取上下文信息,从而实现更智能的数据分析和监控告警处理。
主要功能点
- 仪表板搜索: 允许 LLM 根据关键词搜索 Grafana 仪表板。
- 数据源管理: 允许 LLM 获取 Grafana 数据源的列表和详细信息。
- 数据查询: 支持 LLM 查询 Prometheus 数据源的指标数据和元数据,例如执行 PromQL 查询、获取指标名称和标签等。
- 事件管理: 集成 Grafana Incident,支持 LLM 查询、创建、更新和关闭事件,辅助事件响应和处理流程。
安装步骤
- 前提条件: 确保您的环境中已安装 Python 3.7 或更高版本。
- 安装 'uv': 按照仓库 README 文件中的说明安装 'uv' 包管理器。'uv' 是一个快速的 Python 包安装和依赖管理工具。
- 安装依赖: 在仓库根目录下,运行命令 'uv sync --all-groups' 安装项目所需的 Python 依赖包。
服务器配置
Grafana MCP Server 作为一个 MCP 服务器,需要配置在 MCP 客户端中才能使用。以下是配置示例,以 JSON 格式展示,您需要将其添加到 MCP 客户端的配置文件中。
{ "mcpServers": { "grafana": { "command": "uvx", "args": [ "mcp-grafana", "run", "--transport", "stdio" ], "env": { "GRAFANA_URL": "http://localhost:3000", // 替换为您的 Grafana 实例的 URL,例如 "http://localhost:3000" 或您的 Grafana Cloud 地址 "GRAFANA_API_KEY": "<your service account token>" // 替换为您的 Grafana 服务帐户令牌,请在 Grafana 中创建服务帐户并生成令牌 } } } }
配置参数说明:
- '"server name"': '"grafana"' (服务器名称,可以自定义,用于在客户端中标识该服务器)
- '"command"': '"uvx"' (指定用于启动服务器的命令,如果 'uvx' 不可用,可能需要替换为 'python' 并直接运行 'cli.py' 文件)
- '"args"': 启动命令的参数列表:
- '"mcp-grafana"': 指定运行 'mcp_grafana' 包
- '"run"': 运行命令,启动 MCP 服务器
- '"–transport", "stdio"': 指定使用 'stdio' 作为 MCP 的传输协议,也可以选择其他支持的协议,例如 'sse'
- '"env"': 环境变量配置:
- '"GRAFANA_URL"': 必填,您的 Grafana 实例的 URL 地址。
- '"GRAFANA_API_KEY"': 必填,用于身份验证的 Grafana 服务帐户令牌。请务必在 Grafana 中创建具有必要权限的服务帐户,并生成 API 令牌。
基本使用方法
- 启动服务器: 配置完成后,MCP 客户端通常会自动启动 Grafana MCP Server。如果需要手动启动,可以根据客户端的指示操作。
- 使用工具: 在 LLM 应用中,您可以通过 MCP 协议调用 Grafana MCP Server 提供的工具。可用的工具包括 'search_dashboards' (搜索仪表板), 'list_datasources' (列出数据源), 'query_prometheus' (查询 Prometheus 指标), 'list_incidents' (列出事件), 'create_incident' (创建事件) 等。 具体工具及其使用方式请参考仓库文档或源代码。
- 配置工具权限: 您可以通过设置环境变量来启用或禁用特定类别的工具。例如,设置 'GRAFANA_TOOLS__SEARCH__ENABLED: "false"' 可以禁用搜索工具。
信息
分类
开发者工具