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.
Integrations
Provides access to Prometheus metrics and queries, allowing execution of PromQL queries, metrics discovery and exploration, viewing instant and range query results, and retrieving target information from a Prometheus server.
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 客户端提供的工具。如果您不使用某些功能,或者不想占用太多上下文窗口空间,此功能非常有用。
用法
- 确保您的 Prometheus 服务器可从运行此 MCP 服务器的环境访问。
- 通过
.env
文件或系统环境变量配置 Prometheus 服务器的环境变量:
- 将服务器配置添加到客户端配置文件中。例如,对于 Claude Desktop:
注意:如果您在 Claude Desktop 中看到
Error: spawn uv ENOENT
,则可能需要指定uv
的完整路径或在配置中设置环境变量NO_UV=1
。
Docker 使用
该项目包括 Docker 支持,以便于部署和隔离。
构建 Docker 镜像
使用以下方式构建 Docker 镜像:
使用 Docker 运行
您可以通过多种方式使用 Docker 运行服务器:
直接使用 docker run:
使用docker-compose:
使用您的 Prometheus 凭据创建一个.env
文件,然后运行:
在 Claude Desktop 中使用 Docker 运行
要将容器化服务器与 Claude Desktop 一起使用,请更新配置以使用带有环境变量的 Docker:
此配置通过使用仅带有变量名的-e
标志,并在env
对象中提供实际值,将环境变量从 Claude Desktop 传递到 Docker 容器。
关于 Docker 实现的说明:Docker 设置已更新,以匹配 chess-mcp 项目的结构,该项目已被证明可以与 Claude 正确配合。新的实现采用多阶段构建流程,并直接运行入口点脚本,无需中间的 shell 脚本。这种方法确保正确处理 MCP 通信的标准输入/输出 (stdin/stdout)。
发展
欢迎贡献代码!如果您有任何建议或改进,请提交 issue 或 pull request。
本项目使用uv
来管理依赖项。请按照您平台的说明安装uv
:
然后,您可以创建一个虚拟环境并使用以下命令安装依赖项:
项目结构
该项目已采用src
目录结构进行组织:
测试
该项目包括一个全面的测试套件,可确保功能并有助于防止回归。
使用 pytest 运行测试:
测试分为:
- 配置验证测试
- 服务器功能测试
- 错误处理测试
- 主要应用测试
当添加新功能时,请同时添加相应的测试。
工具
工具 | 类别 | 描述 |
---|---|---|
execute_query | 询问 | 针对 Prometheus 执行 PromQL 即时查询 |
execute_range_query | 询问 | 执行包含开始时间、结束时间和步长间隔的 PromQL 范围查询 |
list_metrics | 发现 | 列出 Prometheus 中所有可用的指标 |
get_metric_metadata | 发现 | 获取特定指标的元数据 |
get_targets | 发现 | 获取有关所有抓取目标的信息 |
执照
麻省理工学院
This server cannot be installed
通过标准化模型上下文协议接口提供对 Prometheus 指标和查询的访问,允许 AI 助手执行 PromQL 查询并分析指标数据。