Prometheus MCP服务器

一个基于TypeScript的MCP服务器,提供与Prometheus指标和数据交互的API接口,作为Claude与Prometheus服务器之间的桥梁。

  • by weetime
  • JavaScript
  • 本地部署
  • 6 星标
  • 更新于
在 GitHub 查看 weetime/prometheus-mcp-server

使用说明

普罗米修斯mcp服务器

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

这是一个基于类型脚本的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"
      }
    }
  }
}

配置

默认情况下,客户端连接到运行在以下位置的Prometheus服务器 http://localhost:9090。您可以通过设置以下参数来配置Prometheus服务器URL PROMETHEUS_BASE_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

许可证

国际协调委员会

贡献

欢迎投稿!请随时提交拉取请求。