这是一个用于与 Prometheus 指标和数据交互的 Model Context Protocol (MCP) 服务器。它基于 TypeScript 实现了 Prometheus 台 API 接口,为 Claude 与您的 Prometheus 服务器之间搭建了一座桥梁,使其能够通过 Model Context Protocol (MCP) 进行交互。
# 全局安装
npm install -g prometheus-mcp-server
# 或者本地安装
npm install prometheus-mcp-server
# 或者使用 npx 运行无需安装
npx prometheus-mcp-server
要在 Claude Desktop 中使用,请添加服务器配置:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%/Claude/claude_desktop_config.json{
"mcpServers": {
"prometheus-mcp-server": {
"command": "/path/to/prometheus-mcp-server/build/index.js",
"env": {
"PROMETHEUS_HOST": "http://your-prometheus-instance:9090"
}
}
}
}
您也可以在 Claude Desktop 配置中使用 npx:
{
"mcpServers": {
"prometheus-mcp-server": {
"command": "npx prometheus-mcp-server",
"env": {
"PROMETHEUS_HOST": "http://your-prometheus-instance:9090"
}
}
}
}
服务器需要以下环境变量:
PROMETHEUS_HOST:您的 Prometheus 实例的基础 URL(默认值为 http://localhost:9090)服务器提供了以下函数:
mcp__instant_query:执行即时 PromQL 查询mcp__range_query:在一段时间范围内执行 PromQL 查询mcp__get_series:根据标签匹配器查找系列数据mcp__get_label_values:获取特定标签的值mcp__get_metadata:获取指标的元数据mcp__get_targets:获取抓取目标的信息mcp__get_alerts:获取警报信息mcp__get_rules:获取记录和警报规则的信息mcp__get_status:获取 Prometheus 服务器的状态信息# 全局安装
npm install -g prometheus-mcp-server
# 启动服务器
prometheus-mcp-server
{
"mcpServers": {
"prometheus-mcp-server": {
"command": "npx prometheus-mcp-server",
"env": {
"PROMETHEUS_HOST": "http://your-prometheus-instance:9090"
}
}
}
}
# 安装依赖项
npm install
# 构建项目
npm run build
# 启动服务器
npm start
# 调试
npm run dev:debug
由于 MCP 服务器通过 stdio 进行通信,调试可能会比较困难。您可以使用以下 npm 脚本来进行调试:
# 检查模式
npm run inspect
# 带断点检查
npm run inspect-debug
ISC
欢迎贡献!请随意提交 Pull Request。