mcpField
V
VictoriaMetrics MCP Server

VictoriaMetrics MCP Server

ローカル
victoriametrics.comクラウド・インフラ2413 日前に更新

VictoriaMetrics MCP Server について

VictoriaMetrics MCP Serverは、VictoriaMetricsやVictoriaMetrics Cloudを利用するエンジニアやツール向けに、監視とデバッグのインターフェースを提供します。大半の読み取り専用APIを扱い、オフライン検索可能なドキュメントを内蔵しています。

主な機能

  1. 01メトリクスのクエリとデータ探索
  2. 02メトリクス、ラベル、系列の一覧表示とエクスポート
  3. 03アラートと記録ルールの分析
  4. 04インスタンス設定とカーディナリティの確認
  5. 05クエリの分析、トレース、説明
  6. 06内蔵ドキュメントのオフライン検索

活用シーン

  1. 01VictoriaMetricsインスタンスのメトリクスデータの調査
  2. 02アラートルールとメトリクス使用状況の確認
  3. 03リラベル、ダウンサンプリング、保持設定のデバッグ
  4. 04VictoriaMetricsドキュメントのオフライン検索

MCP 対応

MCP サーバーとして、VictoriaMetricsの読み取り専用API機能をMCPクライアントに公開し、ツール、リソース、プロンプトを提供します。stdio、SSE、Streamable HTTPのトランスポートに対応します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"victoriametrics": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"VM_INSTANCE_ENTRYPOINT",
"-e",
"VM_INSTANCE_TYPE",
"-e",
"VM_INSTANCE_BEARER_TOKEN",
"-e",
"VMC_API_KEY",
"-e",
"MCP_DISABLED_TOOLS",
"-e",
"MCP_DISABLE_RESOURCES",
"ghcr.io/victoriametrics-community/mcp-victoriametrics:1.18.0"
],
"env": {
"VM_INSTANCE_ENTRYPOINT": "<VM_INSTANCE_ENTRYPOINT>",
"VM_INSTANCE_TYPE": "<VM_INSTANCE_TYPE>",
"VM_INSTANCE_BEARER_TOKEN": "<VM_INSTANCE_BEARER_TOKEN>",
"VMC_API_KEY": "<VMC_API_KEY>",
"MCP_DISABLED_TOOLS": "<MCP_DISABLED_TOOLS>",
"MCP_DISABLE_RESOURCES": "<MCP_DISABLE_RESOURCES>"
}
}
}
}
起動コマンドdocker run -i --rm -e VM_INSTANCE_ENTRYPOINT -e VM_INSTANCE_TYPE -e VM_INSTANCE_BEARER_TOKEN -e VMC_API_KEY -e MCP_DISABLED_TOOLS -e MCP_DISABLE_RESOURCES ghcr.io/victoriametrics-community/mcp-victoriametrics:1.18.0
設定が必要な環境変数
VM_INSTANCE_ENTRYPOINTURL to VictoriaMetrics instance (it should be root URL of vmsingle or vmselect), for example http://localhost:8428 or https://play.victoriametrics.com
VM_INSTANCE_TYPEType of VictoriaMetrics instance (single / cluster)
VM_INSTANCE_BEARER_TOKENシークレットAuthentication token for VictoriaMetrics API
VMC_API_KEYシークレットOptional: API key from VictoriaMetrics Cloud Console (if you have deployment in VictoriaMetrics Cloud)
MCP_DISABLED_TOOLSComma-separated list of tools to disable
MCP_DISABLE_RESOURCESDisable all resources (documentation tool will continue to work)

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

パッケージ
ocighcr.io/victoriametrics-community/mcp-victoriametrics:1.18.0

ツール

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

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

詳細

翻訳後に原文が更新されています。最新の内容は原文をご確認ください。

vm-community-icon VictoriaMetrics MCP サーバー

Latest Release Trust Score License Slack X Reddit

VictoriaMetrics 向けの Model Context Protocol(MCP) サーバー実装です。

VictoriaMetrics インスタンスにアクセスし、VictoriaMetrics API やドキュメントとシームレスに連携できます。 VictoriaMetrics インスタンスに関する監視、オブザーバビリティ、デバッグのタスクに対応する包括的なインターフェースを提供し、エンジニアやツール向けの高度な自動化機能と操作機能を実現します。

機能

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

  • メトリクスのクエリとデータの探索(クライアントが対応している場合はグラフの描画も可能です)
  • 利用可能なメトリクス、ラベル、ラベル値、シリーズ全体の一覧表示とエクスポート
  • アラートルール、記録ルール、アラートの分析とテスト
  • VictoriaMetrics インスタンスのパラメーターの表示
  • データのカーディナリティとメトリクスの使用状況統計の調査
  • クエリの分析、トレース、整形、説明
  • 再ラベル付けルール、ダウンサンプリング、保持ポリシーの設定のデバッグ
  • VictoriaMetrics Cloud との連携
  • ルートエンドポイントでの UI とセットアップ手順、ツールの検査(Streamable HTTP モードのみ)

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

image

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

ツールの機能と、プロンプト内でのドキュメント検索を組み合わせて、VictoriaMetrics インスタンスの優れた活用方法を考案できます。 どのように利用できるかは、対話の例 セクションをご覧ください。 なお、MCP サーバーとその応答の品質は、使用するクライアントの機能とモデルの品質に大きく左右されます。

この MCP サーバーを、オブザーバビリティやドキュメント検索関連の他の MCP サーバーと組み合わせれば、さらに優れた結果を得ることもできます。

インストールせずに試す

インストールせずに機能を試せる、公開されている VictoriaMetrics MCP Server のインスタンスがあります。

https://play-mcp.victoriametrics.com/mcp

注意! この URL はブラウザーで開くことを想定していません。MCP クライアントで使用するためのものです。

Public VictoriaMetrics Playground で動作するように設定されており、Streamable HTTP モードで利用できます。

Claude Desktop の設定例を以下に示します。

image

要件

インストール

バイナリ

Releases ページから最新リリースをダウンロードし、PATH に配置してください。

Linux x86_64 の例です(ほかのアーキテクチャやプラットフォームも利用できます)。

latest=$(curl -s https://api.github.com/repos/VictoriaMetrics/mcp-victoriametrics/releases/latest | grep 'tag_name' | cut -d\" -f4)
wget https://github.com/VictoriaMetrics/mcp-victoriametrics/releases/download/$latest/mcp-victoriametrics_Linux_x86_64.tar.gz
tar axvf mcp-victoriametrics_Linux_x86_64.tar.gz
Docker

Docker を使用して VictoriaMetrics MCP Server を実行できます。

Go のインストールやソースからのビルドが不要なため、最も簡単に始められる方法です。

docker run -d --name mcp-victoriametrics \
  -e VM_INSTANCE_ENTRYPOINT=https://play.victoriametrics.com \
  -e VM_INSTANCE_TYPE=cluster \
  -e MCP_SERVER_MODE=sse \
  -e MCP_LISTEN_ADDR=:8080 \
  -p 8080:8080 \
  ghcr.io/victoriametrics/mcp-victoriametrics

環境変数を独自のパラメーターに置き換えてください。

MCP_SERVER_MODE=http フラグを使用すると、Streamable HTTP モードが有効になります。 サーバーモードの詳細については、設定 セクションをご覧ください。

利用可能な Docker イメージは、github registry で確認できます。

stdio モードのクライアントで MCP サーバーを使用する際の Docker の詳細については、バイナリの代わりに Docker を使用する セクションもご覧ください。

ソースコード

ソースコードからバイナリをビルドするには、次の手順を使用できます。

  • リポジトリをクローンします。

    git clone https://github.com/VictoriaMetrics/mcp-victoriametrics.git
    cd mcp-victoriametrics
    
  • クローンしたソースコードからバイナリをビルドします。

    make build
    # after that you can find binary mcp-victoriametrics and copy this file to your PATH or run inplace
    
  • クローンしたソースコードからイメージをビルドします。

    docker build -t mcp-victoriametrics .
    # after that you can use docker image mcp-victoriametrics for running or pushing
    
Helm

Helm を使用したインストールの詳細については、VictoriaMetrics MCP Server Helm chart のドキュメントをご確認ください。

設定

VictoriaMetrics 用 MCP Server は、環境変数で設定します。

変数説明必須デフォルト許可される値
VM_INSTANCE_ENTRYPOINT / VMC_API_KEYVictoriaMetrics インスタンスの URL(vmsingle または vmselect のルート / URL を指定してください)はい(VMC_API_KEY を使用しない場合)--
VM_INSTANCE_TYPEVictoriaMetrics インスタンスの種類はい(VMC_API_KEY を使用しない場合)-single、cluster
VM_INSTANCE_BEARER_TOKENVictoriaMetrics API の認証トークンいいえ--
VM_INSTANCE_HEADERSリクエストとともに送信するカスタム HTTP ヘッダー(カンマ区切りの key=value ペア)いいえ--
MCP_PASSTHROUGH_HEADERS受信した MCP リクエストから VictoriaMetrics に転送する HTTP ヘッダー名(カンマ区切りのリスト)。競合する場合は VM_INSTANCE_HEADERS を上書きします。sse/http モードでのみ適用されます。いいえ--
VM_DEFAULT_TENANT_IDクラスターモードのデフォルトのテナント ID。形式:accountID または accountID:projectID(32 ビット整数)。VictoriaMetrics のクラスターに関するドキュメントを参照してください。いいえ0-
VMC_API_KEYVictoriaMetrics Cloud Console の API キーいいえ--
MCP_SERVER_MODEサーバーの動作モード。詳細はモードを参照してください。いいえstdiostdio、sse、http
MCP_LISTEN_ADDRSSE または HTTP サーバーがリッスンするアドレスいいえlocalhost:8080-
MCP_DISABLED_TOOLS無効にするツールのカンマ区切りリストいいえ'export,flags,metric_relabel_debug,downsampling_filters_debug,retention_filters_debug,test_rules'-
MCP_DISABLE_RESOURCESすべてのリソースを無効にします(ドキュメントツールは引き続き使用できます)いいえfalsefalse、true
MCP_HEARTBEAT_INTERVALストリーマブル HTTP プロトコルのハートビート間隔を定義します。
ネットワークインフラ(ゲートウェイなど)によって接続が閉じられないように、MCP サーバーが GET 接続を通じてクライアントにハートビートを送信します。
いいえ30s-
MCP_LOG_FORMATログ出力形式いいえtexttext、json
MCP_LOG_LEVEL最小ログレベルいいえinfodebug、info、warn、error
VictoriaMetrics インスタンスには、次の 2 つの方法で接続できます。
  • VM_INSTANCE_ENTRYPOINT + VM_INSTANCE_TYPE + VM_INSTANCE_BEARER_TOKEN(任意)の環境変数を使用して、任意のシングルノードまたはクラスター構成の VictoriaMetrics インスタンスに接続します。
  • VMC_API_KEY 環境変数を使用して、VictoriaMetrics Cloud インスタンスを操作します。
モード

MCP サーバーは、次の動作モード(トランスポート)をサポートしています。

  • stdio - 標準入力/出力モードです。サーバーは標準入力からコマンドを読み取り、標準出力に応答を書き込みます。これがデフォルトのモードで、ローカルサーバーに適しています。
  • sse - Server-Sent Events です。サーバーは SSE 接続用の /sse および /message エンドポイントを公開します。
  • http - Streamable HTTP です。サーバーは HTTP 接続用の /mcp エンドポイントを公開します。

トランスポートの詳細については、MCP ドキュメントをご覧ください。

設定例
# For a single-node instance
export VM_INSTANCE_ENTRYPOINT="http://localhost:8428"
export VM_INSTANCE_TYPE="single"
export VM_INSTANCE_BEARER_TOKEN="your-token"
export MCP_PASSTHROUGH_HEADERS="X-Token,X-Access-Key"

# For a cluster
export VM_INSTANCE_ENTRYPOINT="https://play.victoriametrics.com"
export VM_INSTANCE_TYPE="cluster"
export MCP_DISABLED_TOOLS="export,metric_statistics,test_rules" # disable export, statistics and rules unit test tools

# For VictoriaMetrics Cloud
export VMC_API_KEY="<you-api-key>"

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

# Custom headers for authentication (e.g., behind a reverse proxy)
# Expected syntax is key=value separated by commas
export VM_INSTANCE_HEADERS="<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>"

エンドポイント

SSE モードと HTTP モードでは、MCP サーバーは次のエンドポイントを提供します。

エンドポイント説明
/セットアップのヘルプとツールの確認ができるランディングページ
/sse + /messageSSE モードのメッセージ用エンドポイント(SSE をサポートする MCP クライアント向け)
/mcpHTTP モードのメッセージをストリーミングする HTTP エンドポイント(Streamable HTTP をサポートする MCP クライアント向け)
/metricsMCP サーバーを監視するための Prometheus 形式のメトリクス
/health/livenessサーバーが実行中であることを確認するための稼働状態チェックエンドポイント
/health/readinessサーバーがリクエストを受け付ける準備ができていることを確認するための準備状態チェックエンドポイント

クライアントでのセットアップ

Cursor

Settings -> Cursor Settings -> MCP -> Add new global MCP server に移動し、次の設定を Cursor の ~/.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>",
        "VM_INSTANCE_HEADERS": "<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>"
      }
    }
  }
}

詳しくは、Cursor MCP ドキュメントをご覧ください。

Claude Desktop

次の内容を 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>",
        "VM_INSTANCE_HEADERS": "<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>"
      }
    }
  }
}

詳しくは、Claude Desktop MCP ドキュメントをご覧ください。

Claude Code

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

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>
  -e VM_INSTANCE_HEADERS="<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>"

詳しくは、Claude Code MCP ドキュメントをご覧ください。

Codex

Codex CLI と IDE 拡張機能は、同じ MCP 設定ファイル ~/.codex/config.toml (信頼済みのプロジェクトでは .codex/config.toml)を使用します。

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

codex mcp add victoriametrics \
  --env VM_INSTANCE_ENTRYPOINT=<YOUR_VM_INSTANCE> \
  --env VM_INSTANCE_TYPE=<YOUR_VM_INSTANCE_TYPE> \
  --env VM_INSTANCE_BEARER_TOKEN=<YOUR_VM_BEARER_TOKEN> \
  --env VM_INSTANCE_HEADERS="<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>" \
  -- /path/to/mcp-victoriametrics

または、次の内容を Codex の ~/.codex/config.toml ファイルに追加します。

[mcp_servers.victoriametrics]
command = "/path/to/mcp-victoriametrics"

[mcp_servers.victoriametrics.env]
VM_INSTANCE_ENTRYPOINT = "<YOUR_VM_INSTANCE>"
VM_INSTANCE_TYPE = "<YOUR_VM_INSTANCE_TYPE>"
VM_INSTANCE_BEARER_TOKEN = "<YOUR_VM_BEARER_TOKEN>"
VM_INSTANCE_HEADERS = "<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>"

Streamable HTTP モードでサーバーを実行する場合は、次の方法で登録できます。

codex mcp add victoriametrics --url http://localhost:8080/mcp

詳しくは、Codex MCP ドキュメントをご覧ください。

Visual Studio Code

次の内容を 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>",
        "VM_INSTANCE_HEADERS": "<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>"
      }
    }
  }
}

詳しくは、VS Code MCP ドキュメントをご覧ください。

Zed

次の内容を 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>",
          "VM_INSTANCE_HEADERS": "<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>"
        }
      },
      "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>",
        "VM_INSTANCE_HEADERS": "<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>"
      }
    }
  }
}
Windsurf

以下を 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>",
        "VM_INSTANCE_HEADERS": "<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>"
      }
    }
  }
}

詳しくは、Windsurf MCP のドキュメントをご覧ください。

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

ローカルのバイナリの代わりに Docker を使用して、VictoriaMetrics MCP サーバーを実行できます。

上記の設定例の実行コマンドを、次のように置き換えてください。

{
  "mcpServers": {
    "victoriametrics": {
      "command": "docker",
        "args": [
          "run",
          "-i", "--rm",
          "-e", "VM_INSTANCE_ENTRYPOINT",
          "-e", "VM_INSTANCE_TYPE",
          "-e", "VM_INSTANCE_BEARER_TOKEN",
          "-e", "VM_INSTANCE_HEADERS",
          "ghcr.io/victoriametrics/mcp-victoriametrics",
        ],
      "env": {
        "VM_INSTANCE_ENTRYPOINT": "<YOUR_VM_INSTANCE>",
        "VM_INSTANCE_TYPE": "<YOUR_VM_INSTANCE_TYPE>",
        "VM_INSTANCE_BEARER_TOKEN": "<YOUR_VM_BEARER_TOKEN>",
        "VM_INSTANCE_HEADERS": "<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>"
      }
    }
  }
}

使い方

MCP サーバーのインストールと設定が完了したら、お好みの MCP クライアントで使用を開始できます。

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

Use MCP VictoriaMetrics in the following answers

必須ではありません。質問を始めるだけで、アシスタントがツールとドキュメントを自動的に使い、最適な回答を提供します。 使用できる機能をより詳しく知るには、対話例のセクションをご覧ください。

ツールセット

MCP VictoriaMetrics には、VictoriaMetrics インスタンスとやり取りするためのさまざまなツールが用意されています。

一般的に利用できるツールの一覧は次のとおりです。

ツール説明デフォルトで有効
query即時 PromQL/MetricsQL クエリを実行します✅
query_range指定した期間の範囲 PromQL/MetricsQL クエリを実行します✅
metrics利用可能なメトリクスを一覧表示します✅
metrics_metadata保存されているメトリクスのメタデータ(タイプ、説明、単位)✅
labels利用可能なラベル名を一覧表示します✅
label_values特定のラベルの値を一覧表示します✅
series利用可能な時系列を一覧表示します✅
export生の時系列データを JSON または CSV にエクスポートします❌
rulesアラートルールと記録ルールを表示します✅
alerts現在のアラート(発火中および保留中)を表示します✅
flagsVictoriaMetrics インスタンスのデフォルト以外のフラグを表示します❌
metric_statisticsメトリクスの使用状況(クエリ内)の統計を取得します✅
active_queries現在実行中のクエリを表示します✅
top_queries頻度または実行時間で上位のクエリを表示します✅
tsdb_statusTSDB のカーディナリティ統計を表示します✅
tenantsマルチテナントクラスター構成で利用可能なテナントを一覧表示します✅
documentation埋め込みの VictoriaMetrics ドキュメントを検索します✅
metric_relabel_debugPrometheus 互換の再ラベル付けルールをデバッグします❌
downsampling_filters_debugダウンサンプリング設定をデバッグします❌
retention_filters_debug保持フィルターの設定をデバッグします❌
prettify_queryPromQL/MetricsQL クエリを整形してフォーマットします✅
explain_queryPromQL/MetricsQL クエリを解析し、動作を説明します✅
test_rulesvmalert ツールを使用してアラートルールと記録ルールを単体テストします❌
VictoriaMetrics Cloud ユーザー(VMC_API_KEY パラメーターを指定)向けに、次の追加ツールを利用できます。
ツール説明デフォルトで有効
deploymentsVictoriaMetrics Cloud で利用可能なデプロイメントを一覧表示します✅
cloud_providersVictoriaMetrics Cloud で利用可能なクラウドプロバイダーを一覧表示します✅
regionsVictoriaMetrics Cloud で利用可能なクラウドプロバイダーのリージョンを一覧表示します✅
tiersVictoriaMetrics Cloud で利用可能なデプロイメント階層を一覧表示します✅
access_tokensVictoriaMetrics Cloud で利用可能なデプロイメントのアクセストークンを一覧表示します✅
rule_filenamesVictoriaMetrics Cloud で利用可能なアラートルールと記録ルールのファイル名を一覧表示します✅
rule_fileVictoriaMetrics Cloud にある特定のアラートルールまたは記録ルールファイルの内容を表示します✅
プロンプト

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

現時点では単なる例です。今後、プロンプトライブラリが拡充される予定です。

プロンプト説明
unused_metrics一度もクエリされていないメトリクスを見つけ、取り込みを停止するためのリラベル設定を作成します
documentation特定のトピックについて VictoriaMetrics のドキュメントを検索します
rarely_used_metrics_with_high_cardinalityクエリ頻度が低いカーディナリティの高いメトリクスを特定します

対話の例

これは、MCP サーバーを使用するアシスタントとの対話例です。どのように動作するかを理解するのに役立ちます(ただし、これは Claude Desktop で VictoriaMetrics MCP サーバーを使用し、公開プレイグラウンドインスタンスを利用するよう設定した、実際の対話です)。

  • あなた: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_)。

    クエリ可能なメトリクスは 2000 を超えます。さらに詳しく調べたいメトリクスの種類はありますか?

  • あなた:わかりました。これからは Kubernetes メトリクスを使いましょう。この中で一度もクエリされていないメトリクスを教えてください。

  • アシスタント:結果を見ると、一度もクエリされていない Kubernetes メトリクス(クエリ数が 0)が 2 つあります。

    • kube_persistentvolumeclaim_deletion_timestamp - このメトリクスは、PersistentVolumeClaims が削除対象としてマークされた時刻に関する情報を提供します。
    • kube_pod_init_container_status_last_terminated_reason - このメトリクスは、Pod 内の init コンテナーが最後に終了した理由を示します。

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

    • PVC 削除タイムスタンプのメトリクスは、削除のパターンを追跡したり、削除が滞っている PVC を特定したりするのに役立ちます。
    • init コンテナーの終了理由のメトリクスは、初期化コンテナーでよく発生する障害パターンの特定に役立ちます。

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

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

  • アシスタント:クエリされていないこれらのメトリクスを収集対象から除外するリラベル設定を作成します。これにより、ストレージと処理のオーバーヘッドを削減できます。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 の設定ファイル、または VictoriaMetrics のスクレイパーとして Prometheus を使用している場合は、Prometheus 設定内の該当するスクレイプジョブ設定に追加できます。 このリラベル設定を実装前にテストする場合は、メトリクスのリラベルデバッグツールを使って、メトリクスへの影響を確認できます。

  • あなた:はい、このリラベル設定がメトリクスにどのような影響を与えるか、実際の時系列データを使ってリアルタイムでデバッグしてください。

  • アシスタント:すばらしいです!リラベル設定は期待どおりに機能しています。

    • 最初の 2 つのテストケースでは、kube_persistentvolumeclaim_deletion_timestamp と kube_pod_init_container_status_last_terminated_reason の両方のメトリクスが正しく破棄されること(結果のラベルが空の {} になること)が確認できます。
    • 3 つ目のテストケースでは、kube_pod_status_phase などの他のメトリクスが保持され、破棄ルールの影響を受けないことが確認できます。

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

  • あなた:ただし、VictoriaMetrics Operator の vmagent リソースを使っています。このリラベル設定を含むエージェントの仕様の一部を提示してもらえますか?

  • アシスタント:おっしゃるとおり、VictoriaMetrics Operator と VMAgent カスタムリソースを使用しているため、設定をその CR に適した形式にする必要があります。VMAgent の仕様にリラベル設定を追加する方法は次のとおりです。

    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 の spec では、インラインのリラベルルールに inlineRelabelConfig を使用します。
    • フィールド名は source_labels ではなく sourceLabels です(Prometheus の設定とは異なります)。
    • これはグローバルなリラベル設定で、保存前のすべてのメトリクスに適用されます。
  • あなた:これらのメトリクスを削除するのではなく、ダウンサンプリングを使ってサンプルレートを下げることにしました。現在のダウンサンプリングパラメーターを教えてください。

  • アシスタント:現在、次のダウンサンプリング設定があることを確認できます。

    -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 を使用して、ダウンサンプリング設定をデバッグしました

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

モニタリング

SSE および HTTP モードでは、MCP Server は Prometheus 形式のメトリクスを提供します(エンドポイントを参照)。これらのメトリクス用のリポジトリ内のシンプルな Grafana ダッシュボードも利用できます。

FAQ

シンプルな API プロキシに期待するよりも、MCP サーバーが多くのリソースを使用するのはなぜですか?

サーバーには、documentation ツール用の VictoriaMetrics のドキュメントとブログ記事を収録したベクトルデータベースが組み込まれています。 これにより、すべてのデータを LLM に渡さなくても、VictoriaMetrics に関する複雑な質問に回答できます。
これがリソース使用の主な要因です。使用量を減らすには、環境変数 MCP_DISABLED_TOOLS に documentation を追加して、ベクトルデータベースの読み込みを完全に無効にします。

1 つの MCP サーバーインスタンスを複数の VictoriaMetrics インスタンスで使用するにはどうすればよいですか?

MCP クライアント設定の HTTP ヘッダー値に基づいてインスタンス間で MCP 呼び出しをルーティングするには、MCP Server の MCP_PASSTHROUGH_HEADERS パラメーターとvmauth のヘッダーベースルーティングを組み合わせて使用できます。

ロードマップ

  • 「クエリを整形」ツールのサポート(v0.0.5で対応済み)
  • 「クエリを説明」ツールのサポート(v0.0.6で対応済み)
  • マルチアーキテクチャの Docker イメージをビルドしてプッシュする CI パイプラインのサポート(v1.0.0で対応済み)
  • アラートルールと記録ルールのユニットテスト用ツールのサポート(v0.0.7で対応済み)
  • VictoriaMetrics Cloudとのオプションの連携をサポート(API キーを使用)(v0.0.9で対応済み)
  • 現在のドキュメントツールに加えて、サーバーに追加のナレッジを追加:
  • 複数のデプロイメントをサポートするマルチテナント版の MCP を実装
  • フラグ/設定の検証ツールを追加
  • vmagent API 用ツールをサポート
  • 新しい vmalert APIをサポート
  • 設定によるツールの有効化/無効化(v0.0.8で対応済み)
  • Alertmanager API 用ツール #6
  • VictoriaMetrics での実装を前提に、メトリクスのメタデータをサポート
  • 認証をサポート
  • 説明とドキュメントへのリンクを掲載した静的なインデックスページを追加

紹介

監視システムで AI アシスタントを使用する方法 — VictoriaMetrics MCP Server

MCP サーバーの統合など:VictoriaMetrics Cloud の 2025 年第 2 四半期の新機能

免責事項

このような MCP サーバーを含む AI サービスやエージェントは、結果の正確性、完全性、信頼性を保証できません。 AI で得られた結果は必ずご自身で確認してください。

MCP サーバーの品質とその応答は、ご利用のクライアントの機能と使用するモデルの品質に大きく左右されます。

貢献

MCP VictoriaMetrics プロジェクトへの貢献を歓迎します!

お気軽に、イシュー、機能リクエスト、プルリクエストを送信してください。

コメント

MCP は初めてですか?

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

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