Skip to main content
Glama

Prometheus MCP Server

MIT License
111
  • Linux
  • Apple

Prometheus MCP 服务器

Prometheus 的模型上下文协议(MCP) 服务器。

这可以通过标准化的 MCP 接口访问您的 Prometheus 指标和查询,从而允许 AI 助手执行 PromQL 查询并分析您的指标数据。

特征

  • [x] 针对 Prometheus 执行 PromQL 查询
  • [x] 发现并探索指标
    • [x] 列出可用指标
    • [x] 获取特定指标的元数据
    • [x] 查看即时查询结果
    • [x] 查看不同步长间隔的范围查询结果
  • [x] 身份验证支持
    • [x] 来自环境变量的基本身份验证
    • [x] 来自环境变量的 Bearer 令牌认证
  • [x] Docker 容器化支持
  • [x] 为AI助手提供交互工具

工具列表是可配置的,因此您可以选择要向 MCP 客户端提供的工具。如果您不使用某些功能,或者不想占用太多上下文窗口空间,此功能非常有用。

用法

  1. 确保您的 Prometheus 服务器可从运行此 MCP 服务器的环境访问。
  2. 通过.env文件或系统环境变量配置 Prometheus 服务器的环境变量:
# Required: Prometheus configuration PROMETHEUS_URL=http://your-prometheus-server:9090 # Optional: Authentication credentials (if needed) # Choose one of the following authentication methods if required: # For basic auth PROMETHEUS_USERNAME=your_username PROMETHEUS_PASSWORD=your_password # For bearer token auth PROMETHEUS_TOKEN=your_token # Optional: For multi-tenant setups like Cortex, Mimir or Thanos ORG_ID=your_organization_id
  1. 将服务器配置添加到客户端配置文件中。例如,对于 Claude Desktop:
{ "mcpServers": { "prometheus": { "command": "uv", "args": [ "--directory", "<full path to prometheus-mcp-server directory>", "run", "src/prometheus_mcp_server/main.py" ], "env": { "PROMETHEUS_URL": "http://your-prometheus-server:9090", "PROMETHEUS_USERNAME": "your_username", "PROMETHEUS_PASSWORD": "your_password" } } } }

注意:如果您在 Claude Desktop 中看到Error: spawn uv ENOENT ,则可能需要指定uv的完整路径或在配置中设置环境变量NO_UV=1

Docker 使用

该项目包括 Docker 支持,以便于部署和隔离。

预建 Docker 镜像

使用此项目的最简单方法是使用来自 GitHub Container Registry 的预构建映像:

docker pull ghcr.io/pab1it0/prometheus-mcp-server:latest

您还可以使用带有标签的特定版本:

docker pull ghcr.io/pab1it0/prometheus-mcp-server:1.0.0

在本地构建 Docker 镜像

如果您希望自己构建图像:

docker build -t prometheus-mcp-server .

使用 Docker 运行

您可以通过多种方式使用 Docker 运行服务器:

使用 docker run 和预先构建的图像:
docker run -it --rm \ -e PROMETHEUS_URL=http://your-prometheus-server:9090 \ -e PROMETHEUS_USERNAME=your_username \ -e PROMETHEUS_PASSWORD=your_password \ ghcr.io/pab1it0/prometheus-mcp-server:latest
使用 docker run 和本地构建的图像:
docker run -it --rm \ -e PROMETHEUS_URL=http://your-prometheus-server:9090 \ -e PROMETHEUS_USERNAME=your_username \ -e PROMETHEUS_PASSWORD=your_password \ prometheus-mcp-server
使用docker-compose:

使用您的 Prometheus 凭据创建一个.env文件,然后运行:

docker-compose up

在 Claude Desktop 中使用 Docker 运行

要将容器化服务器与 Claude Desktop 一起使用,请更新配置以使用带有环境变量的 Docker:

{ "mcpServers": { "prometheus": { "command": "docker", "args": [ "run", "--rm", "-i", "-e", "PROMETHEUS_URL", "-e", "PROMETHEUS_USERNAME", "-e", "PROMETHEUS_PASSWORD", "ghcr.io/pab1it0/prometheus-mcp-server:latest" ], "env": { "PROMETHEUS_URL": "http://your-prometheus-server:9090", "PROMETHEUS_USERNAME": "your_username", "PROMETHEUS_PASSWORD": "your_password" } } } }

此配置通过使用仅带有变量名的-e标志,并在env对象中提供实际值,将环境变量从 Claude Desktop 传递到 Docker 容器。

关于 Docker 实现的说明:Docker 设置已更新,以匹配 chess-mcp 项目的结构,该项目已被证明可以与 Claude 正确配合。新的实现采用多阶段构建流程,并直接运行入口点脚本,无需中间的 shell 脚本。这种方法确保正确处理 MCP 通信的标准输入/输出 (stdin/stdout)。

发展

欢迎贡献代码!如果您有任何建议或改进,请创建 issue 或提交 pull request。

本项目使用uv来管理依赖项。请按照您平台的说明安装uv

curl -LsSf https://astral.sh/uv/install.sh | sh

然后,您可以创建一个虚拟环境并使用以下命令安装依赖项:

uv venv source .venv/bin/activate # On Unix/macOS .venv\Scripts\activate # On Windows uv pip install -e .

项目结构

该项目已采用src目录结构进行组织:

prometheus-mcp-server/ ├── src/ │ └── prometheus_mcp_server/ │ ├── __init__.py # Package initialization │ ├── server.py # MCP server implementation │ ├── main.py # Main application logic ├── Dockerfile # Docker configuration ├── docker-compose.yml # Docker Compose configuration ├── .dockerignore # Docker ignore file ├── pyproject.toml # Project configuration └── README.md # This file

测试

该项目包括一个全面的测试套件,可确保功能并有助于防止回归。

使用 pytest 运行测试:

# Install development dependencies uv pip install -e ".[dev]" # Run the tests pytest # Run with coverage report pytest --cov=src --cov-report=term-missing

测试分为:

  • 配置验证测试
  • 服务器功能测试
  • 错误处理测试
  • 主要应用测试

当添加新功能时,请同时添加相应的测试。

工具

工具类别描述
execute_query询问针对 Prometheus 执行 PromQL 即时查询
execute_range_query询问执行包含开始时间、结束时间和步长间隔的 PromQL 范围查询
list_metrics发现列出 Prometheus 中所有可用的指标
get_metric_metadata发现获取特定指标的元数据
get_targets发现获取有关所有抓取目标的信息

执照

麻省理工学院


Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

通过标准化模型上下文协议接口提供对 Prometheus 指标和查询的访问,允许 AI 助手执行 PromQL 查询并分析指标数据。

  1. 特征
    1. 用法
      1. Docker 使用
        1. 预建 Docker 镜像
        2. 在本地构建 Docker 镜像
        3. 使用 Docker 运行
        4. 在 Claude Desktop 中使用 Docker 运行
      2. 发展
        1. 项目结构
          1. 测试
          2. 工具
        2. 执照

          Related MCP Servers

          • A
            security
            A
            license
            A
            quality
            Enables AI assistants to interact with Meilisearch via the Model Context Protocol, allowing comprehensive index, document, and search management through a standardized interface.
            Last updated -
            68
            4
            TypeScript
            MIT License
            • Apple
            • Linux
          • -
            security
            A
            license
            -
            quality
            An MCP server that enables Large Language Models to retrieve, analyze, and query metric data from Prometheus databases through pre-defined routes.
            Last updated -
            24
            Python
            MIT License
            • Linux
            • Apple
          • -
            security
            A
            license
            -
            quality
            A Model Context Protocol server that allows AI tools to connect to and interact with your Directus API, enabling automated access to collections, items, and user data.
            Last updated -
            64
            25
            TypeScript
            MIT License
            • Linux
            • Apple
          • -
            security
            F
            license
            -
            quality
            A tool that enables access to Prometheus metrics data through a Model Context Protocol server, allowing interaction with monitoring data using natural language.
            Last updated -
            Python

          View all related MCP servers

          MCP directory API

          We provide all the information about MCP servers via our MCP API.

          curl -X GET 'https://glama.ai/api/mcp/v1/servers/pab1it0/prometheus-mcp-server'

          If you have feedback or need assistance with the MCP directory API, please join our Discord server