CaesarYangs_prometheus_mcp_server

CaesarYangs_prometheus_mcp_server

🚀 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

🤝 为项目做贡献

欢迎贡献!以下是一些快速指南:

  1. 叉取仓库
  2. 创建功能分支(git checkout -b feature/AmazingFeature
  3. 提交更改(git commit -m 'Add some AmazingFeature'
  4. 推送到分支(git push origin feature/AmazingFeature
  5. 打开拉取请求

对于重大变更,请先打开问题讨论您希望更改的内容。

感谢您的贡献!

📄 许可证

MIT License

📚 详细文档

该项目灵感来源于或使用以下开源项目的代码:

  • 0 关注
  • 0 收藏,8 浏览
  • system 提出于 2025-09-24 02:33

相似服务问题