Skip to main content
Glama

VictoriaMetrics MCP サーバー

VictoriaMetrics用のモデルコンテキストプロトコル (MCP)サーバーの実装。

これにより、VictoriaMetricsインスタンスへのアクセスと、 VictoriaMetrics APIおよびドキュメントとのシームレスな統合が可能になります。VictoriaMetricsインスタンスに関連する監視、可観測性、デバッグタスクのための包括的なインターフェースを提供し、エンジニアやツールのための高度な自動化とインタラクション機能を実現します。

特徴

この MCP サーバーを使用すると、VictoriaMetrics のほぼすべての読み取り専用 API、つまりVMUIで使用可能なすべての機能を使用できます。

  • メトリクスのクエリとデータの探索(クライアントがサポートしている場合はグラフの描画も可能)

  • 利用可能なメトリック、ラベル、ラベル値、およびシリーズ全体の一覧表示とエクスポート

  • アラートと記録ルールとアラートの分析

  • VictoriaMetricsインスタンスのパラメータを表示しています

  • データのカーディナリティとメトリクスの使用統計を調べる

  • クエリの分析

  • 再ラベル付けルール、ダウンサンプリング、保持ポリシー設定のデバッグ

さらに、MCP サーバーには最新のドキュメントが埋め込まれており、オンライン アクセスなしで検索できます。

使用可能なツールとプロンプトの詳細については、 「使用方法」セクションを参照してください。

ツールの機能やドキュメント検索機能をプロンプトに組み合わせることで、VictoriaMetricsインスタンスの優れた活用シナリオを構築できます。ダイアログサンプルのセクションで動作例をご確認ください。MCPサーバーとそのレスポンスの品質は、クライアントの能力と使用するモデルの品質に大きく依存することにご注意ください。

MCP サーバーを他の可観測性またはドキュメント検索関連の MCP サーバーと組み合わせて、さらに強力な結果を得ることもできます。

Related MCP server: Vectara MCP server

要件

インストール

行く

go install github.com/VictoriaMetrics-Community/mcp-victoriametrics/cmd/mcp-victoriametrics@latest

ソースコード

git clone https://github.com/VictoriaMetrics-Community/mcp-victoriametrics.git
cd mcp-victoriametrics
go build -o bin/mcp-victoriametrics ./cmd/mcp-victoriametrics/main.go

# after that add bin/mcp-victoriametrics file to your PATH

バイナリ

リリースページから最新リリースをダウンロードし、PATH に配置するだけです。

ドッカー

近日公開...

構成

VictoriaMetrics の MCP サーバーは、環境変数を介して構成されます。

変数

説明

必須

デフォルト

許容値

VM_INSTANCE_ENTRYPOINT

VictoriaMetricsインスタンスへのURL

はい

-

-

VM_INSTANCE_TYPE

VictoriaMetricsインスタンスの種類

はい

-

singlecluster

VM_INSTANCE_BEARER_TOKEN

VictoriaMetrics API の認証トークン

いいえ

-

-

MCP_SERVER_MODE

サーバー動作モード

いいえ

stdio

stdiosse

MCP_SSE_ADDR

SSEサーバがリッスンするアドレス

いいえ

localhost:8080

-

設定例

# For a single-node instance
export VM_INSTANCE_ENTRYPOINT="http://localhost:8428"
export VM_INSTANCE_TYPE="single"
export VM_INSTANCE_BEARER_TOKEN="your-token"

# For a cluster
export VM_INSTANCE_ENTRYPOINT="https://play.victoriametrics.com"
export VM_INSTANCE_TYPE="cluster"

# Server mode
export MCP_SERVER_MODE="sse"
export MCP_SSE_ADDR="0.0.0.0:8080"

クライアントでの設定

カーソル

Settings -> Cursor Settings -> MCP -> Add new global MCP serverに移動し、次の構成をカーソルの~/.cursor/mcp.jsonファイルに貼り付けます。

{
  "mcpServers": {
    "victoriametrics": {
      "command": "/path/to/mcp-victoriametrics",
      "env": {
        "VM_INSTANCE_ENTRYPOINT": "<YOUR_VM_INSTANCE>",
        "VM_INSTANCE_TYPE": "<YOUR_VM_INSTANCE_TYPE>",
        "VM_INSTANCE_BEARER_TOKEN": "<YOUR_VM_BEARER_TOKEN>"
      }
    }
  }
}

詳細については、カーソル MCP のドキュメントを参照してください。

クロードデスクトップ

これを Claude Desktop のclaude_desktop_config.jsonファイルに追加します ( Settings -> Developer -> Edit configを開くと見つかります)。

{
  "mcpServers": {
    "victoriametrics": {
      "command": "/path/to/mcp-victoriametrics",
      "env": {
        "VM_INSTANCE_ENTRYPOINT": "<YOUR_VM_INSTANCE>",
        "VM_INSTANCE_TYPE": "<YOUR_VM_INSTANCE_TYPE>",
        "VM_INSTANCE_BEARER_TOKEN": "<YOUR_VM_BEARER_TOKEN>"
      }
    }
  }
}

詳細については、 Claude Desktop MCP のドキュメントを参照してください。

クロード・コード

次のコマンドを実行します。

claude mcp add victoriametrics -- /path/to/mcp-victoriametrics \
  -e VM_INSTANCE_ENTRYPOINT=<YOUR_VM_INSTANCE> \
  -e VM_INSTANCE_TYPE=<YOUR_VM_INSTANCE_TYPE>
  -e VM_INSTANCE_BEARER_TOKEN=<YOUR_VM_BEARER_TOKEN>

詳細については、 Claude Code MCP のドキュメントを参照してください。

ビジュアルスタジオコード

VS Code MCP 構成ファイルに以下を追加します。

{
  "servers": {
    "victoriametrics": {
      "type": "stdio",
      "command": "/path/to/mcp-victoriametrics",
      "env": {
        "VM_INSTANCE_ENTRYPOINT": "<YOUR_VM_INSTANCE>",
        "VM_INSTANCE_TYPE": "<YOUR_VM_INSTANCE_TYPE>",
        "VM_INSTANCE_BEARER_TOKEN": "<YOUR_VM_BEARER_TOKEN>"
      }
    }
  }
}

詳細については、 VS Code MCP ドキュメントを参照してください。

ゼッド

Zed 構成ファイルに次の内容を追加します。

  "context_servers": {
    "victoriametrics": {
      "command": {
        "path": "/path/to/mcp-victoriametrics",
        "args": [],
        "env": {
          "VM_INSTANCE_ENTRYPOINT": "<YOUR_VM_INSTANCE>",
          "VM_INSTANCE_TYPE": "<YOUR_VM_INSTANCE_TYPE>",
          "VM_INSTANCE_BEARER_TOKEN": "<YOUR_VM_BEARER_TOKEN>"
        }
      },
      "settings": {}
    }
  }

詳細については、 Zed MCP のドキュメントを参照してください。

JetBrains IDE

  • Settings -> Tools -> AI Assistant -> Model Context Protocol (MCP)を開きます。

  • Add (+)クリック

  • As JSON選択

  • 入力フィールドに次の内容を入力します。

{
  "mcpServers": {
    "victoriametrics": {
      "command": "/path/to/mcp-victoriametrics",
      "env": {
        "VM_INSTANCE_ENTRYPOINT": "<YOUR_VM_INSTANCE>",
        "VM_INSTANCE_TYPE": "<YOUR_VM_INSTANCE_TYPE>",
        "VM_INSTANCE_BEARER_TOKEN": "<YOUR_VM_BEARER_TOKEN>"
      }
    }
  }
}

ウィンドサーフィン

Windsurf MCP 構成ファイルに以下を追加します。

{
  "mcpServers": {
    "victoriametrics": {
      "command": "/path/to/mcp-victoriametrics",
      "env": {
        "VM_INSTANCE_ENTRYPOINT": "<YOUR_VM_INSTANCE>",
        "VM_INSTANCE_TYPE": "<YOUR_VM_INSTANCE_TYPE>",
        "VM_INSTANCE_BEARER_TOKEN": "<YOUR_VM_BEARER_TOKEN>"
      }
    }
  }
}

詳細については、 Windsurf MCP のドキュメントを参照してください。

アマゾンの岩盤

近日公開....

バイナリの代わりにDockerを使用する

近日公開...

使用法

MCP サーバーをインストールし構成したら、お気に入りの MCP クライアントで使用を開始できます。

次のフレーズから AI アシスタントとの対話を開始できます。

Use MCP VictoriaMetrics in the following answers

しかし、必須ではありません。質問を始めるだけで、アシスタントが自動的にツールとドキュメントを活用して最適な回答を提供します。ダイアログの例のセクションをご覧いただくと、何ができるかをより深く理解できます。

ツールセット

MCP VictoriaMetrics は、VictoriaMetrics インスタンスと対話するためのさまざまなツールを提供します。

利用可能なツールのリストは次のとおりです。

道具

説明

query

即時PromQL/MetricsQLクエリを実行する

query_range

一定期間にわたる範囲のPromQL/MetricsQLクエリを実行する

metrics

利用可能な指標の一覧

labels

利用可能なラベル名を一覧表示する

label_values

特定のラベルの値を一覧表示する

series

利用可能な時系列を一覧表示する

export

生の時系列データをJSONまたはCSVにエクスポートする

rules

アラートと記録ルールを表示する

alerts

現在のアラート(発動中および保留中)を表示する

flags

VictoriaMetricsインスタンスのデフォルト以外のフラグを表示する

metric_statistics

メトリクスの使用状況(クエリ内)の統計情報を取得する

active_queries

現在実行中のクエリを表示する

top_queries

最も頻繁なクエリや最も遅いクエリを表示する

tsdb_status

TSDB カーディナリティ統計を表示する

tenants

マルチテナント クラスタ セットアップで利用可能なテナントを一覧表示する

documentation

埋め込まれたVictoriaMetricsドキュメントを検索

metric_relabel_debug

Prometheus互換の再ラベル付けルールをデバッグする

downsampling_filters_debug

ダウンサンプリング構成のデバッグ

retention_filters_debug

保持フィルタの設定をデバッグする

プロンプト

サーバーには、一般的なタスク用の事前定義されたプロンプトが含まれています。

これらは現時点では単なる例であり、プロンプト ライブラリは将来追加される予定です。

プロンプト

説明

unused_metrics

クエリが実行されないメトリクスを見つけて、それらの取り込みを停止するための再ラベル設定を作成します。

documentation

VictoriaMetricsのドキュメントで特定のトピックを検索

rarely_used_metrics_with_high_cardinality

ほとんどクエリされない高カーディナリティの指標を特定する

ダイアログの例

これは、MCP サーバーを使用したアシスタントとのダイアログの単なる例であり、それがどのように機能するかを理解する上で役立ちます (ただし、これは Victoria Metrics MCP サーバーを Claude Desktop と共に使用し、パブリック プレイグラウンド インスタンスに構成された実際のダイアログです)。

  • あなた: 私の VM ではどのようなテナントが利用できますか?

  • アシスタント VictoriaMetrics インスタンスでは、次のテナントが利用可能です0:0 (デフォルト テナント)、 1:0 10:0 100:0

  • あなた: 今後はデフォルトのテナントのみを使用してください

  • アシスタント了解しました。今後は、VictoriaMetricsインスタンスのすべての操作にデフォルトのテナント(0:0)のみを使用します。

  • あなた: どのような指標がありますか?

  • アシスタントVictoriaMetricsインスタンスでは、多くのメトリクスが利用可能です。リストには、以下のような様々なシステムやコンポーネントからのメトリクスが含まれています。

    • システムメトリック( node_machine_など)

    • Kubernetes メトリクス ( kube_container_apiserver_など)

    • VictoriaMetrics固有のメトリック( vm_vmagent_vmalert_など)

    • Goランタイムメトリクス( go_

    • Prometheus関連のメトリクス( scrape_promhttp_ )、

    • さまざまなアプリケーション メトリック ( argocd_alertmanager_ )。

    これは、クエリ可能な2,000以上の指標を網羅したリストです。さらに詳しく調べたい指標の種類はありますか?

  • あなた: では、これからKubernetesのメトリクスを使ってみましょう。これらのメトリクスのうち、クエリが実行されていないものはどれですか?

  • アシスタント:結果に基づいて、クエリされたことがない Kubernetes メトリックが 2 つあることがわかります (クエリ数は 0)。

    • kube_persistentvolumeclaim_deletion_timestamp - このメトリックは、PersistentVolumeClaims が削除対象としてマークされた時期に関する情報を提供します。

    • kube_pod_init_container_status_last_terminated_reason - このメトリックは、ポッド内の init コンテナが最後に終了した理由を示します。

    これらのメトリックは、監視やトラブルシューティングに役立つ可能性があります。

    • PVC 削除タイムスタンプ メトリックは、削除パターンを追跡したり、スタックされた PVC を識別したりするのに役立ちます。

    • 初期化コンテナの終了理由メトリックは、初期化コンテナの一般的な障害パターンを識別するのに役立ちます。

    これらのメトリックが追跡する内容についてさらに詳しく説明したり、監視を開始するための便利なクエリを提案したりしますか?

  • あなた: はい、お願いします。また、これらのメトリクスの取り込みを停止するための再ラベル付けルールを作成していただけますか?

  • アシスタントこれらのクエリされていないメトリクスを収集から除外するための再ラベル設定を作成します。これにより、ストレージと処理のオーバーヘッドを削減できます。VictoriaMetricsのスクレイピング設定に追加できる再ラベル設定は次のとおりです。

    relabel_configs:
    - action: drop
      source_labels: [__name__]
      regex: kube_persistentvolumeclaim_deletion_timestamp|kube_pod_init_container_status_last_terminated_reason

    この構成では次のようになります。

    1. 各メトリックの名前( __name__ラベル)を確認します。

    2. 指定されたメトリックのいずれかに一致するかどうかを確認します

    3. 一致するメトリックを削除し、収集および保存されないようにします。

    VictoriaMetricsの設定ファイルに追加するか、PrometheusをVictoriaMetricsのスクレイパーとして使用している場合は、Prometheus設定内の関連するスクレイピングジョブ設定に追加してください。 この再ラベル設定を実装前にテストしたい場合は、メトリック再ラベルデバッグツールを使用して、メトリックにどのような影響があるかを確認できます。

  • あなた: はい、このラベル変更構成をリアルタイムシリーズでデバッグして、それが私のメトリクスにどのような影響を与えるかを確認してください。

  • アシスタント:完璧です! ラベル変更の設定は期待通りに動作しました:

    • 最初の 2 つのテスト ケースでは、 kube_persistentvolumeclaim_deletion_timestampkube_pod_init_container_status_last_terminated_reason両方のメトリックが正しくドロップされていることがわかります (結果のラベルは空の{}になります)。

    • 3 番目のテスト ケースでは、 kube_pod_status_phaseなどの他のメトリックが保持され、ドロップ ルールの影響を受けないことを確認します。

    VictoriaMetricsまたはPrometheusの設定にこの再ラベル設定を追加することで、これらの未使用のメトリクスの収集を停止できます。これにより、現在の監視機能に影響を与えることなく、ストレージ容量を節約し、処理オーバーヘッドを削減できます。

  • あなた: しかし、私は VictoriaMetrics オペレーターの vmagent リソースを使用しているので、この再ラベル構成を使用したエージェントの仕様の一部を教えていただけますか?

  • アシスタント:おっしゃる通りです。VictoriaMetrics Operator と VMAgent カスタムリソースをご利用なので、設定は CR に適した形式である必要があります。VMAgent 仕様に relabel 設定を追加する手順は以下のとおりです。

    apiVersion: operator.victoriametrics.com/v1beta1
    kind: VMAgent
    metadata:
    name: your-vmagent-name
    spec:
      # ... your existing configuration ...
      
      # Add this section to configure global metric relabeling
      inlineRelabelConfig:
        - action: drop
          sourceLabels: ["__name__"]
          regex: kube_persistentvolumeclaim_deletion_timestamp|kube_pod_init_container_status_last_terminated_reason
      
      # ... rest of your configuration ...

    要点:

    • VMAgent仕様では、インライン再ラベル付けルールにinlineRelabelConfigを使用します。

    • このフィールドはsourceLabelsと呼ばれます(Prometheus設定のsource_labelsではありません)。

    • これは、保存される前にすべての指標に適用されるグローバルな再ラベル付けです。

  • あなた: これらのメトリックは削除せず、ダウンサンプリングを使ってサンプルレートを下げることにしました。ダウンサンプリングのパラメータは今どうなっていますか?

  • アシスタント:現在、ダウンサンプリング構成は次のようになっています。

    -downsampling.period="7d:1m,30d:5m,180d:30m"

    これはつまり:

    • 7日以上経過したデータは元の解像度で保存されます

    • 7~30日前のデータは1分単位の解像度にダウンサンプリングされます

    • 30~180日前のデータは5分単位の解像度にダウンサンプリングされます

    • 180日以上前のデータは30分単位にダウンサンプリングされます

    クエリ頻度の低い指標に特定のダウンサンプリングルールを追加したい場合は、ダウンサンプリングフィルターのデバッグツールを使用して、新しいルールの動作をテストできます。これらの特定の指標に、より積極的なダウンサンプリングを適用する設定をテストしてみましょう。

    ...シリーズを取得し、ダウンサンプリング フィルター デバッガーを使用しています...

    素晴らしい!これでテストは正常に動作しています。現在の設定とテスト結果に基づき、VMAgent CR の推奨ダウンサンプリング設定を以下に示します。この設定では、クエリ頻度の低いメトリクスに対して、より積極的なダウンサンプリングが適用されます。

    apiVersion: operator.victoriametrics.com/v1beta1
    kind: VMCluster
    metadata:
      name: monitoring-vm-cluster
    spec:
      # ... your existing configuration ...
      
      # Update the vmstorage section with the new downsampling parameters
      vmstorage:
        extraArgs:
          downsampling.period: '{__name__=\"kube_persistentvolumeclaim_deletion_timestamp\"}:1d:10m,{__name__=\"kube_pod_init_container_status_last_terminated_reason\"}:1d:10m,7d:1m,30d:5m,180d:30m'
      
      # ... rest of your configuration ...

    この構成:

    - わずか 1 日後に、ほとんどクエリされないメトリクスに対して 10 分解像度のダウンサンプリングを適用します - 他のすべてのメトリクスに対しては、既存のダウンサンプリング ポリシーを維持します

    ダウンサンプリング ルールの順序は重要です。より具体的なルールを最初にリストする必要があります。

このダイアログ中、アシスタントは次のツールを使用していました。

  • 利用可能なテナントのリストを取得するには、 tenants使用します。

  • 機能とデータ形式に関する情報を取得するためのdocumentation

  • 利用可能なメトリックのリストを取得するためのmetrics

  • メトリクスの使用状況に関する情報を取得するためのmetrics_staistics

  • デバッグ用の時系列を取得するためのseries

  • 再ラベル付けルールをデバッグするためのmetric_relabel_debug

  • インスタンスパラメータに関する情報を取得するためのflags

  • ダウンサンプリング設定をデバッグするためのdownsampling_filters_debug

ただし、他のツールを使用して、独自の方法で組み合わせることもできます。

免責事項

AIサービスやエージェント、そしてこのようなMCPサーバーは、結果の正確性、完全性、信頼性を保証するものではありません。AIで得られた結果は、ご自身で再確認する必要があります。MCPサーバーとその応答の品質は、クライアントの能力と使用するモデルの品質に大きく依存します。

貢献

MCP VictoriaMetrics プロジェクトへの貢献を歓迎します。問題、機能リクエスト、プルリクエストなど、お気軽にご提出ください。

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/VictoriaMetrics/mcp-victoriametrics'

If you have feedback or need assistance with the MCP directory API, please join our Discord server