mcpField
P
prometheus-mcp-server

prometheus-mcp-server

本地服务
github.com/yshngg开发工具414 周前更新

关于 prometheus-mcp-server

这是一款 Go 编写的 MCP 服务,通过工具和资源向 MCP 客户端提供 Prometheus 查询、元数据、发现、管理及运行信息。

主要功能

  1. 01即时与区间 PromQL 查询
  2. 02指标和标签元数据查询
  3. 03目标、告警与规则发现
  4. 04TSDB 管理操作
  5. 05Prometheus 状态资源与提示词

适用场景

  1. 01从 MCP 客户端查询 Prometheus 指标
  2. 02检查目标、告警和规则元数据
  3. 03查看运行状态与 TSDB 信息
  4. 04执行支持的 TSDB 维护操作

MCP 相关

向 MCP 客户端提供 Prometheus 查询和管理工具、URI 资源及指标列表提示词。支持 stdio 和 HTTP 传输;HTTP 端点可选用 Bearer Token 身份验证。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"prometheus-mcp-server-yshngg": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"pull"
]
}
}
}
启动命令docker run -i --rm pull

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocipull

工具

还没有获取到工具列表

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

详细介绍

Prometheus MCP Server

codecov

一个基于 Go 的 MCP 服务,通过模型上下文协议提供 Prometheus 查询功能。

安装

go install github.com/yshngg/prometheus-mcp-server@latest

或者拉取 Docker 镜像:

docker pull ghcr.io/yshngg/prometheus-mcp-server:latest

用法

prometheus-mcp-server --prom-addr="http://localhost:9090"
标志
标志默认值描述
-prom-addrhttp://localhost:9090Prometheus 服务 URL
-mcp-addrlocalhost:8080MCP 服务监听地址
-transportstdiostdio 或 http
-auth-token``用于 MCP 端点身份验证的 Bearer 令牌(可选)
-version打印版本
环境变量

所有标志都可以通过环境变量设置:PROM_ADDR、MCP_ADDR、TRANSPORT、AUTH_TOKEN。

MCP 客户端配置

将以下配置添加到 MCP 客户端:

{
  "mcpServers": {
    "prometheus": {
      "command": "prometheus-mcp-server",
      "args": ["--prom-addr", "http://localhost:9090"]
    }
  }
}

说明

通过 go install github.com/yshngg/prometheus-mcp-server@latest 安装二进制文件,或使用 docker pull ghcr.io/yshngg/prometheus-mcp-server:latest 拉取 Docker 镜像。

如果尚未安装二进制文件,请使用 Docker:

{
  "mcpServers": {
    "prometheus": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/yshngg/prometheus-mcp-server:latest",
        "--prom-addr",
        "http://host.docker.internal:9090"
      ]
    }
  }
}
特定客户端的配置
Claude Desktop

添加到 claude_desktop_config.json:

{
  "mcpServers": {
    "prometheus": {
      "command": "prometheus-mcp-server",
      "args": ["--prom-addr", "http://localhost:9090"]
    }
  }
}

使用 Docker:

{
  "mcpServers": {
    "prometheus": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/yshngg/prometheus-mcp-server:latest",
        "--prom-addr",
        "http://host.docker.internal:9090"
      ]
    }
  }
}
OpenCode

添加到 opencode.json(指南):

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "prometheus": {
      "type": "local",
      "command": [
        "prometheus-mcp-server",
        "--prom-addr",
        "http://localhost:9090"
      ]
    }
  }
}
HTTP 传输

使用 HTTP 传输运行服务:

prometheus-mcp-server --transport=http --mcp-addr="localhost:8080"

然后配置客户端使用 http://localhost:8080/mcp。

如需通过身份验证访问,请设置 AUTH_TOKEN:

AUTH_TOKEN=my-token prometheus-mcp-server --transport=http

随后,客户端必须在向 /mcp 发送的请求中包含 Authorization: Bearer my-token。

工具

表达式: instant_query、range_query

元数据: find_series_by_labels、list_label_names、list_label_values、target_metadata_query、metric_metadata_query

发现: target_discovery、alert_query、rule_query、alertmanager_discovery

TSDB 管理: tsdb_snapshot、delete_series、clean_tombstones

管理: health_check、readiness_check、reload、quit

资源

该服务通过 prom:/// 方案将 Prometheus 数据公开为可通过 URI 访问的资源:

URI描述
prom:///config当前加载的配置(YAML)
prom:///flags命令行标志值
prom:///runtime-info运行时信息
prom:///build-info构建信息
prom:///tsdb-statsTSDB 基数统计
prom:///wal-replay-statsWAL 重放状态
资源模板

用于动态访问数据的 URI 模板:

模板描述
prom:///api/v1/query?query={promql}即时 PromQL 查询结果
prom:///api/v1/label/{name}/values指定标签名称的标签值

提示词

名称参数描述
all-available-metricsprefix(可选)列出 Prometheus 实例中的所有指标名称

许可证

Apache License 2.0

评论

支持 Markdown

第一次接触 MCP?

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

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