README
🚀 MCP 为 Prometheus 的服务器
MCP(模型上下文协议)服务器用于从 Prometheus 数据库检索数据。它让大型语言模型(LLMs)能调用预定义路由中的可执行工具函数,实现检索和分析大量指标数据、搜索指标使用情况、执行复杂查询等任务,还增强了使用控制。
✨ 主要特性
- 数据检索:可从 Prometheus 获取特定指标或时间段内的数据。
- 指标分析:能对检索到的指标进行统计分析。
- 使用情况搜索:可查找和探索指标使用模式。
- 复杂查询:支持执行高级 PromQL 查询以深入探索数据。
具体功能展示
✅ 可从 Prometheus 检索全面的指标信息,包括名称和描述。 ✅ 能使用指标名称获取并分析特定指标数据。 ✅ 可在自定义时间段内分析指标数据。 🚧 根据特定标签筛选和匹配数据(开发中)。 ⏳ 计划中的其他功能...
🚀 快速开始
📦 安装指南
运行 MCP 需要一个 Python 虚拟环境(venv),所有包都应安装到此 venv 中,以便 MCP 服务器能够自动启动。
准备 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
💻 使用示例
带 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 服务器
uv 方法
uv --directory /path/to/prometheus_mcp_server run server.py
这也是确保此 MCP 服务器可以自动启动的一种方式,因为 Claude Desktop 使用这种 ux 脚本方法在应用程序启动时启动。
常规 Python 方法
python3 server.py
🤝 为项目做贡献
欢迎贡献!以下是一些快速指南:
- 叉取仓库
- 创建功能分支(
git checkout -b feature/AmazingFeature) - 提交更改(
git commit -m 'Add some AmazingFeature') - 推送到分支(
git push origin feature/AmazingFeature) - 打开拉取请求
对于重大变更,请先打开问题讨论您希望更改的内容。
感谢您的贡献!
📄 许可证
MIT License
📚 详细文档
该项目灵感来源于或使用以下开源项目的代码:
- Prometheus API 客户端 - 该 Prometheus API 调用代码基于此库进行了修改
- MySQL MCP 服务器 - 类似的面向数据库的 MCP 服务器实现
微信扫一扫