mcpField
P
prometheus-mcp-server

prometheus-mcp-server

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

关于 prometheus-mcp-server

prometheus-mcp-server 是一个用 TypeScript 编写的 MCP 服务,将 Prometheus API 接入 Claude 等 MCP 客户端。它支持查询指标、探索序列与标签,并查看目标、告警、规则和服务器状态。

主要功能

  1. 01执行即时 PromQL 查询
  2. 02执行区间 PromQL 查询
  3. 03按标签匹配发现序列
  4. 04查看标签值与指标元数据
  5. 05查看抓取目标、告警和规则
  6. 06获取 Prometheus 状态

适用场景

  1. 01按指定时刻查询指标
  2. 02分析一段时间内的指标变化
  3. 03检查抓取目标与告警规则
  4. 04查看 Prometheus 服务器状态

MCP 相关

该 MCP 服务向 MCP 客户端提供 Prometheus API 工具,包括查询、序列与标签发现、元数据、目标、告警、规则和状态信息。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"prometheus-mcp-server-weetime": {
"command": "npx",
"args": [
"-y",
"prometheus-mcp-server"
]
}
}
}
启动命令npx -y prometheus-mcp-server

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

安装包
npmprometheus-mcp-server

工具

还没有获取到工具列表

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

详细介绍

prometheus-mcp-server

Prometheus MCP Server

用于与 Prometheus 指标和数据交互的模型上下文协议(MCP)服务。

这是一个基于 TypeScript 的 MCP 服务,实现了 Prometheus API 接口。它通过模型上下文协议(MCP),在 Claude 与你的 Prometheus 服务之间搭建桥梁。

功能

  • 即时查询:在指定时间执行 PromQL 查询
  • 范围查询:在一段时间内执行 PromQL 查询
  • 序列发现:通过标签匹配器查找序列
  • 标签探索:获取标签名称和值
  • 元数据访问:获取指标的元数据
  • 目标信息:获取抓取目标的信息
  • 告警和规则:获取告警和记录规则的信息
  • 状态信息:获取 Prometheus 服务的状态信息

安装

# Install globally
npm install -g prometheus-mcp-server

# Or install locally
npm install prometheus-mcp-server

# Or use npx to run without installation
npx prometheus-mcp-server

在 Claude 中使用

要在 Claude Desktop 中使用,请添加服务配置:

在 MacOS 上:~/Library/Application Support/Claude/claude_desktop_config.json 在 Windows 上:%APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "prometheus-mcp-server": {
      "command": "/path/to/prometheus-mcp-server/build/index.js",
      "env": {
        "PROMETHEUS_BASE_URL": "http://your-prometheus-instance:9090"
      }
    }
  }
}
使用 npx

你也可以在 Claude Desktop 配置中使用 npx:

{
  "mcpServers": {
    "prometheus-mcp-server": {
      "command": "npx prometheus-mcp-server",
      "env": {
        "PROMETHEUS_BASE_URL": "http://your-prometheus-instance:9090"
      }
    }
  }
}

配置

默认情况下,客户端连接到运行在 http://localhost:9090 的 Prometheus 服务。你可以通过设置 PROMETHEUS_BASE_URL 环境变量来配置 Prometheus 服务 URL:

# Example: Connect to a different Prometheus server
PROMETHEUS_BASE_URL=http://my-prometheus-server:9090 prometheus-mcp-server

这样无需修改源代码,即可将客户端连接到任意 Prometheus 实例。

可用函数

服务提供以下函数:

  • mcp__instant_query:执行即时 PromQL 查询
  • mcp__range_query:在一段时间内执行范围 PromQL 查询
  • mcp__get_series:通过标签匹配器查找序列
  • mcp__get_label_values:获取特定标签的值
  • mcp__get_metadata:获取指标的元数据
  • mcp__get_targets:获取抓取目标的信息
  • mcp__get_alerts:获取告警信息
  • mcp__get_rules:获取记录规则和告警规则的信息
  • mcp__get_status:获取 Prometheus 服务的状态信息

开发

# Install dependencies
npm install

# Build the project
npm run build

# Start the server
npm start

# Debug
npm run dev:debug

调试

由于 MCP 服务通过 stdio 通信,调试可能比较困难。你可以使用以下 npm 脚本进行调试:

# Inspect mode
npm run inspect

# Inspect with breakpoints
npm run inspect-debug

许可证

ISC

贡献

欢迎贡献!欢迎提交 Pull Request。

评论

支持 Markdown

第一次接触 MCP?

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

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