mcpField
P
prom-mcp

prom-mcp

本地服务
github.com数据与分析02 周前更新

关于 prom-mcp

prom-mcp 是面向 Prometheus 用户的 Go 语言 MCP 服务,供团队通过 AI Agent 查询指标、发现现有序列,并结合规则信息排查告警,输出简洁的分诊内容。

主要功能

  1. 01执行即时 PromQL 查询
  2. 02汇总时间范围查询结果
  3. 03结合规则解释告警
  4. 04发现标签值和指标序列
  5. 05提供分诊提示词与告警资源

适用场景

  1. 01调查正在触发的 Prometheus 告警
  2. 02检查指标趋势是否恶化
  3. 03查询前确认有效的任务和实例

MCP 相关

它通过 stdio 向 MCP 客户端提供五个工具、两个资源和一个分诊提示词。客户端可查询 Prometheus,并检查告警、配置、标签及指标序列。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbprom-mcp_v0.2.0_linux_amd64.mcpb0.2.0
mcpbprom-mcp_v0.2.0_linux_arm64.mcpb0.2.0
mcpbprom-mcp_v0.2.0_darwin_amd64.mcpb0.2.0
mcpbprom-mcp_v0.2.0_darwin_arm64.mcpb0.2.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

prom-mcp — 面向 AI Agent(Claude Code、Cursor)的 Prometheus MCP 服务

CI Go License: MIT MCP Registry

prom-mcp 是一个 Prometheus MCP 服务(Model Context Protocol),让 AI Agent 能够以生产级视角查看你的指标。 将 Claude Code、Cursor 或任何 MCP 客户端连接到 Prometheus,让 Agent 运行 PromQL 查询、结合规则定义解释触发中的告警,并在查询前发现实际存在的时间序列——让它进行调查,而不是猜测。

由一位负责生产环境值班的工程师打造,因此输出读起来像一份故障分诊记录,而不是原始 JSON 转储。

5 个工具 • 2 个资源 • 1 个分诊提示词 • 单个 Go 二进制文件 • 零依赖 • stdio

prom-mcp 演示:Agent 询问节点为何宕机,prom-mcp 结合规则解释触发中的告警,然后检查 up{job="node"}

安装

Claude Desktop(MCPB,无需工具链)

下载适用于你平台的安装包,然后打开它或将其拖入 Claude Desktop(Settings → Extensions)。系统会提示你输入 Prometheus URL,默认值为 http://localhost:9090。

平台MCPB 安装包
macOS(Apple silicon)prom-mcp_v0.2.0_darwin_arm64.mcpb
macOS(Intel)prom-mcp_v0.2.0_darwin_amd64.mcpb
Linux(x86_64)prom-mcp_v0.2.0_linux_amd64.mcpb
Linux(arm64)prom-mcp_v0.2.0_linux_arm64.mcpb
Claude Code

确保二进制文件位于 PATH 中(下载发布版本或使用 go install,见下文):

claude mcp add prom -- prom-mcp

如果你的 Prometheus 不在 http://localhost:9090,请先在 shell 中设置 PROM_URL,或者为命令传入 --env PROM_URL=...。更多用法见 examples/claude-code.md。

Cursor

添加到 ~/.cursor/mcp.json(与 examples/cursor-mcp.json 相同):

{
  "mcpServers": {
    "prom": {
      "command": "prom-mcp",
      "env": {
        "PROM_URL": "http://localhost:9090"
      }
    }
  }
}
VS Code

添加到 .vscode/mcp.json(与 examples/vscode-mcp.json 相同):

{
  "servers": {
    "prom": {
      "command": "prom-mcp",
      "env": {
        "PROM_URL": "http://localhost:9090"
      }
    }
  }
}
Go install / 从源代码构建
go install github.com/aniketatgithub/prom-mcp@latest
git clone https://github.com/aniketatgithub/prom-mcp && cd prom-mcp
go build -o prom-mcp ./cmd/prom-mcp

四个平台的纯二进制文件也可在 v0.2.0 release 中获取,与上方的 MCPB 安装包一同提供。

可以询问什么

你的问题prom-mcp 的操作
“为什么 NodeDown 正在触发?”prom_alerts_explain 返回活动告警,并关联其规则表达式、组、for、标签和注释。
“实际有哪些 job 和实例?”prom_series_discover 和 prom_label_values 会在编写查询前列出真实的时间序列和标签值。
“情况是否在恶化?”prom_query_range 按时间序列汇总时间窗口:点数、首值、末值、最小值、最大值。

查看实际效果

告警分诊:节点为什么宕机?

prom-mcp 告警分诊演示

查询前先发现实际存在的内容:

prom-mcp 发现演示:发现 node job 的时间序列和标签值

检查趋势:node1 的情况是否在恶化?

prom-mcp 范围查询演示:最近 5 分钟 node job 的 up

效果展示

向你的 Agent 提问 “节点为什么宕机了?”,告警工具会以分诊格式作答:

1 active alert(s)

[firing] NodeDown (since 2026-10-08T10:00:00Z, value 0)
  labels: {alertname="NodeDown", instance="node1:9100", job="node", severity="critical"}
  summary: Node node1:9100 is down
  description: Scrapes failing for 5m
  rule: up{job="node"} == 0
  group: node.rules
  for: 5m0s

此外还内置了 triage 提示词模板,按顺序引导 Agent 检查告警、发现指标和趋势。

工具

工具功能
prom_query即时执行 PromQL 查询,并以简洁的带标签序列和值呈现结果。
prom_query_range查询过去 N 分钟内的数据;显示每个序列的数据点、首值、末值、最小值和最大值。
prom_alerts_explain将活动告警与告警规则表达式、规则组、for 持续时间和注释关联起来。
prom_label_values列出某个标签的实际值(可选指定范围),帮助 Agent 获取真实的 job/instance 名称。
prom_series_discover检查是否存在符合标签匹配条件的序列,避免 Agent 臆造指标名称。

资源:prometheus://alerts(已说明的告警)、prometheus://config。提示词:triage。

无需服务即可试用

prom-mcp demo        # fixture-backed self-test: query, alert explanation, series discovery
prom-mcp query 'up'  # one-shot CLI query against $PROM_URL

配置

设置环境变量配置文件键
Prometheus 基础 URLPROM_URLbase_url
Bearer 令牌(受身份验证保护的 Prometheus)PROM_TOKENtoken
请求超时PROM_TIMEOUT(例如 30s)timeout_seconds
配置文件路径PROM_CONFIG

配置文件为 JSON,按以下顺序查找:$PROM_CONFIG、./prom-mcp.json,然后是 ~/.prom-mcp.json:

{ "base_url": "https://prometheus.example.com", "token": "…", "timeout_seconds": 30 }

环境变量优先于文件。完全没有配置时,默认使用 http://localhost:9090。

为什么不直接向 Agent 提供原始 API 访问权限?

Agent 会被原始 Prometheus JSON 淹没,还会臆造并不存在的指标名称。prom-mcp 返回简洁、带标签且符合分诊场景的文本,并要求 Agent 先发现再查询。这就是只会猜测的 Agent 与会调查的 Agent 之间的区别。

单个 Go 二进制文件,无任何依赖,完全离线运行,可连接你自己的 Prometheus。

正在比较服务?请参阅 docs/comparison.md,了解与 pab1it0/prometheus-mcp-server 以及 Prometheus 组织的 prometheus/prometheus-mcp 的客观对比。

常见问题

哪些 AI 客户端可与 prom-mcp 配合使用? 任何 MCP 客户端都可以:Claude Code、Cursor、Windsurf、Zed,以及自定义 Agent。它通过标准输入/输出使用以换行符分隔的 JSON-RPC 2.0 通信。

如何将 prom-mcp 连接到远程 Prometheus? 添加服务时,将 PROM_URL 设为 Prometheus 基础 URL(例如 http://localhost:9090 或你的内部端点)。

AI Agent 能否说明 Prometheus 告警触发的原因? 可以。prom_alerts_explain 会将活动告警与触发该告警的规则(表达式、摘要、描述)关联起来,让 Agent 能够推理原因,而不是只报告原始 JSON。

prom-mcp 需要 API 密钥或云服务吗? 不需要。它是一个仅与 Prometheus 通信的本地单文件二进制程序。

prom-mcp 与其他 Prometheus MCP 服务相比如何? 请参阅 docs/comparison.md。简而言之:prom-mcp 是专注于告警分诊的选项,提供 5 个工具;其他服务覆盖更多 Prometheus API,或包含更多部署组件。

这与向 Agent 暴露 Prometheus HTTP API 有何不同? 原始 API 访问会返回嵌套 JSON,需要 Agent 自行解析,还容易导致其臆造指标名称。prom-mcp 会呈现简洁的带标签文本,将告警与触发它们的规则关联起来,限制过长的输出,并引导 Agent 先发现再查询。它还会针对瞬时故障重试,并支持 Bearer 令牌身份验证。

它能与远程或受身份验证保护的 Prometheus 配合使用吗? 可以:设置 PROM_URL 和 PROM_TOKEN(或使用 JSON 配置文件)。请参阅“配置”。

支持哪些 Prometheus 版本? 支持任何提供标准 HTTP API 的服务端(/api/v1/query、query_range、alerts、rules、series、label/<name>/values)。

许可证

MIT。请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。