mcpField
M
MCP Server for Prometheus

MCP Server for Prometheus

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

MCP Server for Prometheus について

Prometheus のメトリクスを取得・分析する MCP サーバーです。メトリクス情報や期間指定データ、PromQL クエリを扱う LLM ベースの用途を想定しています。

主な機能

  1. 01メトリクス名と説明の取得
  2. 02メトリクス名によるデータ取得
  3. 03任意期間のデータ分析
  4. 04メトリクスの統計分析
  5. 05PromQL クエリの実行

活用シーン

  1. 01Prometheus の利用可能なメトリクスを確認
  2. 02指定期間のメトリクス変化を調査
  3. 03PromQL でデータを探索
  4. 04取得したメトリクスの統計を分析

MCP 対応

MCP クライアントに、メトリクスメタデータ、期間指定データ、PromQL クエリなどの取得・分析ツールを提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"prometheus_mcp_server": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
起動コマンドnpx -y @smithery/cli

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

パッケージ
npm@smithery/cli

ツール

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

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

詳細

Prometheus 用 MCP サーバー

smithery badge

Prometheus データベースからデータを取得するための Model Context Protocol(MCP)サーバーです。この MCP サーバーを使用すると、大規模言語モデル(LLM)がツール関数を呼び出し、事前に定義されたルートを通じて、使用方法をより細かく制御しながら、大量のメトリクスデータの取得と分析、メトリクスの使用状況の検索、複雑なクエリの実行など、関連するさまざまなタスクを行えます。

  • データ取得:Prometheus から特定のメトリクスまたはデータ範囲を取得します。
  • メトリクス分析:取得したメトリクスの統計分析を行います。
  • 使用状況の検索:メトリクスの使用パターンを見つけて調査します。
  • 複雑なクエリ:高度な PromQL クエリを実行し、データを詳細に調査します。

機能

✅ Prometheus から名前や説明など、メトリクスに関する包括的な情報を取得します

✅ メトリクス名を使って、特定のメトリクスデータを取得、分析します

✅ カスタムの時間範囲内でメトリクスデータを分析します

🚧 特定のラベルを使ってデータをフィルタリング、照合します(開発中)

⏳ その他の機能を予定しています...

はじめに

MCP の実行には Python 仮想環境(venv)が必要です。MCP サーバーを自動的に起動できるよう、すべてのパッケージをこの venv にインストールしてください。

Smithery 経由でインストール

Smithery 経由で Prometheus MCP Server を Claude Desktop に自動インストールするには、次のようにします。

npx -y @smithery/cli install @CaesarYangs/prometheus_mcp_server --client claude
手動インストール

Python 環境を準備する

cd ./src/prometheus_mcp_server
python3 -m venv .venv
# linux/macos:
source .venv/bin/activate

# windows:
.venv\Scripts\activate

これで、専用の Python 環境として使用できるようになります。

必要なパッケージをインストールする

pip が正しくインストールされていることを確認してください。venv に pip がインストールされていない場合は、次のコマンドで手動インストールしてください。

wget https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py

次に、必要なパッケージをすべてインストールします。

pip install -r requirements.txt

使い方

Cursor 環境で使用する

より使いやすい Cursor 環境への対応を予定しています。

Cursor の設定にある MCP セクションで、次のように設定します。

uv --directory /path/to/prometheus_mcp_server run server.py

README の画像

MCP クライアント(Claude Desktop を含む)で使用する

Claude Desktop アプリの設定ファイル ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)を設定します。

{
    "mcpServers": {
        "prometheus": {
            "command": "uv",
            "args": [
                "--directory",
                "/path/to/prometheus_mcp_server",
                "run",
                "server.py"
            ],
            "env": {
                "PROMETHEUS_HOST": "http://localhost:9090"
            }
        }
    }
}
単独の MCP サーバー

この MCP サーバーを単独で起動します。

uv を使用する方法

uv --directory /path/to/prometheus_mcp_server run server.py

Claude Desktop はアプリ起動時にこの uv スクリプトを使ってサーバーを起動するため、こちらの方法でも MCP サーバーが自動的に起動できることを確認できます。

通常の Python を使用する方法

python3 server.py

コントリビュート

コントリビュートを歓迎します。簡単な手順は次のとおりです。

  1. リポジトリをフォークします
  2. フィーチャーブランチを作成します(git checkout -b feature/AmazingFeature)
  3. 変更をコミットします(git commit -m 'Add some AmazingFeature')
  4. ブランチにプッシュします(git push origin feature/AmazingFeature)
  5. プルリクエストを作成します

大きな変更を行う場合は、まずイシューを作成して、変更内容について相談してください。

コントリビュートいただき、ありがとうございます!

ライセンス

MIT License

参考資料と謝辞

このプロジェクトは、以下のオープンソースプロジェクトに着想を得たか、そのコードを使用しています。

  • Prometheus API Client - Prometheus API の呼び出しコードは、このライブラリをもとに変更しています
  • MySQL MCP Server - 同様のデータベース指向 MCP サーバーの実装です

コメント

MCP は初めてですか?

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

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