Grafana MCP服务器

为Grafana提供MCP服务器,包括与Grafana仪表板、数据源、警报等交互的工具。

  • by izaitsevfb
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 izaitsevfb/grafana-mcp

使用说明

Grafana MCP

该项目提供 主控程序 Grafana服务器,包括用于与Grafana仪表板、数据源、警报等交互的MCP工具。

该软件包包括一个仪表板模板资源,该资源与软件包正确捆绑在一起,以便在安装时使用。

用法

安装

  1. 创建虚拟环境(推荐)
python -m venv venv
source venv/bin/activate
  1. 使用pip直接从GitHub安装此软件包:
pip install -e git+https://github.com/izaitsevfb/grafana-mcp.git#egg=grafana_mcp

(或者,您可以在本地安装它 pip install -e .)

  1. 配置Grafana身份验证

创建一个 .env 带有Grafana URL和API令牌的文件:

cp .env.example .env

然后编辑 .env 文件添加您的实际Grafana URL和API令牌:

GRAFANA_URL=http://your-grafana-server:3000
GRAFANA_API_TOKEN=your-api-token-here

您可以导航到:配置,在Grafana中生成API令牌→ API密钥→ 新API密钥。

  1. 安装后,MCP服务器可以按以下方式运行:
python -m grafana_mcp
  1. 将此MCP服务器添加到克劳德代码中:
claude mcp add-json grafana '{ "type": "stdio", "command": "python", "args": [ "-m", "grafana_mcp" ], "env": {} }'

注意:默认情况下,MCP配置仅适用于当前目录。如果你想在全球范围内使用它,请添加 --scope user 执行上述命令:

claude mcp add-json --scope user grafana '{ "type": "stdio", "command": "python", "args": [ "-m", "grafana_mcp" ], "env": {} }'
  1. 像往常一样运行Claude代码:
claude

发展

开发安装

  1. 克隆存储库
  2. 在开发模式下安装:
    pip install -e .
    

该包使用Python的包资源管理系统来包含仪表板模板。dashboard.json文件存储在src/grafana_mcp/目录中,安装包时可以使用importlib.resources访问。

测试

运行单元测试:

python -m unittest discover tests

对于使用令牌身份验证进行测试,请确保您已创建 .env 如上所述,将您的Grafana凭据归档。测试套件包括不需要实际Grafana实例的模拟测试。

工具

Grafana MCP提供以下工具:

可用工具

仪表板管理

  • get_grafana_info():获取有关连接的Grafana实例的信息,包括版本和连接状态
  • list_dashboards():列出连接的Grafana实例中的所有仪表板
  • get_dashboard(uid):按UID获取特定仪表板的详细信息

组织管理

  • get_organization():获取当前组织的信息

数据源管理

  • list_datasources():列出所有可用的数据源

需求

  • grafana-client:Grafana API的Python客户端
  • python-dotenv:用于从加载环境变量 .env 文件
  • mcp:模型上下文协议服务器实现

认证

此程序包使用Grafana API的令牌身份验证。要配置身份验证,请执行以下操作:

  1. 在Grafana实例中,创建具有适当权限的API密钥
  2. 创建一个 .env 包含以下变量的文件:
    GRAFANA_URL=http://your-grafana-url:3000
    GRAFANA_API_TOKEN=your-api-token-here
    
  3. 启动时,MCP服务器将自动加载这些凭据

更多的工具和功能将在未来的版本中添加。