
这是一个用于与Prometheus指标和数据交互的Model Context Protocol (MCP)服务器。该服务器基于TypeScript实现了一个Prometheus API接口,通过Model Context Protocol (MCP)在Claude和你的Prometheus服务器之间提供桥梁。
# 全局安装
npm install -g prometheus-mcp-server
# 或者本地安装
npm install prometheus-mcp-server
# 或者使用npx运行而不进行安装
npx prometheus-mcp-server
要在Claude Desktop中使用,请添加服务器配置:
在MacOS上:~/Library/Application Support/Claude/claude_desktop_config.json
在Windows上:%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"prometheus-mcp-server": {
"command": "/path/to/prometheus-mcp-server/build/index.js",
"env": {
"PROMETHEUS_BASE_URL": "http://your-prometheus-instance:9090"
}
}
}
}
你也可以在Claude Desktop配置中使用npx:
{
"mcpServers": {
"prometheus-mcp-server": {
"command": "npx prometheus-mcp-server",
"env": {
"PROMETHEUS_BASE_URL": "http://your-prometheus-instance:9090"
}
}
}
}
默认情况下,客户端连接到运行在http://localhost:9090的Prometheus服务器。你可以通过设置PROMETHEUS_BASE_URL环境变量来配置Prometheus服务器的URL:
# 示例:连接到不同的Prometheus服务器
PROMETHEUS_BASE_URL=http://my-prometheus-server:9090 prometheus-mcp-server
这允许你指向任何Prometheus实例,而无需修改源代码。
服务器提供了以下功能:
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
# 构建项目
npm run build
# 启动服务器
npm start
# 调试
npm run dev:debug
由于MCP服务器通过stdio通信,调试可能会比较困难。你可以使用以下npm脚本进行调试:
# 检查模式
npm run inspect
# 带断点检查
npm run inspect-debug
ISC
欢迎贡献!请随时提交Pull Request。