关于 Prometheus MCP 服务器
Prometheus MCP 服务器将 Prometheus 指标查询能力提供给 MCP 客户端,适用于指标检索与分析。它支持即时和范围 PromQL 查询,并可将范围结果生成为图表。
主要功能
- 01按正则表达式搜索指标
- 02获取指标标签及其值
- 03执行 PromQL 即时查询
- 04执行 PromQL 范围查询
- 05生成范围查询图表
适用场景
- 01查找匹配模式的指标名称
- 02检查指标标签及可用值
- 03分析一段时间内的指标变化
- 04将指标范围查询结果绘制成图表
MCP 相关
该 MCP 服务向客户端提供指标搜索、标签查询、PromQL 即时与范围查询,以及图表生成工具。查询结果以 JSON 返回,图表以 base64 PNG 返回。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
来自项目 READMEPrometheus MCP 服务器
这是一个简化版的Prometheus MCP服务器,用于查询指标提供 ai 分析。
快速开始
启动
- 设置Prometheus地址环境变量:
export PROMETHEUS_URL=your_Prometheus_endpoint
- 启动服务器:
go run cmd/server/main.go sse
服务器将在:8081端口启动,可以通过以下URL访问:
- (可选) 设置日志文件路径:
export APP_LOG_FILE=/path/to/logfile.log
测试
npx @modelcontextprotocol/inspector node build/index.js
功能特性
AI友好化分析指标
- JSON格式输出:所有查询结果均以JSON格式返回,便于AI系统解析处理
MCP工具
-
search_metrics - 按正则表达式搜索指标
- 参数:
pattern(指标名称模式,支持正则表达式) - 示例:
http_.*匹配所有以http_开头的指标 - 返回: 匹配的指标名称列表(JSON格式)
- 参数:
-
get_metric_labels - 获取指标的所有标签
- 参数:
name(指标名称) - 示例:
http_requests_total - 返回: 该指标的所有标签列表(JSON格式,不包括
__name__标签)
- 参数:
-
get_metric_label_values - 获取指标标签的所有值
- 参数:
name(指标名称)label(标签名称)
- 示例: 获取
http_requests_total指标的method标签的所有值 - 返回: 指定标签的所有值列表(JSON格式)
- 参数:
-
query - 执行PromQL即时查询
- 参数:
query(PromQL查询语句)time(查询时间戳,格式为RFC3339或Unix时间戳,可选)
- 示例: 查询当前CPU使用率
- 返回: 查询结果(JSON格式)
- 参数:
-
query_range - 执行PromQL范围查询
- 参数:
query(PromQL查询语句)start(开始时间,格式为RFC3339或Unix时间戳(毫秒))end(结束时间,格式为RFC3339或Unix时间戳(毫秒))step(查询步长,例如'15s'、'1m')
- 示例: 查询过去1小时CPU使用率变化,每15秒一个数据点
- 返回: 范围查询结果(JSON格式)
- 参数:
-
query_chart - 执行PromQL范围查询并生成图表
- 参数:
query(PromQL查询语句)start(开始时间,格式为RFC3339或Unix时间戳(毫秒))end(结束时间,格式为RFC3339或Unix时间戳(毫秒))step(查询步长,例如'15s'、'1m')title(图表标题,可选)
- 示例: 查询过去1小时CPU使用率变化并生成图表
- 返回: 图表图片(base64编码的PNG格式)
- 参数:
服务器端
- 设置Prometheus地址:
export PROMETHEUS_URL=your_Prometheus_endpoint
- 启动服务器:
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模块定义
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。