mcpField
M
MCP Server for Prometheus

MCP Server for Prometheus

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

关于 MCP Server for Prometheus

MCP 服务让 LLM 通过预定义工具查询 Prometheus 指标,适用于需要从时序数据库检索和分析指标的场景。支持指标信息、时间范围数据及 PromQL 查询。

主要功能

  1. 01检索指标名称与描述
  2. 02按指标名获取数据
  3. 03分析自定义时间范围数据
  4. 04统计分析指标
  5. 05执行 PromQL 查询

适用场景

  1. 01了解 Prometheus 中可用指标
  2. 02检查指标在指定时段的变化
  3. 03通过 PromQL 探索数据
  4. 04分析检索到的指标统计信息

MCP 相关

该 MCP 服务向 MCP 客户端提供 Prometheus 指标检索与分析工具,包括指标信息查询、时间范围数据获取和 PromQL 查询。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"prometheus_mcp_server": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
启动命令npx -y @smithery/cli

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

安装包
npm@smithery/cli

工具

还没有获取到工具列表

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

详细介绍

Prometheus 的 MCP 服务

smithery badge

用于从 Prometheus 数据库检索数据的模型上下文协议(MCP)服务。此 MCP 服务使大语言模型(LLM)能够调用工具函数,以通过预定义路由检索和分析大量指标数据、搜索指标用法、执行复杂查询以及完成其他相关任务,并增强对使用方式的控制。

  • 数据检索:从 Prometheus 获取特定指标或一段时间范围内的数据。
  • 指标分析:对检索到的指标进行统计分析。
  • 用法搜索:查找并探索指标用法模式。
  • 复杂查询:执行高级 PromQL 查询,深入探索数据。

功能

✅ 从 Prometheus 获取全面的指标信息,包括名称和描述

✅ 使用指标名称获取并分析特定指标数据

✅ 分析自定义时间范围内的指标数据

🚧 使用特定标签筛选和匹配数据(正在开发中)

⏳ 计划添加更多功能……

开始使用

运行 MCP 需要 Python 虚拟环境(venv),所有软件包都应安装到此 venv 中,以便 MCP 服务能够自动启动。

通过 Smithery 安装

通过 Smithery 为 Claude Desktop 自动安装 Prometheus MCP Server:

npx -y @smithery/cli install @CaesarYangs/prometheus_mcp_server --client claude
手动安装

准备 Python 环境

cd ./src/prometheus_mcp_server
python3 -m venv .venv
# linux/macos:
source .venv/bin/activate

# windows:
.venv\Scripts\activate

然后即可将其用作专用 Python 环境。

安装所需软件包

确保已正确安装 pip。如果创建 venv 时未安装 pip,请手动安装:

wget https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py

然后安装所有所需软件包:

pip install -r requirements.txt

使用方法

使用 Cursor Env

即将更新,以便适配更易用的 Cursor 环境。

在 Cursor 设置中的 MCP 部分设置以下内容:

uv --directory /path/to/prometheus_mcp_server run server.py

README 配图

使用 MCP 客户端(包括 Claude Desktop)

在 Claude Desktop 应用的配置文件 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)中进行配置。

{
    "mcpServers": {
        "prometheus": {
            "command": "uv",
            "args": [
                "--directory",
                "/path/to/prometheus_mcp_server",
                "run",
                "server.py"
            ],
            "env": {
                "PROMETHEUS_HOST": "http://localhost:9090"
            }
        }
    }
}
独立运行 MCP 服务

单独启动此 MCP 服务:

uv 方式

uv --directory /path/to/prometheus_mcp_server run server.py

这也是一种确保 MCP 服务能够自动启动的方法,因为 Claude Desktop 在应用启动时会使用这种 uv 脚本方式启动服务。

常规 Python 方式

python3 server.py

贡献

欢迎贡献!以下是简要指南:

  1. Fork 此仓库
  2. 创建功能分支(git checkout -b feature/AmazingFeature)
  3. 提交更改(git commit -m 'Add some AmazingFeature')
  4. 推送到该分支(git push origin feature/AmazingFeature)
  5. 创建 Pull Request

如果要进行重大更改,请先提交 issue,讨论您想要修改的内容。

感谢您的贡献!

许可证

MIT 许可证

参考与致谢

本项目的灵感来源于以下开源项目,或使用了其中的代码:

评论

支持 Markdown

第一次接触 MCP?

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

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