mcpField
P
pmcp

pmcp

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

关于 pmcp

pmcp 是一个基于 Go 的 MCP 服务,提供 Prometheus 查询和管理能力,适用于需要查询指标、检查元数据或访问服务器操作与数据的 MCP 客户端。

主要功能

  1. 01即时与范围 PromQL 查询
  2. 02指标和标签元数据查询
  3. 03目标与告警发现
  4. 04TSDB 管理工具
  5. 05Prometheus 状态与运行时资源

适用场景

  1. 01通过 MCP 客户端查询指标
  2. 02检查目标、告警和规则元数据
  3. 03查看 Prometheus 运行时与 TSDB 详情

MCP 相关

该服务向 MCP 客户端提供 Prometheus 工具、资源和指标列表提示词,支持 stdio 与 HTTP 传输;HTTP 可选用 Bearer 令牌进行身份验证。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"pmcp": {
"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 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。