关于 MCP Server for Prometheus
MCP 服务让 LLM 通过预定义工具查询 Prometheus 指标,适用于需要从时序数据库检索和分析指标的场景。支持指标信息、时间范围数据及 PromQL 查询。
主要功能
- 01检索指标名称与描述
- 02按指标名获取数据
- 03分析自定义时间范围数据
- 04统计分析指标
- 05执行 PromQL 查询
适用场景
- 01了解 Prometheus 中可用指标
- 02检查指标在指定时段的变化
- 03通过 PromQL 探索数据
- 04分析检索到的指标统计信息
MCP 相关
该 MCP 服务向 MCP 客户端提供 Prometheus 指标检索与分析工具,包括指标信息查询、时间范围数据获取和 PromQL 查询。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Prometheus 的 MCP 服务
用于从 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

使用 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
贡献
欢迎贡献!以下是简要指南:
- Fork 此仓库
- 创建功能分支(
git checkout -b feature/AmazingFeature) - 提交更改(
git commit -m 'Add some AmazingFeature') - 推送到该分支(
git push origin feature/AmazingFeature) - 创建 Pull Request
如果要进行重大更改,请先提交 issue,讨论您想要修改的内容。
感谢您的贡献!
许可证
MIT 许可证
参考与致谢
本项目的灵感来源于以下开源项目,或使用了其中的代码:
- Prometheus API Client - Prometheus API 调用代码基于此库修改
- MySQL MCP Server - 一个类似的、面向数据库的 MCP 服务实现
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。