舞会mcp
   
prom-mcp 是一个可流式传输的HTTP MCP服务器,用于查询与Prometheus兼容的API,专为AI代理构建。
它公开了一个MCP端点和一组高信号工具,用于度量发现、PromQL执行、查询分析、警报上下文和运行时诊断。
为什么舞会mcp
- 专为Prometheus、Mimir、Thanos和VictoriaMetrics API表面设计。
- 默认情况下,范围宽度、估计系列计数和估计样本的查询控件是安全的。
- 响应整形模式(
raw,summary,smart,table)针对代理工作流进行了调优。 - 每会话MCP速率限制,以保护上游普罗米修斯。
- 可选的内存操作历史记录,带有用于调试的查询哈希。
- 标准操作端点:
/healthz,/readyz,/metrics.
安装
选项1,GitHub发布二进制文件
从下载最新存档 发布 对于您的平台:
linux-amd64linux-aarch64macos-aarch64windows-amd64
选项2,容器图像
已发布的图片可在 ghcr.io/jpetrucciani/prom-mcp:.
docker run --rm -p 8081:8081 \
-v "$(pwd)/config.toml:/config.toml:ro" \
ghcr.io/jpetrucciani/prom-mcp: \
--config /config.toml选项3,从源代码构建
cargo install --path .
prom-mcp --help快速开始
- 从示例配置开始:
cp config.example.toml config.toml- 运行服务器:
prom-mcp --config ./config.toml- 验证基本健康状况:
curl -sS http://127.0.0.1:8081/healthz
curl -sS http://127.0.0.1:8081/readyz
curl -sS http://127.0.0.1:8081/metrics | head您还可以使用环境变量启动:
PROM_MCP_PROMETHEUS_URL=http://127.0.0.1:9090 \
PROM_MCP_LISTEN=0.0.0.0:8081 \
prom-mcpMCP端点
POST /mcp,可流式传输HTTP MCP传输端点。
MCP握手顺序:
- 呼叫
initialize. - 发送
notifications/initialized. - 呼叫
tools/list,然后调用工具。
客户端端点配置示例:
{
"mcpServers": {
"prometheus": {
"transport": "streamable-http",
"url": "http://127.0.0.1:8081/mcp"
}
}
}工具目录
发现和模式
prom_describe_schemaprom_list_metricsprom_describe_metricprom_list_labelsprom_label_valuesprom_series
查询与分析
prom_query_instantprom_query_rangeprom_build_queryprom_run_saved_queryprom_query_statsprom_compare_rangesprom_top_seriesprom_detect_anomaliesprom_explain_query
警报和规则
prom_list_alertsprom_list_rulesprom_alert_historyprom_suggest_alert
运行时诊断
prom_check_healthprom_tsdb_stats
配置
配置优先级:
- 配置文件, `--config
或本地 config.toml` 如果存在。
- 环境变量,
PROM_MCP_*. - CLI标志,最高优先级。
参考配置: config.example.toml.
常见环境变量:
PROM_MCP_LISTENPROM_MCP_TIMEZONEPROM_MCP_LOG_LEVELPROM_MCP_LOG_FORMAT(json启用结构化日志记录)PROM_MCP_PROMETHEUS_URLPROM_MCP_PROMETHEUS_TENANT_IDPROM_MCP_PROMETHEUS_AUTH_TYPE(none,basic,bearer)PROM_MCP_PROMETHEUS_USERNAMEPROM_MCP_PROMETHEUS_PASSWORDPROM_MCP_PROMETHEUS_TOKENPROM_MCP_PROMETHEUS_CA_CERTPROM_MCP_PROMETHEUS_BACKEND_TYPE(prometheus,mimir,thanos,victoriametrics)PROM_MCP_GUARDRAILS_MAX_RANGEPROM_MCP_GUARDRAILS_MAX_SERIESPROM_MCP_GUARDRAILS_MAX_SAMPLESPROM_MCP_RATE_LIMIT_ENABLEDPROM_MCP_RATE_LIMIT_RPSPROM_MCP_RATE_LIMIT_BURSTPROM_MCP_ACTION_HISTORY_ENABLEDPROM_MCP_ACTION_HISTORY_MAX_ENTRIESPROM_MCP_ACTION_HISTORY_ENDPOINT_ENABLED
授权规则:
auth_type = "basic"需要用户名和密码。auth_type = "bearer"需要令牌。
后端兼容性说明:
- 当
prometheus.backend_type是mimir或thanos,prom-mcp可以重试请求/prometheus/api/v1/...当平原/api/v1/...返回404。
HTTP端点
POST /mcp,MCP传输。GET /healthz,活性终点。GET /readyz,就绪端点,返回503当上游不可用时。GET /metrics普罗米修斯自我度量。GET /debug/recent-actions,可选操作历史终结点,仅在启用时。
码头工人
发布自动化发布多拱形图像,并在标签匹配时发布存档 v*.
本地映像构建:
mkdir -p target/container/release
cp target/release/prom-mcp target/container/release/prom-mcp
docker build -t prom-mcp:local .
docker run --rm -p 8081:8081 prom-mcp:local --help发展
cargo fmt
cargo clippy --all --benches --tests --examples --all-features -- -D warnings -W clippy::collapsible_else_if
cargo test --verbose如果您使用Nix:
nix develop