mcpField
P
prometheus-mcp-server

prometheus-mcp-server

ローカル
github.com/yshngg開発ツール414 週間前に更新

prometheus-mcp-server について

Go 製の MCP サーバーで、ツールとリソースを通じて MCP クライアントに Prometheus のクエリ、メタデータ、検出、管理、実行情報を提供します。

主な機能

  1. 01Instant・range PromQL クエリ
  2. 02メトリクスとラベルのメタデータ検索
  3. 03ターゲット、アラート、ルールの検出
  4. 04TSDB 管理操作
  5. 05Prometheus 状態リソースとプロンプト

活用シーン

  1. 01MCP クライアントから Prometheus メトリクスを検索
  2. 02ターゲット、アラート、ルールのメタデータを確認
  3. 03実行状態と TSDB 情報を確認
  4. 04対応する TSDB メンテナンス操作を実行

MCP 対応

Prometheus のクエリ・管理ツール、URI 形式のリソース、メトリクス一覧プロンプトを MCP クライアントに公開します。stdio と HTTP に対応し、HTTP エンドポイントでは任意の Bearer Token 認証を利用できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"prometheus-mcp-server-yshngg": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"pull"
]
}
}
}
起動コマンドdocker run -i --rm pull

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocipull

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Prometheus MCP Server

codecov

Model Context Protocol を介して Prometheus のクエリ機能を提供する、Go ベースの MCP サーバーです。

インストール

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-addrhttp://localhost:9090Prometheus サーバーの URL
-mcp-addrlocalhost:8080MCP サーバーのリッスンアドレス
-transportstdiostdio または 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 pull ghcr.io/yshngg/prometheus-mcp-server:latest で Docker イメージをプルしてください。

バイナリをインストールしていない場合は、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 トランスポート

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

クライアントは、/mcp へのリクエストに Authorization: Bearer my-token を含める必要があります。

ツール

式: 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

リソース

サーバーは、prom:/// スキームで URI からアクセスできるリソースとして Prometheus のデータを公開します。

URI説明
prom:///config現在読み込まれている設定(YAML)
prom:///flagsコマンドラインフラグの値
prom:///runtime-infoランタイム情報
prom:///build-infoビルド情報
prom:///tsdb-statsTSDB のカーディナリティ統計
prom:///wal-replay-statsWAL のリプレイ状態
リソーステンプレート

動的なデータアクセスに使用する URI テンプレート:

テンプレート説明
prom:///api/v1/query?query={promql}インスタント PromQL クエリの結果
prom:///api/v1/label/{name}/values指定したラベル名のラベル値

プロンプト

名前引数説明
all-available-metricsprefix(任意)Prometheus インスタンス内のすべてのメトリック名を一覧表示します

ライセンス

Apache License 2.0

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。