Token导航 LogoToken导航TokenDH.com
MCP Prometheus Alerts logo
AI代理stdio官方级别未说明来源级核验

MCP Prometheus Alerts

MCP Server

一个用于与Prometheus监控系统交互的模型上下文协议(MCP)服务器,支持查询警报、检查服务器连接和Bearer令牌认证。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
PythonClaudeAI代理ClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

jgato

提供方

jgato

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

普罗米修斯MCP服务器

用于与Prometheus监控系统交互的模型上下文协议(MCP)服务器。

⚠️ 免责声明\ 这是一个测试项目,也是我的第一个MCP实现。我正在学习和试验模型上下文协议,同时构建一些东西来满足特定的功能需求。如果你正在寻找一个成熟的、生产就绪的解决方案,你可能想探索生态系统中其他已建立的MCP项目。与Cursor和Cloude-4.5-onnet共同开发的项目。

特性

  • 检查Prometheus服务器连接
  • 来自Prometheus的查询警报
  • 承载令牌身份验证支持

安装

  1. 克隆此存储库
  2. 安装依赖项:
pip install -r requirements.txt
  1. 配置Prometheus连接:
touch .env
# Edit .env with your Prometheus URL and token

配置

服务器支持两种配置模式:

单个Prometheus服务器配置(向后兼容)

对于单个Prometheus服务器,使用以下环境变量:

  • PROMETHEUS_URL:普罗米修斯服务器的基本URL(例如。, https://prometheus.example.com)
  • PROMETHEUS_TOKEN:用于身份验证的承载令牌(可选,如果您的Prometheus需要身份验证)
  • PROMETHEUS_VERIFY_SSL:设置为 false 禁用自签名证书的SSL证书验证(默认值: true)

多个Prometheus服务器配置

对于多个Prometheus服务器,请使用 PROMETHEUS_SERVERS 带有JSON数组的环境变量:

export PROMETHEUS_SERVERS='[
  {
    "name": "production",
    "description": "Production Prometheus Server",
    "url": "https://prometheus-prod.example.com",
    "token": "prod-bearer-token",
    "verify_ssl": true
  },
  {
    "name": "staging",
    "description": "Staging Prometheus Server",
    "url": "https://prometheus-staging.example.com",
    "token": "staging-bearer-token",
    "verify_ssl": false
  },
  {
    "name": "development",
    "description": "Development Prometheus Server",
    "url": "https://prometheus-dev.example.com",
    "token": "",
    "verify_ssl": true
  }
]'

每个服务器配置包括:

  • name (必需):服务器的唯一标识符
  • description (可选):人类可读的描述
  • url (必填):Prometheus服务器的基本URL
  • token (可选):用于身份验证的承载令牌
  • verify_ssl (可选):是否验证SSL证书(默认值: true)

注:servers-config-example.json JSON配置的格式化示例。

用法

运行服务器

python prometheus_mcp.py

与MCP客户端一起使用

单服务器配置

添加到您的MCP客户端配置中(例如。, ~/.cursor/mcp.json):

{
  "mcpServers": {
    "prometheus": {
      "command": "python",
      "args": ["/path/to/prometheus-alerts-mcp/prometheus_mcp.py"],
      "env": {
        "PROMETHEUS_URL": "https://your-prometheus-server.com",
        "PROMETHEUS_TOKEN": "your-bearer-token",
        "PROMETHEUS_VERIFY_SSL": "false"
      }
    }
  }
}

多服务器配置

对于多台服务器,请使用 PROMETHEUS_SERVERS 环境变量:

{
  "mcpServers": {
    "prometheus": {
      "command": "python",
      "args": ["/path/to/prometheus-alerts-mcp/prometheus_mcp.py"],
      "env": {
        "PROMETHEUS_SERVERS": "[{\"name\":\"production\",\"description\":\"Production Server\",\"url\":\"https://prometheus-prod.example.com\",\"token\":\"prod-token\",\"verify_ssl\":true},{\"name\":\"staging\",\"description\":\"Staging Server\",\"url\":\"https://prometheus-staging.example.com\",\"token\":\"staging-token\",\"verify_ssl\":false}]"
      }
    }
  }
}

可用工具

list_server

列出所有已配置的Prometheus服务器。

退货: JSON字符串,包含可用服务器及其配置列表,包括:

  • 服务器名称
  • 描述
  • 统一资源定位符
  • 是否配置了身份验证令牌
  • SSL验证设置

检查方法连接

检查与Prometheus服务器的连接并检索构建信息。

参数:

  • server_name (可选):要检查的服务器的名称。如果为空,则使用第一个配置的服务器。

退货: 包含连接状态和服务器信息的JSON字符串。

获取警报

通过可选的按状态、组和警报名称过滤,从Prometheus获取警报规则。

此函数返回系统中定义的所有警报规则。您可以按州、组名、警报名称进行筛选,并控制返回的详细程度。

参数:

  • server_name (可选):要查询的服务器的名称。如果为空,则使用第一个配置的服务器。
  • state (可选):按警报状态筛选。可以是“启动”、“待定”或“未激活”。留空以获取所有警报规则。
  • group_name (可选):按警报规则组名称筛选。留空以获取所有组。
  • alert_name (可选):按特定警报名称筛选。留空以获取所有警报。
  • extended_metadata (可选):如果 False (默认),仅返回每个警报的基本字段(名称、状态、严重性、注释),从而显著减小响应大小。如果 True,返回完整的元数据,包括查询、评估时间、运行状况和所有标签。使用 False 用于在查询许多警报时进行高效的上下文窗口管理,以及 True 仅当您需要特定警报的完整技术细节时。

退货: 带有警报规则的JSON字符串,包括:

  • 服务器名称和描述
  • 汇总统计数据(总规则、解雇、待处理、非活动计数)
  • 应用过滤器
  • 带有定义的警报规则组(完整或简化,基于 extended_metadata)

示例:比较多个服务器上的警报

您可以轻松比较不同Prometheus服务器上是否存在特定警报:

Comparing alerts across multiple servers

此示例显示了检查不同服务器(vsno5和vsno7)上是否存在相同的Kubernetes持久卷警报,帮助您识别环境之间的配置差异。

您还可以组合不同的过滤器以获得更高级的结果:

Using different filters with multiple servers

高级查询和上下文窗口

MCP与Prometheus Alerts API交互,检索包含所有查询的整个json。这可能会长到超过你的上下文窗口,特别是在比较多个服务器时(即使我们不获取extra_metadata):

Context window exceeded

相反,您可以指示代理按照不同的步骤进行通知:

Context window not exceeded

许可证

Apache许可证2.0

版权所有2025何塞·加托·路易斯

根据Apache许可证2.0版(“许可证”)许可; 除非遵守许可证,否则您不得使用此文件。 您可以在以下网址获得许可证副本

http://www.apache.org/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则软件 根据许可证分发的内容按“原样”分发, 无任何明示或暗示的保证或条件。 请参阅许可证,了解管理权限和 许可证下的限制。

作者

何塞·加托·路易斯\ 电子邮件:jgato@redhat.com

和光标与claude-4.5-连接

目录标签

目录标签

PythonClaudeAI代理监控系统本地部署PrometheusMCP协议警报管理服务器连接

支持客户端

ClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP