prometheus-mcp-server

prometheus-mcp-server

3.3

If you are the rightful owner of prometheus-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

Prometheus MCP 服务器是一个简化版的服务器,用于查询指标并提供 AI 分析。

Prometheus MCP 服务器

这是一个简化版的Prometheus MCP服务器,用于查询指标提供 ai 分析。

快速开始

启动

  1. 设置Prometheus地址环境变量:
export PROMETHEUS_URL=your_Prometheus_endpoint
  1. 启动服务器:
go run cmd/server/main.go sse

服务器将在:8081端口启动,可以通过以下URL访问:

  1. (可选) 设置日志文件路径:
export APP_LOG_FILE=/path/to/logfile.log

测试

npx @modelcontextprotocol/inspector node build/index.js

功能特性

AI友好化分析指标

  1. JSON格式输出:所有查询结果均以JSON格式返回,便于AI系统解析处理

MCP工具

  1. search_metrics - 按正则表达式搜索指标

    • 参数: pattern (指标名称模式,支持正则表达式)
    • 示例: http_.* 匹配所有以http_开头的指标
    • 返回: 匹配的指标名称列表(JSON格式)
  2. get_metric_labels - 获取指标的所有标签

    • 参数: name (指标名称)
    • 示例: http_requests_total
    • 返回: 该指标的所有标签列表(JSON格式,不包括__name__标签)
  3. get_metric_label_values - 获取指标标签的所有值

    • 参数:
      • name (指标名称)
      • label (标签名称)
    • 示例: 获取http_requests_total指标的method标签的所有值
    • 返回: 指定标签的所有值列表(JSON格式)
  4. query - 执行PromQL即时查询

    • 参数:
      • query (PromQL查询语句)
      • time (查询时间戳,格式为RFC3339或Unix时间戳,可选)
    • 示例: 查询当前CPU使用率
    • 返回: 查询结果(JSON格式)
  5. query_range - 执行PromQL范围查询

    • 参数:
      • query (PromQL查询语句)
      • start (开始时间,格式为RFC3339或Unix时间戳(毫秒))
      • end (结束时间,格式为RFC3339或Unix时间戳(毫秒))
      • step (查询步长,例如'15s'、'1m')
    • 示例: 查询过去1小时CPU使用率变化,每15秒一个数据点
    • 返回: 范围查询结果(JSON格式)
  6. query_chart - 执行PromQL范围查询并生成图表

    • 参数:
      • query (PromQL查询语句)
      • start (开始时间,格式为RFC3339或Unix时间戳(毫秒))
      • end (结束时间,格式为RFC3339或Unix时间戳(毫秒))
      • step (查询步长,例如'15s'、'1m')
      • title (图表标题,可选)
    • 示例: 查询过去1小时CPU使用率变化并生成图表
    • 返回: 图表图片(base64编码的PNG格式)

服务器端

  1. 设置Prometheus地址:
export PROMETHEUS_URL=your_Prometheus_endpoint
  1. 启动服务器:
go run cmd/server/main.go sse

服务器默认将在:8081端口暴露Prometheus指标。

mcp 客户端配置

配置示例:

{
  "mcpServers": {
    "products-sse": {
      "url": "http://localhost:8081/sse"
    }
  }
}

项目结构

.
├── cmd/           # 命令行程序入口
│   └── server/   # 服务器代码
├── internal/      # 内部实现
├── pkg/           # 可复用包
│   └── prometheus # Prometheus相关实现
└── go.mod         # Go模块定义