mcpField
S
SigNoz MCP Server

SigNoz MCP Server

ローカル
github.com/SigNozデータ・分析129今日更新

SigNoz MCP Server について

SigNoz MCP Serverは、AIアシスタントやLLMをSigNozの可観測性データに接続します。メトリクス、トレース、ログ、アラート、ダッシュボード、サービスの照会を提供し、クラウド接続とセルフホストに対応します。

主な機能

  1. 01メトリクス、トレース、ログの照会
  2. 02アラートとダッシュボードへのアクセス
  3. 03サービスの確認
  4. 04ホスト型クラウドへの接続
  5. 05セルフホストのstdio/HTTPモード

活用シーン

  1. 01AIアシスタントでサービス指標を調べる
  2. 02トレースとログを調査する
  3. 03MCPクライアントでアラートやダッシュボードを確認する

MCP 対応

stdioまたはHTTP経由で、SigNozの可観測性データをツールとしてMCPクライアントに公開します。ホスト型SigNoz Cloudとセルフホスト環境に対応します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"signoz-signoz": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"docker.io/signoz/signoz-mcp-server:v0.16.0"
]
}
}
}
起動コマンドdocker run -i --rm docker.io/signoz/signoz-mcp-server:v0.16.0

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

パッケージ
ocidocker.io/signoz/signoz-mcp-server:v0.16.0

ツール

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

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

詳細

SigNoz MCP サーバー

Go Version License MCP Protocol

AI アシスタントや LLM を通じて SigNoz のオブザーバビリティデータにシームレスにアクセスできる Model Context Protocol(MCP)サーバーです。自然言語でメトリクス、トレース、ログ、アラート、ダッシュボード、サービスをクエリできます。

📖 ドキュメント全文

目次

SigNoz Cloud に接続する

AI ツールを、ホスト型 MCP サーバーである SigNoz Cloud に接続します。インストールは不要です。ホスト型 MCP URL を追加して認証するだけです。

https://mcp.<region>.signoz.cloud/mcp

SigNoz Cloud アカウントに対応する正しいリージョンを選択してください。誤ったリージョンを使用すると、認証に失敗します。

SigNoz の Settings → Ingestion でリージョンを確認するか、SigNoz Cloud のリージョン一覧をご覧ください。

ワンクリックインストールリンク

GitHub では、cursor:// や vscode: などのカスタムプロトコルリンクが README の表示時にクリック可能にならないことがあります。

ワンクリックインストールボタンは、ドキュメントページをご利用ください。

必要に応じて、この README の下にある手動設定例をご利用ください。

Cursor
手動設定

次の設定を .cursor/mcp.json に追加します。

{
  "mcpServers": {
    "signoz": {
      "url": "https://mcp.<region>.signoz.cloud/mcp"
    }
  }
}

お困りの場合は、Cursor MCP のドキュメントをご覧ください。

VS Code / GitHub Copilot
手動設定

次の設定を .vscode/mcp.json に追加します。

{
  "servers": {
    "signoz": {
      "type": "http",
      "url": "https://mcp.<region>.signoz.cloud/mcp"
    }
  }
}

お困りの場合は、VS Code MCP のドキュメントをご覧ください。

Claude Desktop

Claude Desktop で SigNoz Cloud をカスタムコネクターとして追加します。

  1. Claude Desktop を開きます。
  2. Settings → Developer(バージョンによっては Features)に移動します。
  3. Add Custom Connector または Add Remote MCP Server をクリックします。
  4. SigNoz MCP URL を入力します:https://mcp.<region>.signoz.cloud/mcp

表示されたら、認証フローを完了します。

Claude Code

次のコマンドを実行して、ホスト型 SigNoz MCP サーバーを追加します。

claude mcp add --scope user --transport http signoz https://mcp.<region>.signoz.cloud/mcp

MCP サーバーを設定した後、ターミナルで認証します。

claude /mcp

signoz サーバーを選択し、認証フローを完了します。

OpenAI Codex

次のコマンドを実行して、ホスト型 SigNoz MCP サーバーを追加します。

codex mcp add signoz --url https://mcp.<region>.signoz.cloud/mcp

または、この設定を config.toml に追加します。

[mcp_servers.signoz]
url = "https://mcp.<region>.signoz.cloud/mcp"

サーバーを追加した後、認証します。

codex mcp login signoz

次に、Codex 内で /mcp を実行して接続を確認します。

Grok Build

次のコマンドを実行して、ホスト型の SigNoz MCP サーバーを追加します。

grok mcp add -t http signoz https://mcp.<region>.signoz.cloud/mcp

または、次の設定を ~/.grok/config.toml に追加します。

[mcp_servers.signoz]
url = "https://mcp.<region>.signoz.cloud/mcp"
enabled = true

サーバーを追加しても、認証は行われません。Grok Build を起動し、/mcps を実行して signoz サーバーを選択し、ブラウザーで OAuth フローを完了します。

grok
/mcps

設定ファイルには API キーは保存されません。OAuth フローの完了後に、認証情報が別途保存されます。

add コマンドに -s project を指定すると、代わりに ./.grok/config.toml に書き込まれるため、そのディレクトリで作業する全員がサーバーを共有できます。

次のコマンドで接続を確認します。

grok mcp list
grok mcp doctor
SigNoz Cloud の認証

ホスト型 MCP URL をクライアントに追加すると、クライアントによって認証フローが開始されます。次の情報の入力を求められます。

  1. SigNoz インスタンスの URL(例:your-instance.signoz.cloud)。プロトコルを省略した URL も使用できます。パス、クエリパラメーター、フラグメントは無視されます。
  2. API キー

SigNoz の Settings → API Keys で API キーを作成します。API キーを作成できるのは Admin ユーザーのみです。

セルフホスト型のインストール

バイナリをダウンロード(推奨)

GitHub Releases から最新のバイナリをダウンロードします。

# macOS (Apple Silicon)
curl -L https://github.com/SigNoz/signoz-mcp-server/releases/latest/download/signoz-mcp-server_darwin_arm64.tar.gz | tar xz

# macOS (Intel)
curl -L https://github.com/SigNoz/signoz-mcp-server/releases/latest/download/signoz-mcp-server_darwin_amd64.tar.gz | tar xz

# Linux (amd64)
curl -L https://github.com/SigNoz/signoz-mcp-server/releases/latest/download/signoz-mcp-server_linux_amd64.tar.gz | tar xz

これにより、現在のディレクトリに signoz-mcp-server バイナリが展開されます。PATH 上の場所に移動するか、以下の設定で使用する絶対パスを確認してください。

Go でインストール
go install github.com/SigNoz/signoz-mcp-server/cmd/server@latest

バイナリは server という名前で $GOPATH/bin/(デフォルトでは $HOME/go/bin/server)にインストールされます。名前を変更する場合は、次のようにします。

mv "$(go env GOPATH)/bin/server" "$(go env GOPATH)/bin/signoz-mcp-server"
Docker

Docker イメージは Docker Hub で入手できます。

docker pull signoz/signoz-mcp-server:latest

HTTP モードで実行します。

docker run -p 8000:8000 \
  -e TRANSPORT_MODE=http \
  -e MCP_SERVER_PORT=8000 \
  -e SIGNOZ_URL=https://your-signoz-instance.com \
  -e SIGNOZ_API_KEY=your-api-key \
  signoz/signoz-mcp-server:latest

デプロイするバージョンを固定するには、latest の代わりに特定のバージョンタグ(例:v0.1.0)を使用してください。

ソースからビルド
git clone https://github.com/SigNoz/signoz-mcp-server.git
cd signoz-mcp-server
make build

バイナリは ./bin/signoz-mcp-server にあります。

セルフホスト型 SigNoz に接続

前提条件
  • 最新リリースの SigNoz インスタンスが稼働していること。各サーバーリリースは最新の SigNoz リリースを対象としており、旧バージョンでのテストは行われていません。破壊的変更については CHANGELOG.md を参照してください。
  • SigNoz API キー(SigNoz UI の Settings → API Keys)
  • signoz-mcp-server バイナリ(セルフホスト型のインストール を参照)
Stdio モード(Claude Desktop/Cursor/任意の MCP クライアント)

次の設定を MCP クライアントの設定ファイル(claude_desktop_config.json、.cursor/mcp.json など)に追加します。command のパスは、signoz-mcp-server バイナリの絶対パスに置き換えてください。

{
    "mcpServers": {
        "signoz": {
            "command": "/absolute/path/to/signoz-mcp-server",
            "args": [],
            "env": {
                "SIGNOZ_URL": "https://your-signoz-instance.com",
                "SIGNOZ_API_KEY": "your-api-key-here",
                "LOG_LEVEL": "info"
            }
        }
    }
}
HTTP モード

HTTP モードは、デフォルトで全インターフェースをリッスンします。サーバーがループバック接続のみを受け付けるようにするには、MCP_SERVER_HOST=127.0.0.1 を設定してください。

メモリー使用量

サーバーは SigNoz のドキュメント検索インデックスをメモリーに保持します。タイトルと見出しにステミングを適用し、本文フィールドを 1 つ標準の解析方法で処理した場合、埋め込みの 746 ページのインデックスが使用した常駐ヒープは、ローカルで実行した Go 1.26 のパッケージ全体テスト 8 回で 28~36 MiB でした。ビルド時のピークは、ビルド前のヒープ基準値から 97~134 MiB 増加し、64 ページ単位で処理しました。これらはインデックスの測定値であり、プロセス全体の RSS やコンテナーメモリーの保証値ではありません。リクエスト処理や更新によって、さらにメモリーが使用されます。

タイミングインデックスのメモリー動作
埋め込みコーパス(746 ページ)からの起動時ビルド測定した実行では、ビルド前のヒープ基準値から最大 134 MiB 増加
スケジュールされた全体再ビルド古いインデックスが引き続きリクエストを処理する間に新しいインデックスをビルドします。この構成での合計ピークは再測定していません
スケジュールされた更新で数ページに変更がある場合変更されたページを 1 つのアトミックなバッチでライブインデックスに適用します。ピークは変更内容によって異なり、この構成での再測定は行っていません
スケジュールされた更新で変更されたページがない場合インデックス処理はありません。If-None-Match でページを再検証し、変更がないページへのコストは 304 です

スケジュールされた更新(デフォルトは 6h ごと)では、まずライブのサイトマップと配信済みのサイトマップを比較し、変更がなければそこで終了します。変更がある場合は、すべてのページを If-None-Match で再検証し、少なくとも 1 ページのコンテンツに変更があった場合にのみインデックスを更新します。変更対象が全ページの 4 分の 1 以下である場合は、ライブインデックスをインプレースで更新します。それを超える場合、同じインデックスへの 25 回目のインプレース更新の場合、または変更されたコンテンツが見つかった強制更新(デフォルトは 24h ごと)の場合は、インデックスを一から再ビルドします。これにより、インプレース更新で残ったセグメントも圧縮されます。全体再ビルドでは 64 ページ単位で処理します。インプレース更新では、全体ビルドのバッチサイズではなく、全ページの 4 分の 1 という上限に基づく 1 つのアトミックなバッチを使用します。

コンテナー化された HTTP デプロイメントでの推奨事項:

  • メモリー制限を少なくとも 512Mi に設定し、更新中や同時リクエストの処理中にメモリーを監視してください。測定されたインデックスのみのビルドピークは、基準値から 134 MiB 増加した値で、常駐インデックスは 28~36 MiB です。再ビルド中も、リクエストを処理しているインデックスは保持されます。Go の GOMEMLIMIT の設定は任意です。ガベージを早めに回収できますが、インデックスのバッチ内にあるライブデータを縮小することはできません。
  • 更新を行わず、リリースに同梱されたドキュメントのスナップショットを配信する場合は、SIGNOZ_DOCS_REFRESH_INTERVAL=0 と SIGNOZ_DOCS_FULL_REFRESH_INTERVAL=0 の両方を設定してください。新しいドキュメントページは、次回のサーバーアップグレード時に反映されます。最初の設定だけを行うと、毎日の強制更新は継続されます。
  • 更新の開始時には docs refresh starting がログに記録され、完了または失敗時には、たとえば docs refresh no-op; sitemap unchanged、docs refresh found no page changes; index kept、docs refresh applied delta、docs refresh rebuilt index、または docs refresh failed/docs full refresh failed の警告が記録されます。通常、更新は数分以内に完了します。最後のドキュメントログが docs refresh starting、docs refresh fetching pages、または docs refresh rebuilding index で、その後コンテナーが再起動した場合は、更新中に停止した可能性が高いです。
OAuth を使用する場合(マルチテナント/クラウド)

サーバーを起動します:

TRANSPORT_MODE=http \
MCP_SERVER_PORT=8000 \
OAUTH_ENABLED=true \
OAUTH_TOKEN_SECRET=$(openssl rand -base64 32) \
OAUTH_ISSUER_URL=https://your-public-mcp-url.com \
./signoz-mcp-server

クライアント設定に必要なのは URL だけで、キーは不要です:

{
    "mcpServers": {
        "signoz": {
            "url": "https://your-public-mcp-url.com/mcp"
        }
    }
}

クライアントは OAuth エンドポイントを自動的に検出し、認証情報を入力するためのブラウザーを開いて、トークン交換を処理します。

OAuth を使用しない場合(シンプルな設定)

API キーと SigNoz URL は、サーバーまたはクライアントのどちらか一方にのみ指定する必要があります。

オプション A — サーバーに認証情報を設定する(クライアント設定がよりシンプルです):

SIGNOZ_URL=https://your-signoz-instance.com \
SIGNOZ_API_KEY=your-api-key \
TRANSPORT_MODE=http \
MCP_SERVER_PORT=8000 \
./signoz-mcp-server
{
    "mcpServers": {
        "signoz": {
            "url": "http://localhost:8000/mcp"
        }
    }
}

オプション B — クライアントに API キーを設定する(サーバーが URL を保持し、クライアントがキーを送信します):

SIGNOZ_URL=https://your-signoz-instance.com \
TRANSPORT_MODE=http \
MCP_SERVER_PORT=8000 \
./signoz-mcp-server
{
    "mcpServers": {
        "signoz": {
            "url": "http://localhost:8000/mcp",
            "headers": {
                "SIGNOZ-API-KEY": "your-api-key-here"
            }
        }
    }
}

MCP プロトコルの互換性

SigNoz は公式の MCP Go SDK v1.8.0 を使用し、HTTP と stdio の両方で、現在のライフサイクルモデルをサポートしています。

プロトコルの時代ライフサイクル
2025-11-25従来のクライアントは、通常のリクエストを送る前に initialize、続いて notifications/initialized を使用します。
2026-07-28クライアントは server/discover を呼び出した後、プロトコルとクライアントの機能をリクエストごとの _meta に含めた直接リクエストを送信できます。initialize ハンドシェイクは不要です。

HTTP の /mcp エンドポイントはステートレスで、セッションを使用しません。MCP メッセージには JSON の POST リクエストを使用し、成功時のレスポンスには application/json を使用します。サーバーは Mcp-Session-Id を発行も要求もしません。GET /mcp と DELETE /mcp は 405 Method Not Allowed を返すため、デプロイ時にスティッキールーティングや従来の GET リスナー/ハートビートは不要です。既存のクライアント設定を変更する必要はありません。

stdio の入力には 16 MiB のフレーム上限があります。それを超えるリクエストは、小さな複数の呼び出しに分割してください。MCP_MAX_REQUEST_BYTES は HTTP リクエストボディのみを制御します。

サーバーは、非推奨のロギング機能を意図的に通知しません。ディスカバリーの順序は、互換性の保証対象ではありません。不明なツール、リソース、プロンプトには、従来の実装固有の文言やエラーコードではなく、公式 SDK の標準的な無効パラメーターの動作が適用されます。

HTTP プローブエンドポイント

HTTP モードでは、認証不要のプローブエンドポイントを公開します。新しい Kubernetes デプロイでは、livenessProbe に /livez を、readinessProbe に /readyz を使用してください。

エンドポイント用途
/livez簡易的なライブネスプローブです。サーバープロセスが HTTP リクエストに応答できる場合は 200 OK を返します。依存関係は確認しません。
/readyzレディネスプローブです。ポッドがトラフィックを受け入れる準備ができた場合に限り 200 OK を返します。現時点では、ドキュメントインデックスの準備が必要です。それ以外の場合は 503 を返します。
/healthz下位互換性のために残されている、従来の汎用ヘルスチェックです。/readyz と同じ厳格なステータスに従います。簡易的なライブネスには /livez を使用してください。

これを使って何ができますか?

"Show me all available metrics"
"What's the p99 latency for http_request_duration_seconds?"
"List all active alerts"
"Show me error logs for the paymentservice from the last hour"
"How many errors per service in the last hour?"
"Search traces for the checkout service from the last hour"
"Get details for trace ID abc123"
"Create a dashboard with CPU and memory widgets"
"How do I send Docker logs to SigNoz?"

利用可能なツール

ツールのメタデータ: すべてのツールは searchContext を受け取ります。事前確認や確認の文脈も含め、ユーザーの元のリクエスト全体をそのままコピーしてください。これは MCP の可観測性に使用され、SigNoz API には転送されません。

入力の検証: スキーマの不一致を理由に呼び出しが拒否されることはありません。引数は各ツールが通知するスキーマに照らして検証されます。不一致のある呼び出しもベストエフォートで実行され、通知されたスキーマから安全に特定できる場合は、影響を受けたトップレベルのパラメーター名を示す決定論的な Input validation notice: が成功結果に追加されます。ルートのみの複雑な不一致には、汎用のフォールバックが使用されます。不一致は mcp.tool.validation.mismatches メトリクスにもカウントされます。

上流エラー: 上流の SigNoz で発生した 401 と 403 のツールエラーには、安定した構造化 code(UNAUTHORIZED または PERMISSION_DENIED)と数値の status が含まれます。認識された SigNoz のエラーエンベロープには、上限付きの upstreamURL、upstreamSuggestions、upstreamDetails([{message, suggestions}])、upstreamRetry(ナノ秒単位の {delay})が含まれる場合もあります。同じ復旧ガイダンスが、エージェントが読み取れるテキストにも表示されます。認識されない本文には、未加工のパススルーではなく、ローカルでステータスから導出されたコード付きフォールバックが使用されます。また、認可エラーには、失敗したツールと直ちに実行できる復旧操作が引き続き明記されます。このエラーに関する追加のみでは、ツール名、スキーマや説明、成功時のペイロード、リソースやテンプレート、プロンプトは変更されません。 | ツール | 説明 | |------|-------------| | signoz_get_org_overview | SigNoz デプロイの現在のステータスと全体的な状態を、型付きの投影と、報告されたすべての統計フィールドを含む sourceStats とともに取得します | | signoz_list_metrics | アクティブなメトリクス名とカタログのメタデータを検出します | | signoz_query_metrics | 既知のメトリクスをクエリして、値、傾向、内訳、数式を取得します | | signoz_get_top_metrics | 取り込みサンプル数でランキングした上位 100 件のメトリクスを、コストとボリューム分析用の事前計算済みパーセンテージとともに返します | | signoz_check_metric_usage | メトリクス名のリスト(1 回の呼び出しにつき最大 50 件)を指定すると、それぞれを参照するダッシュボードとアラートを返します | | signoz_check_metric_cardinality | 単一メトリクスのラベル/属性キーをカーディナリティ数とサンプル値とともに返し、カーディナリティの高い順に並べます | | signoz_get_field_keys | メトリクス、トレース、ログで利用可能なフィールドキーを検出します | | signoz_get_field_values | フィールドキーの候補値を取得します | | signoz_list_alerts | 発火中/サイレンス状態/抑制状態の Alertmanager アラート インスタンス(ルール定義ではありません)を一覧表示します | | signoz_list_alert_rules | 非アクティブ/OK のルールや無効化されたルールを含む、設定済みアラートルールの概要を一覧表示します | | signoz_get_alert | id を指定して、1 つのアラートルールの完全な定義を取得します | | signoz_get_alert_history | 1 つのルールの発火履歴または状態遷移履歴を取得します | | signoz_create_alert | v2 の直接ルーティング/ポリシールーティングのアラート、または直接ルーティングの v1 異常アラートを作成します | | signoz_update_alert | id を指定して、既存のアラートルールを完全に置き換えます | | signoz_delete_alert | UUIDv7 id を指定して、確認済みのアラートルールを完全に削除します | | signoz_list_dashboards | テナントダッシュボードの概要を一覧表示し、UUID を検出します | | signoz_get_dashboard | 1 つのダッシュボードの完全なレイアウト、変数、パネル、クエリを取得します | | signoz_create_dashboard | 複数パネルのカスタムダッシュボードを作成します | | signoz_update_dashboard | 取得したダッシュボードを、指定されていないフィールドを保持しながら完全に置き換えます | | signoz_patch_dashboard | ダッシュボード全体を再送信せずに、部分的な RFC 6902 JSON Patch を適用します | | signoz_delete_dashboard | id を指定して、確認済みのダッシュボードを完全に削除します | | signoz_import_dashboard | 既知の厳選テンプレートパスからダッシュボードを作成します | | signoz_list_dashboard_templates | 厳選テンプレートを検索し、インポートパスを検出します | | signoz_list_services | 指定した時間範囲内にトレースアクティビティがある APM サービスを一覧表示します | | signoz_get_service_top_operations | トレース対象のサービス 1 つについて、ランキングされたオペレーションを取得します | | signoz_list_views | トレース/ログ/メトリクス/Cost Meter の保存済み Explorer ビューを一覧表示し、UUID を検出します | | signoz_get_view | id を指定して、1 つの保存済み Explorer ビューの完全な定義を取得します | | signoz_search_docs | 正確なページが選択されていない場合に、ランキングされた公式ドキュメントの一致項目を検索します | | signoz_fetch_doc | 既知の公式ドキュメントページまたは見出しを Markdown として取得します | | signoz_create_view | 再利用可能な Explorer クエリ仕様を 1 つ保存します | | signoz_update_view | 取得した保存済みビューを、指定されていないフィールドを保持しながら完全に置き換えます | | signoz_delete_view | id を指定して、確認済みの保存済みビューを完全に削除します | | signoz_aggregate_logs | ログ統計と、グループ別または上位 N 件の内訳を集計します | | signoz_search_logs | フィルターに一致する個別のログレコードを返します | | signoz_aggregate_traces | スパン統計と、グループ別または上位 N 件の内訳を集計します | | signoz_search_traces | 個別のスパン行を返すか、トレース ID を検出します | | signoz_get_trace_details | 既知のトレース 1 件について、すべてのスパンと階層を取得します | | signoz_execute_builder_query | 専用ツールでは表現できない Query Builder v5 のリクエストを実行します | | signoz_list_notification_channels | プロバイダー設定を含めずに、チャンネル ID、名前、表示名を一覧表示します | | signoz_get_notification_channel | ID を指定して、1 つのチャンネルのプロバイダー固有の設定をすべて取得します | | signoz_create_notification_channel | 通知チャンネルを作成します | | signoz_update_notification_channel | 取得したチャンネルの設定を完全に置き換えます | | signoz_delete_notification_channel | ID を指定して、確認済みのチャンネルを完全に削除します | 詳細な使用方法と例については、ドキュメント全文をご覧ください。

リソースへのディープリンク: リソースの読み取りツール(signoz_list_dashboards、signoz_get_dashboard、signoz_list_alerts、signoz_list_alert_rules、signoz_get_alert、signoz_list_services、signoz_search_traces、signoz_get_trace_details)とダッシュボードの書き込みツール(signoz_create_dashboard、signoz_update_dashboard、signoz_patch_dashboard、signoz_import_dashboard)は、リクエストに SigNoz インスタンスの URL が含まれている場合、SigNoz のウェブ UI 上のリソースへの絶対ディープリンクである webUrl フィールドを含みます(signoz_search_traces では結果行ごとに含まれます)。MCP サーバーは、各 SigNoz バックエンドの global.external_url からブラウザーのベース URL を取得します。API リクエストでは、引き続きリクエストのバックエンド URL が使用されます。セルフホスト版 SigNoz のブラウザーリンクをご覧ください。

エージェントのルーティングに関するガイダンス

特定のドキュメントページが選択されていない場合は、トピックを見つけるために signoz_search_docs を使用し、その後、選択したページまたは見出しに対して signoz_fetch_doc を使用してください。テナントのテレメトリ、アラートの状態、ダッシュボード、保存済みビュー、通知チャンネルには、ライブデータツールを使用してください。

ドキュメントツールは、ほかの MCP ツールと同じ認証経路を使用します。

利用可能なリソース
リソース必要なときに参照する内容
signoz://alert/instructionsアラートのスキーマ、フィールド、しきい値、評価、通知ワークフロー
signoz://alert/examplesSigNoz OpenAPI 仕様のアラートペイロード(しきい値、数式、PromQL、異常検知、階層型ルーティング、通知設定)と Cost Meter の予算例
signoz://dashboard/instructionsダッシュボードのフィールド、変数、連鎖、レイアウト
signoz://dashboard/widgets-instructionsパネルの選択肢とクエリ固有のガイド
signoz://dashboard/widgets-examplesパネルの例と検証パターン
signoz://dashboard/list-filter-guidesignoz_list_dashboards のフィルター DSL:文法、キーごとの演算子、例
signoz://dashboard/patch-instructionssignoz_patch_dashboard の JSON Patch レシピと正確なパス(パネル、クエリ、変数の追加/編集/移動/削除)
signoz://dashboard/examplesSigNoz OpenAPI 仕様のダッシュボードペイロード:作成用の本文、完全な置換、JSON Patch 配列
signoz://dashboard/query-builder-exampleダッシュボードのクエリビルダーにおける集計、フィルター、凡例、関数
signoz://promql/instructionsPromQL ウィジェットまたはアラート、特にドット区切りの OTel メトリクス名
signoz://dashboard/clickhouse-schema-for-logsダッシュボード SQL 用の同梱ログスキーマのスナップショット
signoz://dashboard/clickhouse-logs-exampleClickHouse ログウィジェットの生データパターン
signoz://dashboard/clickhouse-schema-for-metricsダッシュボード SQL 用の同梱メトリクススキーマのスナップショット
signoz://dashboard/clickhouse-metrics-exampleClickHouse メトリクスウィジェットの生データパターン
signoz://dashboard/clickhouse-schema-for-tracesダッシュボード SQL 用の同梱トレーススキーマのスナップショット
signoz://dashboard/clickhouse-traces-exampleClickHouse トレースウィジェットの生データパターン
signoz://logs/query-builder-guideLogs Query Builder v5 の JSON または不明なログフィールド
signoz://traces/query-builder-guideTraces Query Builder v5 の JSON または不明なトレースフィールド
signoz://metrics-aggregation-guideメトリクスの集計、数式、グループ化、上限、Cost Meter クエリ
signoz://query-builder/examplesSigNoz OpenAPI 仕様の query_range リクエスト。signoz_execute_builder_query のクエリタイプとリクエストタイプごとの例
signoz://notification-channel/examples通知チャネルのすべての種類、それぞれの config.spec フィールド、種類ごとのペイロード例
signoz://view/instructions保存済みビューのフィールド、v2 型付き仕様、読み取り後に置換するワークフロー
signoz://view/examplesSigNoz OpenAPI 仕様の保存済みビューのペイロード(ログ、トレース、メトリクス、Cost Meter)と置換用の本文
signoz://docs/sitemapインデックス化された公式ドキュメントのカタログとページ URL
リソーステンプレートの移行

ライブの signoz://dashboard/{id}/summary および signoz://alert/{id}/summary リソーステンプレートは廃止されました。resources/templates/list は現在、空の カタログを返します。ダッシュボードの定義を取得するには signoz_get_dashboard を使用してください。以前の アラートサマリーを取得するには、signoz_get_alert を呼び出してから signoz_get_alert_history を呼び出してください。同じ6時間の期間を指定するには時間範囲を省略し、 最も近い履歴結果を取得するには limit: 10 と order: "desc" を設定してください。

パラメーターリファレンス #### `signoz_get_org_overview`

正確なリソースを詳しく調べる前に、SigNoz デプロイメントの現在のステータスと全体的な状況を確認します。data.sourceStats は、現在および将来のフィールドを含め、デプロイメントの統計エンドポイントから報告されたすべてのキーと値を格納する、信頼できる完全なフラットなデータセットです。型付きの便利な投影では、テレメトリの鮮度と量、インフラストラクチャの存在状況、ダッシュボード、アラートルールと実行時状態、通知チャネル、保存済みビュー、ログパイプライン、クラウド統合、ユーザー、認証、サービスアカウント、ロール、ライセンス、設定を確認できます。

  • パラメーター:タスク用パラメーターはありません。他のすべてのツールと同様に、MCP の可観測性のための任意の searchContext を受け付けます。
  • 信頼できるデータソース:sourceStats は、上流の data オブジェクトから正常にデコードされたすべてのエントリーを、元のドット区切りキーのまま保持します。便利な解釈にはグループ化されたフィールドを使用し、バックエンドの正確な網羅性や新たに導入されたフィールドが重要な場合は sourceStats を使用してください。件数はデプロイメント全体の集計値です。正確な一覧には signoz_list_dashboards、signoz_list_alert_rules、signoz_list_notification_channels、または signoz_list_views を使用してください。メトリクス名には signoz_list_metrics、現在のアラートインスタンスには signoz_list_alerts、時間範囲ごとまたはサービスごとのデータには signoz_search_logs、signoz_search_traces、または signoz_query_metrics を使用してください。
  • 欠落フィールド:sourceStats に存在しないキーは上流のコレクターから報告されていないため、ゼロと解釈してはいけません。個々のコレクターが失敗した場合、このエンドポイントは部分的な HTTP 200 を返すことがあります。型付き投影では、グループ全体の合計値が欠落している場合は available: false、報告された値がゼロの場合は available: true となります。想定されるフィールドの欠落や無効な投影フィールドがある場合は、metadata.projectionPartial が設定され、影響を受ける出力パス、理由、次のアクション、および利用可能な場合は正確なフォールバックツールを含む incompleteGroups エントリーが追加されます。無効な投影値も sourceStats に変更されず保持され、invalidProjectionFields に名前が記載されます。
  • クラウド統合の完全性:cloudIntegrations.sourceAvailability は、現在の AWS/Azure プロバイダー数の両方が報告されたかどうかを示します。各プロバイダーには個別の dataAvailable があり、プロバイダー数が欠落している場合にゼロへ変換されることはありません。どちらのプロバイダーも報告されていない場合、全体の metadata.projectionPartial を設定せずに、ソースの可用性は unavailable になります。これは、クラウド統合がサポート対象外またはエディションによる制限である場合も、両方のプロバイダークエリが失敗した場合もあります。そのため、「クラウド統合が設定されていない」と解釈しないでください。一方のみ報告された場合、ソースの可用性は partial となり、欠落しているプロバイダーには再帰しない復旧ガイダンスが提示されます。connectedAccounts は、アカウント ID と少なくとも 1 件のエージェント報告がある、削除されていないアカウントを意味します。最近のチェックインや、統合サービスが有効であることの証明ではありません。
  • 投影メタデータ:reportedStatCount は sourceStats にある信頼できるエントリーの数、projectedStatCount は型付きグループにも表現されているエントリーの数、unprojectedStatCount は将来のフィールドを含む sourceStats のみにあるエントリーの数です。projectionPartial、incompleteGroups、invalidProjectionFields が説明するのは型付き投影の不足のみです。これらは sourceStats からデータが削除されたことを示すものではなく、エンドポイント全体の完全性を保証するものでもありません。
signoz_list_metrics

メトリクス名と、種類、時間的特性、単位、単調性などのカタログメタデータを調べます。値や傾向を確認するには、signoz_query_metrics を使用してください。この一覧には上限がありますが、オフセットによるページネーションには対応していません。

  • パラメーター:
    • searchText(任意) - 名前に指定した文字列を含むメトリクスで絞り込みます(例:'cpu'、'memory')
    • limit(任意) - 返すメトリクスの最大数(デフォルト:50)
    • timeRange(任意) - 相対範囲:30m、1h、6h、24h、7d(デフォルト:1h。start と end の両方が指定されている場合は無視されます)
    • start/end(任意) - Unix ミリ秒タイムスタンプ。両方が指定されている場合、timeRange より優先されます。
    • source(任意) - データソースのフィルター。Cost Meter のメトリクス(SigNoz が計測する使用量/課金メトリクス。現在はテレメトリ取り込み量)を一覧表示するには "meter" を指定します。デフォルトのメトリクスストアを使用する場合は省略します。
    • 完全性に関する注意:レスポンスには hasMore を報告する注記が追加されます(returnedRows == limit から推定)。そのため、limit によって切り詰められた一覧を全件と誤認することはありません。より詳細に絞り込むには searchText を指定してください。
signoz_query_metrics

既知のメトリクスをクエリして、値、傾向、内訳、数式を取得します。このツールはメトリクスに応じたデフォルト値を適用し、省略されたメタデータを自動取得します。metricName がわかっている場合は、このツールを直接呼び出してください。名前の特定やカタログメタデータの確認が必要な場合に限り、signoz_list_metrics を使用します。

  • パラメーター:
    • metricName(必須) - クエリするメトリクス名
    • metricType(任意) - gauge、sum、histogram、exponential_histogram(指定がない場合は自動取得)
    • isMonotonic(任意) - ブール値(または文字列 "true"/"false")。指定がない場合は自動取得されます。無効な値は、暗黙的に false として扱われず、拒否されます。
    • temporality(任意) - cumulative、delta、unspecified(指定がない場合は自動取得)
    • timeAggregation(任意) - 時間方向の集計(種類に応じてデフォルト値が自動設定されます)
    • spaceAggregation(任意) - ディメンションをまたぐ集計(種類に応じてデフォルト値が自動設定されます)
    • groupBy(任意) - カンマ区切りのフィールド名、または配列。k8s.*、container.*、host.*、cloud.*、deployment.*、process.*、service.*、telemetry.*、os.* はリソースコンテキストとして推定され、それ以外の名前は属性コンテキストとして扱われます。
    • filter(任意) - フィルター式
    • timeRange(任意) - <number><unit> 形式の相対時間範囲。単位は m/h/d(例:'30m'、'1h'、'6h'、'7d'。デフォルト:'1h'。start と end の両方が指定されている場合は無視されます)
    • start/end(任意) - Unix ミリ秒タイムスタンプ。両方が指定されている場合、timeRange より優先されます。
    • stepInterval(任意) - 秒単位のステップ間隔(省略時は自動計算)
    • requestType(任意) - レスポンス形式。列挙値:time_series(デフォルト)、scalar。不明な値は拒否されます。
    • reduceTo(任意) - スカラーの場合:sum、count、avg、min、max、last、median
    • formula(任意) - 名前付きクエリに対する式(例:"A / B * 100")
    • formulaQueries(任意) - 数式に使用する追加の名前付きメトリクスクエリの配列、または JSON エンコードされた配列文字列。各オブジェクトで name、metricName、metricType、isMonotonic、temporality、timeAggregation、spaceAggregation、groupBy、filter を指定できます。name と metricName は必須です。
    • source(任意) - データソースのフィルター。Cost Meter のデータをクエリするには "meter" を指定します。デフォルトのメトリクスストアを使用する場合は省略します。
    • 結果の上限:単独で生成されるメトリクスクエリと数式の結果には、limit: 100 と __result desc が使用されます。数式に渡される各クエリには limit: 10000 が使用されます。数式の評価前に各クエリの上限が適用され、上位100件を個別に取得すると比率の高いグループが除外される場合があるためです。レスポンスの決定事項に関する注記には、両方の上限が示されます。数式への入力のカーディナリティが10000を超える可能性がある場合は、フィルターやグループ化を絞り込んでください。
    • キーが見つからない場合のエラー:このワークスペースのメトリクスメタデータに存在しないキーを参照するフィルターは失敗し、エラーテキストに復旧方法の案内、構造化エラーコンテンツに機械可読な missingKeys 配列が含まれます。
signoz_get_top_metrics

取り込みサンプル量で順位付けした上位 100 件のメトリクスを、事前計算済みの割合とともに返します。最も取り込み量とコストを押し上げているメトリクスを特定する際に使用します。POST /api/v2/metrics/treemap をラップします。レスポンスのフィールドは、metricName、percentage(サンプル総量に占める割合)、totalValue(サンプル数の絶対値)です。

  • パラメーター:
    • timeRange(任意) - 相対時間範囲 <number><unit>。単位は m/h/d です(例:'1h'、'24h'、'3d'、'7d'、'30d'。デフォルト:'7d'。start と end の両方が指定されている場合は無視されます)。まず 7d を指定してください。クエリがタイムアウトした場合は、3d、次に 24h で再試行してください
    • start/end(任意) - Unix ミリ秒のタイムスタンプ。両方が指定されている場合は、timeRange より優先されます
    • 完全性に関する注意:取り込みサンプル量に基づく上位 100 件を固定で返します。レスポンスには、この上限によりリストが切り詰められたかどうかを示す注記フラグ(hasMore)が追加されます
signoz_check_metric_usage

メトリクス名のリストを指定すると、それぞれのメトリクスを参照しているダッシュボードとアラートを返します。メトリクスごとに /api/v3/metrics/dashboards?metricName=... と /api/v2/metrics/alerts?metricName=... をラップします。

  • パラメーター:
    • metricNames(必須) - 確認するメトリクス名の文字列の配列(1 回の呼び出しにつき最大 50 件)。例:["system.disk.io", "k8s.node.condition"]。リストが 50 件を超える場合は、50 件ずつに分割して結果を統合してください
  • レスポンス:メトリクスごとに、dashboards(そのメトリクスを参照しているダッシュボード名のリスト)、alerts(そのメトリクスを参照しているアラート名のリスト)、error(検索に失敗した場合は空でない値。失敗した場合、そのメトリクスを未使用として扱わないでください)
  • 制限:1 回の呼び出しにつき最大 50 件のメトリクス。全体のタイムアウトは 30 秒(期限切れ時には部分的な結果が返されます)
signoz_check_metric_cardinality

1 つのメトリクスについて、カーディナリティ数とサンプル値を含むラベル/属性キーを、値の大きい順に返します。サンプル値は、UUID などの上限のない値とステータスコードなどの上限があるディメンションの判別に役立ちます。このツールではメトリクスが使用されているかどうかは確認できません。削除を推奨する前に signoz_check_metric_usage を呼び出してください。

  • パラメーター:
    • metricName(必須) - 調査するメトリクス名。例:k8s.container.memory_limit
    • timeRange(任意) - 相対時間範囲 <number><unit>。単位は m/h/d です(例:'30m'、'1h'、'6h'、'24h'、'3d'、'7d'。デフォルト:'7d'。start と end の両方が指定されている場合は無視されます)
    • start/end(任意) - Unix ミリ秒のタイムスタンプ。両方が指定されている場合は、timeRange より優先されます
signoz_list_alerts

Alertmanager の現在発報中/サイレンス中/抑制中のアラートインスタンスを一覧表示します。ルール定義は表示しません。設定済みのルールには signoz_list_alert_rules、完全なルール定義 1 件には id を指定して signoz_get_alert、状態の推移には signoz_get_alert_history を使用してください。

  • パラメーター:
    • limit(任意) - 1 ページあたりのアラート最大件数(デフォルト:50)
    • offset(任意) - ページネーションでスキップする結果数(デフォルト:0)
    • active/silenced/inhibited(任意) - 3 状態フィルター。ブール値(または文字列 "true"/"false")を指定します。省略するとバックエンドのデフォルトに従います(すべての状態が含まれます)。無効な値は、暗黙に無視されるのではなく拒否されます
    • filter(任意) - =、!=、=~(正規表現)、または !~(否定正規表現)を使用した、カンマ区切りのアラートラベル比較。例:alertname="HighCPU",severity="critical"
    • receiver(任意) - レシーバー名でアラートを絞り込むための正規表現
signoz_list_alert_rules

GET /api/v2/rules から、設定済みのアラートルールの概要を一覧表示します。非アクティブ/OK のルールと無効化されたルールも含まれます。完全な定義 1 件には signoz_get_alert、現在の Alertmanager インスタンスには signoz_list_alerts を使用してください。

  • パラメーター:
    • limit(任意) - 1 ページあたりのルール最大件数(デフォルト:50、最大:1000。より大きい値は上限に丸められます)
    • offset(任意) - ページネーションでスキップするルール数(デフォルト:0)
signoz_get_alert

1 つのアラートルールの完全な定義(GET /api/v2/rules/{id})を取得します。ID を調べるには signoz_list_alert_rules を使用してください。signoz_update_alert の前に、準備した操作に必要な完全な現在の定義がすでに揃っていない場合に限り、このツールを呼び出してください。まだ最新である結果は再利用し、変更しないフィールドは保持してください。

  • パラメーター:id(必須)- アラートルール ID(v2 対応サーバーでは UUIDv7)。
  • 注記:レスポンスの形式は SigNoz サーバーのバージョンによって異なります。#10997 以降のサーバーでは、createdAt/updatedAt/createdBy/updatedBy を持つ正規の Rule 型が返されます。古いサーバーでは、createAt/updateAt/createBy/updateBy(「d」を含まない)を持つ GettableRule が返されます。
signoz_list_dashboards

テナントのダッシュボード概要(名前、UUID、説明、タグ、タイムスタンプ)をページネーション形式で一覧表示します。パネルとクエリの定義には signoz_get_dashboard を使用してください。また、ダッシュボードが存在しないと結論づける前に、total を網羅するまで offset を limit ずつ増やしてページを取得してください。

  • パラメーター:
    • limit(デフォルト 50)、offset(デフォルト 0)– オフセットベースのページネーション
    • filter(任意)– ダッシュボードのメタデータ(名前、説明、タグ、作成者、タイムスタンプ、ロック状態)を対象とするサーバー側フィルター DSL
    • sort(任意)– updated_at(デフォルト)、created_at、または name
    • order(任意)– asc または desc(デフォルトは desc)

更新、パッチ適用、削除が可能なのは source: user のダッシュボードのみです。source はサーバー側のリストフィルター列ではありません。必要に応じて、ページをまたいで返された行をローカルでフィルターしてください。

filter DSL は、AND/OR/NOT と括弧で結合された key operator value 形式の項、および単独のフリーテキスト単語によるブール式です(例:name CONTAINS 'overview' AND locked = true)。完全な文法、フィルター可能なキーとその演算子、値の形式、具体例については signoz://dashboard/list-filter-guide を参照してください。リストのレスポンスには、正式な予約キーのセットも reservedKeywords として含まれます。

signoz_get_dashboard

既知のテナントダッシュボード 1 つの完全なレイアウト、変数、パネル、クエリを取得します。UUID を調べるには signoz_list_dashboards を使用してください。

  • パラメーター:id(必須)- ダッシュボード UUID
signoz_create_dashboard

複数のパネルを持つカスタムダッシュボードを作成します。厳選されたテンプレートが適している場合は signoz_import_dashboard を使用し、Explorer クエリを 1 つ保存する場合は signoz_create_view を使用してください。ペイロードを組み立てる前に、signoz://dashboard/instructions、signoz://dashboard/widgets-instructions、signoz://dashboard/widgets-examples を読んでください。

  • パラメーター:
    • schemaVersion(必須)– "v6" である必要があります
    • name(DNS-1123 ラベル)、または spec.display.name から名前を生成する generateName: true
    • tags(必須)– キーと値のタグの配列(空でも可)
    • spec(必須)– Perses の spec:display、variables(配列)、panels(パネル ID をキーとするマップ)、layouts(配列)

静的な Markdown パネルには、queries: [] を指定した signoz/TextPanel と、 plugin.spec.mode: "markdown"、text、presentation、headerOptions を使用します。 パネルのレイアウト参照も含めてください。クエリを含むパネルにはクエリが 1 つ必要ですが、Text パネルにはクエリのドライランは不要です。ウィジェットの例とパッチ手順には、どちらの種類も含まれています。面グラフには、time_series クエリを 1 つ指定した signoz/AreaChartPanel を使用します。visualization.stack(none、normal、percent)でグループ化された系列を積み上げ、chartAppearance.fillMode には solid または gradient を指定します。ダッシュボード入力では正規の id を使用してください。変更対象のダッシュボードツールでは、旧式の uuid 入力は拒否されます。

signoz_import_dashboard

SigNoz/dashboards リポジトリ(main ブランチ)でホストされている厳選テンプレートからダッシュボードを作成します。サーバーはテンプレートの JSON を取得し、1 回の呼び出しでダッシュボードを作成します。

テンプレートの相対パスが不明な場合は、最初に signoz_list_dashboard_templates を呼び出してください。URL や絶対パスではなく、その path を渡してください。

  • パラメーター:
    • path(必須)– SigNoz/dashboards リポジトリ内のテンプレートパス。例:hostmetrics/hostmetrics.json
signoz_list_dashboard_templates

SigNoz の厳選されたダッシュボードテンプレートの同梱カタログを検索し、一致したテンプレートを {"templates": [...], "total": N} として返します。各エントリには、id、title、path、description、category、keywords が含まれます。テナント内にすでに作成されているダッシュボードは一覧表示しません。それらには signoz_list_dashboards を使用してください。

  • Parameters:
    • searchText(省略可)– 各テンプレートの id、title、path、category、description、keywords に対して、大文字と小文字を区別せずに照合する語句です。すべての語句に一致するテンプレートが対象となります(例:postgres または kubernetes pod)。最大 2048 文字です。カタログ全体を返す場合は省略します。
signoz_update_dashboard

既存のダッシュボードを完全に置き換えます。signoz_get_dashboard で取得し、そのレスポンスから data オブジェクトを取り出して、要求された変更のみをマージし、その他のフィールドをすべて保持したまま、そのオブジェクトのフィールドをトップレベルに指定して送信してください。{status, data} のレスポンスエンベロープは入力として受け付けられません。保存済みの Explorer クエリには signoz_update_view を使用してください。

  • Parameters:
    • id(必須)– ダッシュボードの id(従来の uuid キーも使用できます)
    • schemaVersion、name、tags、spec – 更新後の完全な状態(ツールの JSON Schema を参照)
signoz_patch_dashboard

RFC 6902 JSON Patch をダッシュボードに適用します。ダッシュボード全体を再送信せずに部分更新できます。対象を絞った編集(名前の変更、パネルまたはクエリの追加・編集、変数の調整)には、signoz_update_dashboard よりこちらを優先してください。具体例と正確なパスについては signoz://dashboard/patch-instructions を参照してください。特に、パネルを追加するには 2 つの操作(パネルとそのグリッド項目)が必要で、そうしないと表示されません。

  • Parameters:
    • id(必須)– ダッシュボードの id(従来の uuid キーも使用できます)
    • patch(必須)– {op, path, value} 操作の配列です。パスは、例として /spec/display/name、/spec/panels/<panelId>、/spec/layouts/0/spec/items/-、/tags/- のように、ダッシュボードの送信可能な形式に対する JSON Pointer です。
signoz_list_services

指定した時間範囲にトレースアクティビティがある APM サービスを、ページネーション付きで一覧表示します。結果にない場合、その時間範囲にトレースアクティビティがないことを意味します。同じ service.name がログに一度も現れないという意味ではありません。ログの値には、signal="logs" を指定して signoz_get_field_values を使用してください。

  • Parameters:
    • timeRange(省略可) - <number><unit> 形式の相対時間範囲です。unit には m/h/d を指定します(例:'30m'、'1h'、'6h'、'7d'。デフォルトは過去 6 時間です。start と end の両方が指定されている場合は無視されます)
    • start(省略可) - Unix ミリ秒単位の開始時刻です(デフォルトは 6 時間前)。
    • end(省略可) - Unix ミリ秒単位の終了時刻です(デフォルトは現在)
    • limit(省略可) - 1 ページあたりのサービスの最大数です(デフォルト:50、最大:1000。これを超える値は上限に調整されます)
    • offset(省略可) - ページネーションでスキップする結果数です(デフォルト:0)
signoz_get_service_top_operations

トレース対象サービス 1 つの組み込み操作テーブルを取得し、p99 レイテンシの高い順に、各操作の p50、p95、p99、呼び出し数、エラー数を表示します。カスタム集計、グループ化、時系列、サービス間の比較、任意のトレースフィルターには signoz_aggregate_traces を使用してください。

  • Parameters:
    • service(必須) - トレース対象サービスの正確な名前です。通常は signoz_list_services から取得します。
    • timeRange(省略可) - <number><unit> 形式の相対時間範囲です。unit には m/h/d を指定します(例:'30m'、'1h'、'6h'、'7d'。デフォルトは過去 6 時間です。start と end の両方が指定されている場合は無視されます)
    • start(省略可) - Unix ミリ秒単位の開始時刻です(デフォルトは 6 時間前)。
    • end(省略可) - Unix ミリ秒単位の終了時刻です(デフォルトは現在)
    • tags(省略可) - 文字列として渡す、JSON エンコードされた TagQueryParam 配列です。例:[{"key":"http.method","tagType":"SpanAttribute","operator":"In","stringValues":["GET"]}]。タグでフィルターしない場合は省略します。
signoz_get_alert_history

設定済みのルール1件について、発火履歴または状態遷移履歴を取得します。デフォルトでは直近6時間分を取得します。結果を絞り込むには、state と filter を使用します。次のページを取得するには、data.nextCursor を cursor として渡し、元のフィルター、時間範囲、並び順を指定して再度呼び出します。

レスポンスは { "status": "success", "data": { "items": [...], "total": <n>, "nextCursor": "<opaque>" } } です。最終ページでは nextCursor は省略されます。

  • パラメーター:
    • id(必須) - signoz_list_alert_rules から取得したアラートルール ID
    • timeRange(任意) - 相対時間範囲 <number><unit>。単位は m/h/d です(例:'30m'、'1h'、'6h'、'7d'。デフォルトは直近6時間です。start と end の両方が指定されている場合は無視されます)
    • start(任意) - Unix ミリ秒単位の開始タイムスタンプ(デフォルトは6時間前)。
    • end(任意) - Unix ミリ秒単位の終了タイムスタンプ(デフォルトは現在)
    • state(任意) - アラート状態によるフィルター:inactive、pending、recovering、firing、nodata、disabled(すべての遷移を対象にする場合は省略)
    • filter(任意) - タイムラインラベルに対する SigNoz クエリビルダー式。条件は AND、OR、括弧で組み合わせ、文字列はシングルクォートで囲みます。例:severity = 'critical' AND (team = 'payments' OR service.name = 'checkout')。キーを確認するには、まずフィルターなしで呼び出し、data.items[].labels[].key.name を確認してください。バックエンド形式の filterExpression エイリアスも互換性のため引き続き使用できますが、標準のパラメーターは filter です。
    • cursor(任意) - 不透明な継続カーソル。次のページを取得する際は、元の時間範囲、状態、フィルター、並び順を指定してください。最初のページでは cursor を省略します。
    • limit(任意) - 1ページあたりの行数。デフォルト:20、最大:10000(これを超える値は上限に調整されます)。
    • order(任意) - 並び順。列挙値:asc、desc(デフォルト:'asc')
    • 旧式の offset:サポートされなくなりました。代わりに、返されたカーソルを使用してください。
    • 完全性に関する注記:レスポンスには、data.nextCursor に基づく hasMore と、次のページ用のカーソル名を示す注記が追加されます。
signoz_list_views

保存済みの Explorer ビューを一覧表示するか、Logs、Traces、Metrics、Cost Meter の各ページのビュー UUID を確認します。ビューには再利用可能な Explorer クエリ仕様が1つ保存されます。複数パネルのダッシュボードではありません。ページネーションの前に名前フィルターが適用されます。pagination.hasMore が true の間は、pagination.nextOffset を使用して続きのページを取得してください。

  • パラメーター:
    • source(任意) - フィルター対象の Explorer。例:traces、logs、metrics、meter(Cost Meter。独立した Explorer ページです)。値は SigNoz によって検証されます。すべての Explorer のビューを一覧表示する場合は省略します
    • name(任意) - ビュー名の部分一致フィルター(サーバー側)
    • limit(任意) - ページサイズ(デフォルト:50、最大:1000。これを超える値は上限に調整されます)
    • offset(任意) - スキップする結果数(デフォルト:0)
signoz_get_view

UUID を指定して、保存済みの Explorer ビュー1件の完全な定義を取得します。ビューを完全に置き換える signoz_update_view を呼び出す前に使用してください。

  • パラメーター:id(必須) - 保存済みビューの UUID
signoz_search_docs

SigNoz の公式ドキュメントを検索し、製品、セットアップ、インストルメンテーション、設定、API、デプロイ、トラブルシューティングに関する質問について、URL とスニペット付きの関連度順のページを返します。1 つのトピックにつき 2~6 個のキーワードを指定し、製品名や技術名はユーザーが入力したとおりに保ってください。複数の意図を含む質問は、別々に呼び出してください。最上位の結果がトピックと無関係な場合は、キーワードを減らすか変更して再試行してください。テナントのリアルタイムデータには使用せず、選択した結果や正確なドキュメント URL の全文を取得するには signoz_fetch_doc を使用してください。

  • Parameters:
    • searchText (required) - 1 つのトピックにつき 2~6 個のキーワードを指定します。例:「Kubernetes pod logs」。製品名や技術名はユーザーが入力したとおりに保ってください。
    • limit (optional) - 返す結果の最大数を文字列で指定します(デフォルト:10、最大:25。数値も受け付けます)。上限を 25 としているのは意図的です。各結果はプロセス内のドキュメントインデックスからドキュメントのテキストを読み込むため、上限を大きくすると、このサーバーの常駐メモリが増加します。
    • section_slug (optional) - setup、logs-management、apm-distributed-tracing、metrics、alerts、dashboards、signoz-apis、querying、collection-agents など、ドキュメントの最上位セクションを完全一致で指定して絞り込みます。結果をさらに絞り込む場合は、以前の結果に含まれる section_slug を再利用してください。不明なスラッグを指定すると、結果は 0 件になります。
    • searchContext - ユーザーの元の質問

ドキュメント検索のテレメトリでは、実行された検索が signoz_docs_searches_total に outcome=ok|error としてカウントされます。成功した検索のみ result_count_bucket(0、1-4、5-9、10+)が記録されます。signoz_docs_search_top_score には、成功して結果が 1 件以上あった検索について、最上位の結果の未加工の Bleve スコアが記録されます。スコアは未調整で、クエリ語、ブースト、アナライザー設定によって変わります。関連度の確率やしきい値ではありません。

検索スパンには、mcp.docs.search_text(実行されたクエリ。256 Unicode 文字に切り詰め)、mcp.docs.section_slug、mcp.docs.result_count が記録されます。成功して結果が 1 件以上あった検索では、mcp.docs.top_score も記録されます。これらのスパン属性によって、クライアントのキーワードクエリとユーザーの元のリクエストである mcp.search_context を区別できます。クエリテキストはメトリクス属性ではありません。クエリが無効な Bleve クエリ文字列構文の場合、検索では該当する句を除外してテキストマッチングを続行し、mcp.docs.query_string_dropped=true が記録されます。空または空白のみのクエリは、引き続き検証エラーになります。

signoz_fetch_doc

既知の SigNoz 公式ドキュメントページの Markdown 全文または指定した見出しを取得します。まず signoz_search_docs を使用してページを見つけてください。入力として使用できるのは、https://signoz.io/docs/... URL または /docs/... パスです。

  • Parameters:
    • url (required) - ドキュメントページの URL またはパス
    • heading (optional) - 見出しのアンカー ID または見出しテキスト
    • searchContext - ユーザーの元の質問
signoz_create_view

再利用可能な Explorer クエリ仕様を 1 つ保存します。複数パネルのダッシュボードには signoz_create_dashboard を使用してください。Cost Meter ビューでは、source="meter"、signal="metrics"、および builder-spec の source="meter" を使用します。

  • Parameters (v2 typed shape):
    • name (optional) - ビュー名(DNS-1123 ラベル)。generateName が true でない限り必須です。
    • generateName (optional) - true の場合、サーバーは spec.displayName から name を生成します。このとき name は空である必要があります。
    • source (required) - このビューが属する Explorer を指定します。例:traces、logs、metrics、meter。SigNoz が値を検証します。
    • spec (required) - 型付きのビュー内容:displayName、panelType、requestType、queries、selectedFields、display
    • schemaVersion (optional) - 常に v2 です。省略した場合はデフォルト値が適用されます。
  • Required: ペイロードを作成する前に、両方の MCP リソース signoz://view/instructions と signoz://view/examples を読み込んでください。
signoz_update_view

既存の保存済み Explorer ビューを完全に置き換えます。signoz_get_view で取得し、返された data オブジェクトを変更して、要求されていないフィールドをすべて保持し、その完全なオブジェクトを view として渡してください。上流では更新時に name は変更できません。表示ラベルは spec.displayName にあります。

  • パラメーター:
    • id(必須)- 置き換えるビューの UUID
    • view(必須)- 完全な source/spec のペア(必須)。name とサーバーが設定したフィールドは削除してください
  • 移行:廃止されたフラット形式(id と並べて source と spec を指定する形式)を使うと、view ラッパーを示すコード付きの VALIDATION_FAILED エラーが返されます。{"id": "<uuid>", "view": {"source": ..., "spec": ...}} を渡してください。
  • リソースのルール:source または spec を変更する場合は、signoz://view/instructions と signoz://view/examples を読み取ってください。取得した本文をそのまま渡す場合は不要です。最初に signoz_get_view を呼び出してください。一部のフィールドだけを含む本文を渡すと、指定されていないフィールドは消去されます。
signoz_delete_view

確認済みの保存済み Explorer ビューを UUID で完全に削除します。ID の確認には signoz_list_views を使用してください。ダッシュボードには signoz_delete_dashboard を使用してください。

  • パラメーター:id(必須)- 保存済みビューの UUID
signoz_aggregate_logs

個々のレコードではなく、ログに関する集計統計(件数、レート、平均、パーセンタイル、グループ別/上位 N 件の内訳)を返します。ログの行やメッセージを調べるには signoz_search_logs を使用してください。

  • パラメーター:
    • aggregation(必須)- 集計関数:count、count_distinct、avg、sum、min、max、p50、p75、p90、p95、p99、rate
    • aggregateOn(任意)- 集計対象フィールド(count と rate 以外では必須)
    • groupBy(任意)- グループ化するフィールドをカンマ区切りで指定します(例:'service.name, severity_text')
    • filter(任意)- SigNoz 検索構文を使用するフィルター式。条件は AND、OR、かっこを使って組み合わせます。不明なキーはエラーになります。コンテキストが曖昧なキーは、デフォルトでリソースコンテキストとして扱われます。ログのキーはワークスペースによって異なります。service.name であっても、ログパイプラインで設定されている場合にのみ存在します。signoz://logs/query-builder-guide を参照してください
    • service(任意)- サービス名のショートカットフィルター(service.name = '<value>' を追加します。ワークスペースのログにその属性がない場合は、key service.name not found エラーになります)
    • severity(任意)- 完全一致の severity_text。DEBUG、INFO、WARN、ERROR、FATAL はよく使われる例ですが、列挙値のすべてではありません。signoz_get_field_values(signal="logs", name="severity_text", fieldContext="log") で値を確認してください
    • orderBy(任意)- 順序と方向を指定する式(例:'count() desc')
    • limit(任意)- 返すグループの最大数(デフォルト:100、最大:10000。これを超える値はサーバーのメモリを制限内に保つために上限値に調整されます)
    • timeRange(任意)- 相対的な時間範囲 <number><unit>。単位は m/h/d です(例:'30m'、'1h'、'6h'、'24h'、'7d'。デフォルト:'1h'。start と end の両方が指定されている場合は無視されます)
    • start / end(任意)- 開始/終了時刻を UNIX ミリ秒で指定します。両方が指定されている場合は、timeRange より優先されます。
    • requestType(任意)- scalar(デフォルト。範囲全体に対する集計値を 1 つ返す)または time_series(時間バケットごとに値を 1 つ返す)。不明な値は拒否されます。
    • stepInterval(任意)- time_series モードでの時間バケットのサイズを秒単位で指定します。数値または数値文字列を受け付けます(省略時はバックエンドが自動選択します)
    • 時系列のランキングに関する注意:limit は、各バケット個別ではなく、要求された時間範囲全体における上位グループを選択します。短時間しか存在しない系列が隠れてしまう可能性がある場合は、時間範囲を狭めるか、limit を調整してください。
    • キーが見つからない場合のエラー:このワークスペースのログメタデータに存在しないキーをフィルターで参照すると、エラーテキストに復旧方法のガイダンスが含まれ、構造化エラーコンテンツに機械可読な missingKeys 配列が含まれます
signoz_search_logs

テキスト、サービス、重要度、またはフィールドのフィルターに一致するログレコードを個別にページネーションして返します。件数、推移、グループ別の内訳には signoz_aggregate_logs を使用してください。

searchText、service、severity、時刻、ページネーションのパラメーターのみを使う呼び出しでは、ガイドを読む必要はありません。filter に未知のワークスペースフィールドを指定する場合に限り、作成する前に signoz://logs/query-builder-guide を読んでください。

  • パラメーター:
    • filter(任意)- SigNoz の検索構文を使用するフィルター式です。AND、OR、括弧を使って条件を組み合わせます(例:「(severity_text = 'ERROR' OR body CONTAINS 'panic') AND service.name = 'payment-svc'」)。ログキーはワークスペースごとに異なります。service.name でさえ、ログパイプラインで設定されている場合にのみ存在します。signoz://logs/query-builder-guide を参照してください。
    • service(任意)- フィルター対象のサービス名です(service.name = '<value>' が追加されます。ワークスペースのログにその属性がない場合は、key service.name not found エラーになります)。
    • severity(任意)- 完全一致する severity_text です。DEBUG、INFO、WARN、ERROR、FATAL は一般的な例であり、列挙値のすべてではありません。signoz_get_field_values(signal="logs", name="severity_text", fieldContext="log") で値を確認してください。
    • searchText(任意)- 検索する文字列です。自動的にエスケープされ、filter と AND で結合されます。
    • searchScope(任意)- searchText の検索対象です。body(デフォルト、body CONTAINS)、attribute または resource(キーと値)、all(スコープ指定なしの search()。広い時間範囲では低速)を指定できます。
    • timeRange(任意)- 相対時間範囲 <number><unit> です。単位は m/h/d です(例:「30m」、「1h」、「6h」、「24h」、「7d」。デフォルト:「1h」。start と end の両方が指定されている場合は無視されます)。
    • start/end(任意)- 開始時刻/終了時刻を Unix ミリ秒で指定します。両方が指定されている場合は、timeRange より優先されます。
    • limit(任意)- 返すログの最大件数です(デフォルト:100、最大:10000。上限を超える値は上限に調整されます。offset でページネーションしてください)。
    • offset(任意)- ページネーションのオフセットです(デフォルト:0)。
    • 並べ替え:生成される生ログクエリでは timestamp desc、次に id desc を使用するため、複数の行が同じタイムスタンプを持つ場合も、オフセットによるページネーションが決定的に行われます。
    • 完全性に関する注意:レスポンスには、hasMore(returnedRows == limit から推定)と次に取得する nextOffset を示す注記が追加されます。そのため、途中で切り詰められたページを結果セット全体と誤認することはありません。
    • キーが見つからない場合のエラー:このワークスペースのログメタデータに存在しないキーを参照するフィルターは、エラーテキスト内に復旧方法の案内を含むエラーとなり、構造化エラーコンテンツ内に機械可読な missingKeys 配列も含まれます。

項目を含むフィールドが不明な場合は、filter: "search('timeout')" を使用してください。 対象を限定するには search('checkout', body) を使用するか、この関数をフィールド述語と AND/OR/NOT で組み合わせてください。スコープは body、attribute、resource、log です。フィールドが判明したら、フィールド述語を優先してください。searchText と searchScope を使うと、これらの述語が自動的に作成されます。式のリテラル内ではバックスラッシュとアポストロフィをエスケープしてください。明示的なフィルターはそのまま渡され、書き換えられません。同じ式はログ集計や保存済みクエリの仕様でも使用できます。

signoz_get_field_keys

メトリクス、トレース、ログのフィルタリングやグループ化に使用できるフィールド名を確認します。返されるのはキーであり、観測された値ではありません。キーを選択した後に signoz_get_field_values を使用してください。data.complete が false の場合、SigNoz によってキーの一覧が切り詰められています。searchText または fieldContext を指定して絞り込んでください。

  • パラメーター:
    • signal(必須)- シグナルの種類。列挙値:metrics、traces、logs
    • searchText(任意)- フィールドキー名の部分一致で絞り込みます
    • metricName(任意)- メトリクス名で絞り込みます(メトリクスシグナルの場合に関連します)
    • fieldContext(任意)- フィールドコンテキストを指定して絞り込みます。列挙値:resource、attribute、scope、log/span/metric(組み込み列)、body(JSON ログ本文)。SigNoz はここでは無視するため、旧 Query Builder コンテキストの tag ではなく、attribute を使用してください。
    • fieldDataType(任意)- データ型を指定して絞り込みます:string、bool、int64、float64、number。[]string のような配列形式は、要素の型として扱われます。
    • source(任意)- メトリクスの場合、Cost Meter フィールドには meter を指定します。デフォルトのメトリクスストアの場合は省略してください。
signoz_get_field_values

既知のフィールドキーについて、観測された値を取得します。キーが不明な場合は signoz_get_field_keys を使用し、値を使用するクエリと signal および fieldContext を一致させてください。data.complete が false の場合、SigNoz によって値の一覧が切り詰められています。searchText を指定して絞り込んでください。

  • パラメーター:
    • signal(必須)- シグナルの種類。列挙値:metrics、traces、logs
    • name(必須)- 値を取得するフィールドキー名(例:service.name、http.method)
    • searchText(任意)- 部分一致で値を絞り込みます
    • metricName(任意)- メトリクス名で絞り込みます(メトリクスシグナルの場合に関連します)
    • fieldContext(任意)- 同じキー名が複数のフィールドコンテキストに存在する場合、対象のフィールドコンテキスト(resource、attribute、scope、log/span/metric、body)に絞り込みます。旧 Query Builder コンテキストの tag では値が返されないため、attribute を使用してください。
    • source(任意)- メトリクスの場合、Cost Meter の値には meter を指定します。デフォルトのメトリクスストアの場合は省略してください。
signoz_search_traces

サービス、オペレーション、エラー、期間、またはフィールドのフィルターに一致するスパン行を、ページネーション付きで返します。返されたスパン行を使ってトレース ID を見つけます。統計情報には signoz_aggregate_traces、既知のトレース 1 件の詳細には signoz_get_trace_details を使用してください。

  • パラメーター:
    • filter(任意)- SigNoz の検索構文を使ったフィルター式です。AND、OR、かっこを使って条件を組み合わせます(例:"service.name = 'payment-svc' AND (has_error = true OR attribute.http.response.status_code >= 500)")。後方互換性のため、従来の query も引き続き受け付けますが、標準は filter です。signoz://traces/query-builder-guide を参照してください。
    • service(任意)- フィルターするサービス名です。
    • operation(任意)- フィルターするオペレーション/スパン名です。
    • error(任意)- エラー状態でフィルターします。ブール値(または文字列 "true"/"false")を指定します。無効な値は、暗黙に除外されるのではなく、拒否されます。
    • minDuration / maxDuration(任意)- スパン期間の最小値/最大値をナノ秒で指定します(例:500 ミリ秒の場合は '500000000')。
    • timeRange(任意)- 相対期間を <number><unit> の形式で指定します。単位は m/h/d です(例:'30m'、'1h'、'6h'、'24h'、'7d'。デフォルト:'1h'。start と end の両方が指定されている場合は無視されます)。
    • start / end(任意)- 開始/終了時刻を UNIX ミリ秒で指定します。両方が指定されている場合、timeRange より優先されます。
    • limit(任意)- 返すスパン行の最大数です(デフォルト:100、最大:10000。上限を超える値は最大値に制限されます。offset でページネーションします)。
    • offset(任意)- スキップするスパン行の数です(デフォルト:0)。
    • selectFields(任意)- 各行で返す追加フィールドです。デフォルトのフィールドセットに追加されます。フィールド名の配列、またはカンマ区切りの文字列で指定し、最大 50 個まで指定できます。名前にはスパン列(db_name)、リソース属性(k8s.pod.name)、スパン属性(http.route)を指定できます。resource.、attribute.、span. のプレフィックスでコンテキストを選択できます。signoz_get_field_keys(signal="traces")で名前を確認できます。
    • デフォルトフィールド:各行には timestamp、trace_id、span_id、parent_span_id、name、service.name、kind_string、duration_nano、has_error、status_code_string、status_message、response_status_code、http_method と、任意の selectFields が含まれます。すべてのフィールドはフラットな行キーです。行にないフィールドは選択されていません。
    • 並べ替え:生成される生トレースクエリは timestamp desc で並べ替えられます。
    • 完全性に関する注意:レスポンスには、hasMore(returnedRows == limit から推定)と、次に取得する nextOffset を示す注記が追加されます。そのため、切り詰められたページを結果セット全体と誤認することはありません。
    • 出力に関する注意:生の結果行のキーには、標準の Query Builder フィールド名(例:trace_id、span_id、duration_nano、has_error)が使われます。hasError のような従来の呼び出し側指定フィルターは、引き続きバックエンドのエイリアス層に渡されますが、新しいレスポンスパーサーでは標準のスネークケースのキーを読み取ってください。
    • キーが見つからない場合のエラー:このワークスペースのトレースメタデータに存在しないキーを参照するフィルターでは、エラーテキストに復旧方法の案内が含まれ、構造化されたエラーコンテンツには機械可読な missingKeys 配列が含まれます。
signoz_aggregate_traces

スパンの個別行やトレース階層全体ではなく、スパンのカスタム集計統計(件数、レート、レイテンシのパーセンタイル、グループ別/上位 N 件の内訳、時系列など)を返します。あるトレース対象サービスの組み込みオペレーションテーブルを p99 順で取得するには、signoz_get_service_top_operations を使用してください。このツールを呼び出す前に、signoz://traces/query-builder-guide をお読みください。

  • パラメーター:
    • aggregation(必須)- 集計関数:count、count_distinct、avg、sum、min、max、p50、p75、p90、p95、p99、rate
    • aggregateOn(任意)- 集計対象のフィールド(例:'duration_nano')。count と rate 以外では必須です
    • groupBy(任意)- グループ化するフィールドをカンマ区切りで指定します(例:'service.name, name')
    • filter(任意)- SigNoz の検索構文を使用したフィルター式です。AND、OR、括弧を使って条件を組み合わせます。不明なキーはエラーになり、曖昧なキーはデフォルトでリソースコンテキストとして扱われます。signoz://traces/query-builder-guide を参照してください
    • service(任意)- サービス名のショートカットフィルター
    • operation(任意)- スパン/オペレーション名のショートカットフィルター
    • error(任意)- エラースパンのショートカットフィルターです。ブール値(または文字列 "true"/"false")を指定します。無効な値は黙って無視されず、拒否されます
    • orderBy(任意)- 並べ替えの式と順序(例:'avg(duration_nano) desc')
    • limit(任意)- 返すグループの最大数(デフォルト:100、最大:10000。これを超える値はサーバーのメモリ使用量を制限するため上限に丸められます)
    • timeRange(任意)- 相対時間範囲 <number><unit>。単位は m/h/d です(例:'30m'、'1h'、'6h'、'24h'、'7d'。デフォルト:'1h'。start と end の両方が指定されている場合は無視されます)
    • start/end(任意)- Unix ミリ秒単位の開始/終了時刻です。両方を指定すると、timeRange より優先されます
    • requestType(任意)- scalar(デフォルト。範囲全体の集計値を 1 つ返します)または time_series(時間バケットごとに値を 1 つ返します)。不明な値は拒否されます
    • stepInterval(任意)- time_series モードの時間バケットサイズを秒単位で指定します。数値または数値文字列を受け付けます(省略時はバックエンドが自動選択します)
    • 時系列のランキングに関する注意:limit は、各バケットごとではなく、リクエストされた期間全体で上位のグループを選択します。短期間しか存在しない系列が隠れる可能性がある場合は、期間を短くするか limit を調整してください
    • キーが見つからない場合のエラー:このワークスペースのトレースメタデータに存在しないキーを参照するフィルターを指定すると、エラーテキストに復旧方法が示され、構造化エラーコンテンツには機械可読な missingKeys 配列が含まれます
signoz_get_trace_details

既知のトレース ID を指定すると、そのスパン、メタデータ、階層を返します。ID が不明な場合は、まず signoz_search_traces を使用し、トレースを含む時間範囲を選択してください。デフォルトでは過去 6 時間が対象となるため、それより古いトレースは見つからないことがあります。

  • パラメーター:
    • traceId(必須)- 既知のトレース ID。通常は signoz_search_traces で見つけます
    • timeRange(任意)- 相対時間範囲 <number><unit>。単位は m/h/d です(例:'30m'、'1h'、'6h'、'7d'。デフォルトは過去 6 時間です。start と end の両方が指定されている場合は無視されます)
    • start(任意)- Unix ミリ秒単位の開始時刻(デフォルトは 6 時間前)。
    • end(任意)- Unix ミリ秒単位の終了時刻(デフォルトは現在時刻)
    • includeSpans(任意)- 詳細なスパン情報を含めます。ブール値(または文字列 "true"/"false")を指定します。デフォルト:true
signoz_create_alert

POST /api/v2/rules を使用して、SigNoz に新しいアラートルールを作成します。

  • パラメーター:SigNoz アラートルールスキーマに適合する JSON ペイロードです。
  • スキーマは ruleType によって異なります:
    • threshold_rule / promql_rule → v2alpha1(構造化された condition.thresholds、evaluation、notificationSettings)。
    • anomaly_rule → v1、メトリクスのみ:トップレベルの evalWindow / frequency、条件の異常検知フィールド、トップレベルに直接指定する preferredChannels。thresholds、evaluation、notificationSettings、schemaVersion は省略してください。ポリシーによるルーティングはサポートされていません。
  • 通知ルーティング:直接ルーティングの場合、完全にページネーションされた signoz_list_notification_channels の結果は、同じ現在有効な準備済み操作で取得済みの場合にのみ再利用してください。それ以外の場合は呼び出し、状態が変化した可能性がある場合にのみ更新してください。V2 では各ティアに、返されたものと完全一致する displayName が必要です。SigNoz は、チャンネルがないティアや、存在しないチャンネル名を含むティアを拒否します。また、トップレベルの preferredChannels は v2 のルーティングには関係しません。V1 の異常検知では、トップレベルに直接指定する preferredChannels を使用します。どれも該当しない場合は、ユーザーに確認するか、ユーザーが設定を指定したうえで signoz_create_notification_channel を提案してください。自動作成はしないでください。確認済みの v2 ポリシールーティングでは、ティアのチャンネルを省略できます。
  • ヒント:同じ準備済み操作で既に読み込み済みの場合にのみ、アラートリソースを再利用してください。それ以外の場合は signoz://alert/instructions と signoz://alert/examples を読み込んでください。PromQL については、必要に応じて signoz://promql/instructions を読み込んでください。
signoz_update_alert

PUT /api/v2/rules/{id} を使用して、既存のアラートルールを更新します。これはルール全体を置き換えます。signoz_get_alert、signoz://alert/instructions、signoz://alert/examples、および完全にページネーションされた signoz_list_notification_channels の結果は、同じ現在有効な準備済み操作で取得済みの場合にのみ再利用してください。それ以外の場合は読み込みまたは呼び出しを行い、状態が変化した可能性がある場合にのみ更新してから、変更しないフィールドを保持してください。直接ルーティングを行う v2 では、各ティアに、一覧に表示されたものと完全一致する displayName が必要です。確認済みの v2 ポリシールーティングでは、これらを省略できます。V1 の異常検知では、トップレベルに直接指定する preferredChannels を使用し、ポリシールーティングは使用できません。

  • パラメーター:
    • id(必須)- 更新するルールの UUIDv7 です(signoz_list_alert_rules / signoz_get_alert から取得してください)。
    • さらに、アラートルールスキーマのすべてのフィールドが必要です(signoz_create_alert と同じ形式)。
signoz_delete_alert

DELETE /api/v2/rules/{id} を使用して、アラートルールを削除します。取り消しはできません。signoz_list_alert_rules で ID を確認し、最初に対象のルールを確認してください。両方の手順がすでに完了している場合は、一覧取得や取得による事前確認を繰り返さず、削除ツールを直接呼び出してください。

  • パラメーター:
    • id(必須)- 削除するルールの UUIDv7 です。UUIDv7 以外の値はサーバーによって invalid_input で拒否されます。
signoz_delete_dashboard

確認済みのテナントダッシュボードを、ID を指定して完全に削除します。削除は取り消せません。UUID の確認には signoz_list_dashboards を使用してください。保存済みの Explorer ビューには signoz_delete_view を使用してください。

  • パラメーター:id(必須)- 削除するダッシュボードの UUID です。
signoz_list_notification_channels

ページネーションされた v2 チャンネルの概要(id、name、displayName、kind、タイムスタンプ)を一覧表示します。 アラートルーティングでは displayName を使用します。name は変更できないシステム識別子です。 結果にはプロバイダーの設定や認証情報は含まれません。完全な設定を取得するには signoz_get_notification_channel を使用し、チャンネルが存在しないと判断する前に、すべてのページを確認してください。

  • パラメーター:query は表示名を検索します。kind はプロバイダーの種類で絞り込みます。 sort は updated_at、created_at、または name、order は asc または desc です。 limit のデフォルトは 20 で、上限は 200 です。offset のデフォルトは 0 です。
  • デフォルト:更新日時の新しい順です。レスポンスには、フィルタリング後の合計数と 明示的なページネーションメタデータが含まれます。 pagination.hasMore が true の場合は、pagination.nextOffset に従ってください。 pagination.limit には、適用された上限が示されます。
signoz_create_notification_channel

config: {kind, spec} から通知チャンネルを作成します。チャンネルを作成する前に、既存の表示名を確認してください。

  • パラメーター:config は必須です。DNS1123 に準拠する name を指定するか、displayName を指定して generateName: true を使用してください。name を明示して displayName を省略した場合、SigNoz は displayName を name から設定します。作成後、どちらの名前も変更できません。アラートのルーティング参照では、name ではなく displayName を使用します。
  • プロバイダーの種類:signoz://notification-channel/examples には、固定された SigNoz リリースで受け付けられるすべての種類と、各種類の config.spec フィールド、および種類ごとの記入例が記載されています。これは SigNoz OpenAPI 仕様から make gen によって生成されます。SigNoz は種類を検証し、受け付けない種類が指定された場合は、受け付け可能な種類を含むエラーを返します。また、不明または未指定の config.spec フィールドには、具体的な要件を示すエラーを返し、名前が重複している場合は already-exists を返します。
  • 解決通知:config.spec.sendResolved を省略すると、プロバイダーの既定値が使われます。取得時には有効な値が返されます。更新時にはその値を保持してください。
  • テスト送信:test の既定値は false です。テスト通知を意図している場合に限り、test: true を設定してください。テストに失敗しても、作成済みのチャンネルは取り消されません。再試行する前に、報告されたステータスを確認してください。書き込み後の認可エラーには mutationCommitted: true と既知の ID が含まれます。呼び出し側は認証して既存のチャンネルを確認できるため、チャンネルを再作成する必要はありません。

テスト送信を行わない場合の例:

{
  "name": "checkout-oncall",
  "displayName": "Checkout on-call",
  "config": {
    "kind": "webhook",
    "spec": {"url": "https://alerts.example.com/signoz", "sendResolved": true}
  },
  "test": false
}
signoz_update_notification_channel

id と完全な正規形式の config: {kind, spec} オブジェクトを使用して、1 つのチャンネルの config を完全に置き換えます。チャンネルを取得し、その config をコピーして、要求されたフィールドのみを変更したうえで、完全なオブジェクトを送信してください。名前は変更できません。変更しない設定や認証情報はすべて保持し、シークレットを再度含めないでください。取得した設定はそのまま書き込みに使用できます。任意フィールドを未設定にするには、省略してください。SigNoz は、タイトルやメッセージなど、テンプレートを使用するフィールドの空文字列を拒否します。 test の既定値は false です。明示的に true を指定すると、更新後にテストが送信されます。テストに失敗しても、更新は取り消されません。結果が不明な書き込みや、オプトインのテストを自動的に再送しないでください。

signoz_get_notification_channel

チャンネルの正規形式の id、システム用の name、displayName、タイムスタンプ、完全な config を取得します。config.spec には平文の認証情報が含まれる場合があります。シークレットを表示またはログに記録せず、更新に使用してください。パラメーター:id。

signoz_delete_notification_channel

確認済みのチャンネルを id で完全に削除します。まず対象のチャンネルを特定し、正確に確認してください。すでにこれらの手順が完了している場合は、直接呼び出してください。ルーティングポリシーがチャンネルを参照していると、バックエンドが削除を拒否する場合があります。その依存関係エラーをそのまま伝え、再試行する前に参照を解消してください。

signoz_execute_builder_query

専用ツールでは表現できない、複数のクエリ、数式、PromQL、ClickHouse SQL を含む SigNoz Query Builder v5 リクエストを実行します。行データには signoz_search_logs / signoz_search_traces、グループ化された結果には signoz_aggregate_logs / signoz_aggregate_traces、通常のメトリクスには signoz_query_metrics を優先してください。

  • パラメーター:query(必須)— 完全な query_range リクエストです。入力スキーマでは、SigNoz OpenAPI 仕様の説明に基づいてトップレベルフィールド(start、end、requestType、compositeQuery、variables、formatOptions、noCache)を記述しています。compositeQuery.queries 内のクエリエンベロープはオープンオブジェクトで、ガイドおよび signoz://query-builder/examples で説明しています。
  • クエリタイプ:エンベロープごとの compositeQuery.queries[i].type で仕様の形式を選択します。
    • builder_query:シグナル固有の仕様(ログ/トレース/メトリクス)で、フィルター、集計、groupBy などを指定します。
    • builder_formula:他のクエリ名を参照する数式(例:A / B * 100)。
    • promql:{name, query, disabled, step?, legend?}。OTel メトリクスの PromQL では、Prometheus 3.x の UTF-8 引用セレクター形式 {"metric.name.with.dots"} が必要です。詳細は signoz://promql/instructions リソースを参照してください。
    • clickhouse_sql:{name, query, disabled, legend?}。
  • ビルダー結果の上限:予測可能なクエリを作成するには、すべての builder_query と builder_formula に正の spec.limit と空でない v5 の spec.order(ダッシュボード/エディターの orderBy ではありません)を明示的に指定してください。省略、null、または 0 の場合、単独の上限と数式結果の上限は 100 になります。数式で参照されるビルダークエリは、数式の評価前にベースクエリの上限が適用されるため、デフォルトで 10000 になります。生ログは timestamp desc, id desc、生トレースは timestamp desc、メトリクスのスカラー/時系列クエリと数式は __result desc、ログ/トレースのスカラー/時系列クエリは主要な集計値の降順で並べ替えられます。呼び出し元が指定した値は変更せずに渡されます。デフォルト値が挿入されると、レスポンスに決定事項の注記が追加されます。
  • 検証:挿入された上限を除き、リクエストはそのまま SigNoz に渡され、SigNoz が検証します。requestType にデフォルト値はありません(raw、trace、time_series、scalar のいずれかです)。start と end は Unix ミリ秒単位のタイムスタンプで指定する必要があります。
  • ガイドの参照先:ログについては signoz://logs/query-builder-guide、トレースについては signoz://traces/query-builder-guide、メトリクス/数式については signoz://metrics-aggregation-guide、PromQL については signoz://promql/instructions を参照してください。
  • 時系列ランキングに関する注意点:上位 N グループは、リクエストされた期間全体にわたってランキングされます。短時間の急増は、あるバケット内で圧倒的であっても除外されることがあります。その場合は期間を短くするか、上限を調整してください。
  • バックエンドの警告:バックエンドが返す致命的でない警告(曖昧なキーの解決など)は、生のレスポンスとともに注記として表示され、WARN レベルでログに記録されます。これは search/aggregate/query_metrics ツールと同じ動作です(以前は本文がそのまま返され、警告は破棄されていました)。
  • キーが見つからない場合のエラー:クエリ対象のシグナルについて、ワークスペースのメタデータに存在しないキーをフィルターで参照すると、エラーテキストに復旧方法のガイダンスが含まれ、構造化されたエラーコンテンツには機械可読な missingKeys 配列が含まれます。
  • ドキュメント:SigNoz Query Builder v5 のドキュメントを参照してください。

環境変数

変数説明必須
SIGNOZ_URLSigNoz インスタンスの URLはい(stdio);任意(OAuth を使用する http)
SIGNOZ_API_KEYSigNoz API キー(SigNoz UI の Settings → API Keys から取得)はい(stdio);任意(OAuth を使用する http)
LOG_LEVELログレベル:info(デフォルト)、debug、warn、errorいいえ
TRANSPORT_MODEMCP トランスポートモード:stdio(デフォルト)または httpいいえ
MCP_SERVER_HOSTHTTP トランスポートモードのホスト/インターフェース(デフォルト:空。すべてのインターフェースでリッスンします)。ループバックのみのアクセスにするには 127.0.0.1 を設定します。いいえ
MCP_SERVER_PORTHTTP トランスポートモードのポート(デフォルト:8000)いいえ
MCP_MAX_REQUEST_BYTESMCP HTTP リクエスト本文の最大受信サイズ(バイト単位。デフォルト:4194304/4 MiB)。単一の過大なリクエストによるメモリ使用量を制限します。いいえ
CLIENT_CACHE_SIZEマルチテナント HTTP モードでキャッシュするテナントクライアントの最大数(デフォルト:256)いいえ
CLIENT_CACHE_TTL_MINUTESテナントクライアントキャッシュの有効期間(分単位。デフォルト:30)いいえ
SIGNOZ_DOCS_REFRESH_INTERVALドキュメントの定期的な差分更新間隔(Go の期間形式。デフォルト:6h)。無効にするには 0(または off)を設定します。定期更新をすべて停止し、埋め込み済みのドキュメントインデックスを変更せずに配信するには、SIGNOZ_DOCS_FULL_REFRESH_INTERVAL=0 も設定します。メモリ使用量を参照してください。いいえ
SIGNOZ_DOCS_FULL_REFRESH_INTERVALドキュメントの定期的な強制全件更新間隔(Go の期間形式。デフォルト:24h)。強制全件更新のみを無効にするには、0(または off)を設定します。いいえ
OAUTH_ENABLEDOAuth 2.1 認証フローを有効化(true/false)いいえ(デフォルト:false)
OAUTH_TOKEN_SECRETOAuth トークンの暗号化キー(最小 32 バイト。例:openssl rand -base64 32)OAUTH_ENABLED=true の場合は必須
OAUTH_ISSUER_URLこの MCP サーバーの公開 URL(OAuth メタデータの検出に使用)OAUTH_ENABLED=true の場合は必須
OAUTH_ACCESS_TOKEN_TTL_MINUTESアクセストークンの有効期間(分単位。デフォルト:60)いいえ
OAUTH_REFRESH_TOKEN_TTL_MINUTESリフレッシュトークンの有効期間(分単位。デフォルト:43200/30日)いいえ
OAUTH_AUTH_CODE_TTL_SECONDS認可コードの有効期間(秒単位。デフォルト:600/10分)いいえ
SIGNOZ_CUSTOM_HEADERSすべての API リクエストに追加する HTTP ヘッダー。認証が必要なリバースプロキシの背後に SigNoz がある場合に便利です(例:CF-Access-Client-Id:id.access,CF-Access-Client-Secret:secret)。形式:Key1:Value1,Key2:Value2いいえ
SIGNOZ_INSTANCE_URL_ALLOWLISTマルチテナント(http)専用:サーバーがプロキシする SigNoz バックエンドホストのカンマ区切りの許可リスト。エントリーには、完全一致のホスト(signoz.example.com)またはワイルドカード(*.us.signoz.cloud。.us.signoz.cloud で終わる任意のサブドメインに一致)を指定します。エントリーに誤って含まれたスキーム/ポート/パスは許容され、ホスト部分のみが使用されます。設定すると、一致しない SigNoz インスタンス URL はすべての入口で拒否されます。OAuth セットアップフォームと X-SigNoz-URL ヘッダーは HTTP 403 を返し、OAuth トークンエンドポイント(既存のリフレッシュトークンを含む)は invalid_grant を返し、OAuth トークンを使った /mcp リクエストは 403 を返します。これらはすべて、アラート用の disallowed_signoz_url タグ付き失敗メトリクスを増分します(設定ミスやループするクライアントによるノイズを避けるため、リクエストごとのログには記録されません)。また、拒否メッセージでは SigNoz Cloud ユーザーに、リージョンの MCP URL(mcp.<region>.signoz.cloud)とドキュメントへのリンクを案内します。空または未設定の場合、すべてのホストが許可されます。オペレーター自身の SIGNOZ_URL は対象外です。いいえ
ANALYTICS_ENABLEDプロダクト分析を有効化(true/false。デフォルト:false)いいえ
SEGMENT_KEY分析が有効な場合にのみ使用される Segment 書き込みキーいいえ
OTEL_EXPORTER_OTLP_ENDPOINTMCP サーバー自身のトレースとメトリクス用 OTLP gRPC エンドポイント。OTLP エンドポイント/エクスポーターが設定されていない場合、内部テレメトリのエクスポートは無効になります。プレーンテキストのコレクターには、http://localhost:4317 のような http:// エンドポイントを使用します。いいえ
OTEL_EXPORTER_OTLP_TRACES_ENDPOINTトレース専用の OTLP gRPC エンドポイント。トレースについては OTEL_EXPORTER_OTLP_ENDPOINT を上書きします。いいえ
OTEL_EXPORTER_OTLP_METRICS_ENDPOINTメトリクス専用の OTLP gRPC エンドポイント。メトリクスについては OTEL_EXPORTER_OTLP_ENDPOINT を上書きします。いいえ
OTEL_TRACES_EXPORTEROTLP エンドポイントが設定されていても内部トレースのエクスポートを無効にするには、none を設定します。いいえ
OTEL_METRICS_EXPORTEROTLP エンドポイントが設定されていても内部メトリクスのエクスポートとランタイムメトリクスを無効にするには、none を設定します。いいえ
MCP サーバーは OTLP ログエクスポーターを実行しません。ログは JSON 形式で stderr に出力されます。そのため、OTEL_LOGS_EXPORTER は使用されません。
セルフホストの SigNoz 用ブラウザーリンク

注: ユーザーがブラウザーで開く URL を、SigNoz サーバーで global.external_url に設定してください。MCP サーバーは GET /api/v1/global/config からこの値を読み取るため、インスタンス URL は 1 か所で設定できます。

たとえば、この環境変数を SigNoz のデプロイに追加し、SigNoz を再起動します。

SIGNOZ_GLOBAL_EXTERNAL__URL=https://observe.example.com

URL の前にはアンダースコアが 2 つあります。SigNoz の YAML 設定で同等の設定を行う場合は、次のようにします。

global:
  external_url: https://observe.example.com

MCP サーバーの SIGNOZ_URL は、http://signoz:8080 など、到達可能な API アドレスを指定してください。デプロイでパスプレフィックスを使用する場合は、SigNoz とプロキシのルーティング要件に応じて、API アドレスにそのパスを含めてください。SIGNOZ_URL にはバックエンドのパスを設定してください。OAuth または X-SigNoz-URL を通じてリクエストごとに指定する URL は、現在オリジンのみをサポートしています。

ブラウザーリンクには、設定済みのベースパスを含む、検出された URL が使用されます。一方、API リクエストでは、リクエスト先と認証情報がそのまま維持されます。各テナントクライアントは、検出結果を 15 分間キャッシュします。外部 URL が未設定の場合は、API リクエストの URL が使用されます。グローバル設定を取得できない場合や無効な場合は、警告がログに記録され、1 分後に検出が再試行されます。認証エラーと権限エラーはクライアントに返されます。

Claude Desktop Extension

バンドルのビルド

Node.js が必要です。詳細は Anthropic MCPB を参照してください。

make bundle
インストール
  1. Claude Desktop → Settings → Developer → Edit Config → Add bundle.mcpb を開きます
  2. ./bundle/bundle.mcpb を選択します
  3. SIGNOZ_URL、SIGNOZ_API_KEY、必要に応じて LOG_LEVEL を入力します
  4. Claude Desktop を再起動します

ブラウザーリンクを使用するには、SigNoz のグローバル外部 URL を設定してください。

エンドツーエンドテスト

tests/ にある E2E テストスイートは、foundry がプロビジョニングした実際の SigNoz インスタンスに対して、作業ツリーからビルドしたサーバーを実行し、MCP HTTP トランスポート経由で操作します。

make test-e2e          # cast SigNoz, run the suites, tear down
make test-e2e-reuse    # rerun against the cached environment

Docker、foundryctl、Go、uv が必要です。ワークフローの詳細は tests/README.md を参照してください。

アーキテクチャ

リクエストの流れ、コンポーネント間のやり取り、設計上の判断について詳しくは、docs/architecture.md を参照してください。

貢献

開発ワークフロー、MCP の変更に必要なドキュメントとマニフェストの同期、PR チェックリストについては、CONTRIBUTING.md を参照してください。

オブザーバビリティコミュニティのために ❤️ を込めて

コメント

MCP は初めてですか?

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

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