使用说明
普罗米修斯MCP服务器
一个基于Go的MCP服务器,通过模型上下文协议公开Prometheus查询功能。
安装
go install github.com/yshngg/prometheus-mcp-server@latest
或者拉取Docker镜像:
docker pull ghcr.io/yshngg/prometheus-mcp-server:latest
用法
prometheus-mcp-server --prom-addr="http://localhost:9090"
旗帜
| 标志 | 默认值 | 描述 |
|---|---|---|
-prom-addr |
http://localhost:9090 |
Prometheus服务器URL |
-mcp-addr |
localhost:8080 |
MCP服务器侦听地址 |
-transport |
stdio |
stdio 或 http |
-auth-token |
` | MCP端点身份验证的承载令牌(可选) |
-version |
打印版本 |
环境变量
所有标志都可以通过环境变量设置: PROM_ADDR, MCP_ADDR, TRANSPORT, AUTH_TOKEN.
MCP客户端配置
将以下配置添加到MCP客户端:
{
"mcpServers": {
"prometheus": {
"command": "prometheus-mcp-server",
"args": ["--prom-addr", "http://localhost:9090"]
}
}
}
[!注意] 通过安装二进制文件
go install github.com/yshngg/prometheus-mcp-server@latest或者使用以下命令拉取Docker镜像docker pull ghcr.io/yshngg/prometheus-mcp-server:latest.
如果你没有安装二进制文件,请使用Docker:
{
"mcpServers": {
"prometheus": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"ghcr.io/yshngg/prometheus-mcp-server:latest",
"--prom-addr",
"http://host.docker.internal:9090"
]
}
}
}
客户端特定配置
Claude Desktop
增添 claude_desktop_config.json:
{
"mcpServers": {
"prometheus": {
"command": "prometheus-mcp-server",
"args": ["--prom-addr", "http://localhost:9090"]
}
}
}
使用Docker:
{
"mcpServers": {
"prometheus": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"ghcr.io/yshngg/prometheus-mcp-server:latest",
"--prom-addr",
"http://host.docker.internal:9090"
]
}
}
}
OpenCode
增添 opencode.json (指南):
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"prometheus": {
"type": "local",
"command": [
"prometheus-mcp-server",
"--prom-addr",
"http://localhost:9090"
]
}
}
}
HTTP Transport
使用HTTP传输运行服务器:
prometheus-mcp-server --transport=http --mcp-addr="localhost:8080"
然后配置您的客户端以使用 http://localhost:8080/mcp.
对于经过身份验证的访问,设置 AUTH_TOKEN:
AUTH_TOKEN=my-token prometheus-mcp-server --transport=http
然后,您的客户必须包括 Authorization: Bearer my-token 在请求中 /mcp.
工具
表达式: instant_query, range_query
元数据: find_series_by_labels, list_label_names, list_label_values, target_metadata_query, metric_metadata_query
发现: target_discovery, alert_query, rule_query, alertmanager_discovery
TSDB管理员: tsdb_snapshot, delete_series, clean_tombstones
管理层: health_check, readiness_check, reload, quit
资源
服务器将Prometheus数据作为URI可寻址资源公开在 prom:/// 方案:
| URI | 描述 |
|---|---|
prom:///config |
当前加载的配置(YAML) |
prom:///flags |
命令行标志值 |
prom:///runtime-info |
运行时间信息 |
prom:///build-info |
构建信息 |
prom:///tsdb-stats |
TSDB基数统计 |
prom:///wal-replay-stats |
WAL回放状态 |
资源模板
用于动态数据访问的URI模板:
| 模板 | 说明 |
|---|---|
prom:///api/v1/query?query={promql} |
即时PromQL查询结果 |
prom:///api/v1/label/{name}/values |
给定标签名称的标签值 |
提示
| 名称 | 参数 | 描述 |
|---|---|---|
all-available-metrics |
prefix (可选) |
列出Prometheus实例中的所有度量名称 |
许可证
Apache许可证2.0
