mcpField
S
Signoz Mcp Server

Signoz Mcp Server

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

Signoz Mcp Server について

Signoz MCP Serverは、SigNozインスタンスの可観測性データを開発ツールやAIアシスタントに提供します。ログ、トレース、ダッシュボード、APM指標に加え、ClickHouse SQLとBuilderクエリを利用できます。

主な機能

  1. 01ダッシュボード一覧と詳細の取得
  2. 02ダッシュボードのパネルデータ照会
  3. 03サービスとAPM指標の取得
  4. 04トレースとログの照会
  5. 05ClickHouse SQLとBuilderクエリの実行

活用シーン

  1. 01サービスのリクエスト率、エラー率、遅延を確認
  2. 02指定期間のログやトレースを調査
  3. 03ダッシュボードのパネルデータを取得
  4. 04カスタム指標クエリを実行

MCP 対応

MCP サーバーは、SigNozのダッシュボード、サービス、APM指標、ログ、トレースを照会するツールと、ClickHouse SQLおよびBuilderクエリをMCPクライアントに公開します。STDIOまたはHTTP/SSEで接続できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"signoz": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"SIGNOZ_HOST",
"-e",
"SIGNOZ_API_KEY",
"-e",
"SIGNOZ_SSL_VERIFY",
"signoz-mcp-server"
],
"env": {
"SIGNOZ_HOST": "<SIGNOZ_HOST>",
"SIGNOZ_API_KEY": "<SIGNOZ_API_KEY>",
"SIGNOZ_SSL_VERIFY": "<SIGNOZ_SSL_VERIFY>"
}
}
}
}
起動コマンドdocker run -i --rm -e SIGNOZ_HOST -e SIGNOZ_API_KEY -e SIGNOZ_SSL_VERIFY signoz-mcp-server
設定が必要な環境変数
SIGNOZ_HOST
SIGNOZ_API_KEYシークレット
SIGNOZ_SSL_VERIFY

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

パッケージ
ocisignoz-mcp-server

ツール

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

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

詳細

Signoz MCP サーバー

Cursor での動作デモをご覧ください 📽️ https://youtube.com/shorts/jxjmGyXXz7A

利用可能なツール

MCP サーバーでは、以下のツールを利用できます。

  • test_connection:Signoz インスタンスと設定への接続を確認します。
  • fetch_dashboards:Signoz で利用可能なすべてのダッシュボードを一覧表示します。
  • fetch_dashboard_details:ID を指定して、特定のダッシュボードの詳細情報を取得します。この情報にはダッシュボードのメタデータが含まれますが、ライブパネルのデータは含まれません。
  • fetch_dashboard_data:ダッシュボード名と時間範囲を指定して、そのダッシュボードのすべてのパネルデータを取得します。
  • fetch_apm_metrics:サービスと時間範囲を指定して、標準的な APM メトリクス(リクエスト率、エラー率、レイテンシ、Apdex など)を取得します。
  • fetch_services:時間範囲による任意のフィルタリングを行い、Signoz で計装されたすべてのサービスを取得します。
  • execute_clickhouse_query:時間範囲を指定して、Signoz API 経由でカスタム Clickhouse SQL クエリを実行します。
  • execute_builder_query:時間範囲を指定して、カスタムメトリクスと集計のための Signoz ビルダークエリを実行します。
  • fetch_traces_or_logs:ClickHouse SQL を使用して SigNoz からトレースまたはログを取得します。data_type('traces' または 'logs')、時間範囲、サービス名、上限件数を指定します。トレースまたはログの表形式の結果を返します。

🚀 使用方法と要件

1. Signoz API エンドポイントと(任意の)API キーを取得する
  1. Signoz インスタンス(セルフホストまたはクラウド)が稼働していることを確認します。
  2. (任意)Signoz インスタンスのヘルスエンドポイントで API キーが必要な場合は、Signoz UI から生成または取得します。

2. インストールと実行方法

2A. uv でインストールして実行する(ローカル開発に推奨)
2A.1. uv で依存関係をインストールする
uv venv .venv
source .venv/bin/activate
uv sync
2A.2. uv でサーバーを実行する
uv run -m src.signoz_mcp_server.mcp_server
  • 必要に応じて、uv を使ってほかのエントリーポイントスクリプトも実行できます。
  • config.yaml が mcp_server.py と同じディレクトリにあることを確認するか、必要な環境変数を設定してください(「設定」セクションを参照)。

2B. Docker Compose で実行する(本番環境/コンテナ化環境に推奨)
  1. Signoz の詳細情報(ホスト、必要に応じて API キー)を src/signoz_mcp_server/config.yaml に編集して設定します。
  2. サーバーを起動します。
    docker-compose up -d
    
    • サーバーはデフォルトでポート 8000 の HTTP(SSE)モードで実行されます。
    • 環境変数で設定を上書きできます(以下を参照)。

3. 設定

サーバーは、以下の優先順位で設定を読み込みます。

  1. 環境変数(Docker/CI で推奨):
    • SIGNOZ_HOST:Signoz インスタンスの URL(例:https://your-signoz-instance.com)
    • SIGNOZ_API_KEY:Signoz API キー(任意)
    • SIGNOZ_SSL_VERIFY:true または false(デフォルト:true)
    • MCP_SERVER_PORT:サーバーを実行するポート(デフォルト:8000)
    • MCP_SERVER_DEBUG:true または false(デフォルト:true)
  2. YAML ファイルのフォールバック(config.yaml):
    signoz:
      host: "https://your-signoz-instance.com"
      api_key: "your-signoz-api-key-here" # Optional
      ssl_verify: "true"
    server:
      port: 8000
      debug: true
    

4. AI アシスタント(例:Claude Desktop、Cursor)との連携

この MCP サーバーは、MCP プロトコルをサポートするあらゆるツールと連携できます。主な方法は以下のとおりです。

4A. Docker Compose または Docker を使用する(環境変数を使用、mcp-grafana 形式)
{
  "mcpServers": {
    "signoz": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "SIGNOZ_HOST",
        "-e",
        "SIGNOZ_API_KEY",
        "-e",
        "SIGNOZ_SSL_VERIFY",
        "drdroidlab/signoz-mcp-server",
        "-t",
        "stdio"
      ],
      "env": {
        "SIGNOZ_HOST": "https://your-signoz-instance.com",
        "SIGNOZ_API_KEY": "your-signoz-api-key-here",
        "SIGNOZ_SSL_VERIFY": "true"
      }
    }
  }
}
  • -t stdio 引数は、Docker MCP クライアントとの互換性のためにサポートされています(stdio ハンドシェイクモードを強制します)。
  • デプロイ環境に応じて、ボリュームパスまたは環境変数を調整してください。
4C. すでに実行中の MCP サーバーに接続する(HTTP/SSE)

MCP サーバーがすでに実行中の場合(例:リモートホスト、クラウド VM、Kubernetes 上)、AI アシスタントまたはツールをその HTTP エンドポイントに直接接続できます。

例:Claude Desktop または同様のツール
{
  "mcpServers": {
    "signoz": {
      "url": "http://your-server-host:8000/mcp"
    }
  }
}
  • your-server-host を、MCP サーバーが実行されている実際のホストに置き換えてください。
  • ローカルでセットアップする場合、サーバーホストには localhost を使用してください(例:http://localhost:8000/mcp)。
  • ローカル環境またはセキュリティ保護されていないデプロイでは http を、本番環境またはセキュリティ保護されたデプロイでは https を使用してください。
  • サーバーにクライアントマシンからアクセスできることを確認してください(ファイアウォールやセキュリティグループなどを確認してください)。
例:MCP 設定 YAML
mcp:
  endpoint: "http://your-server-host:8000/mcp"
  protocolVersion: "2025-06-18"
  • your-server-host を、MCP サーバーが実行されている実際のホストに置き換えてください。
  • ローカルでセットアップする場合、サーバーホストには localhost を使用してください(例:http://localhost:8000/mcp)。
  • MCP サーバーのデプロイ方法に応じて、URL のスキーマには http または https を使用してください。
  • command や args を指定する必要はありません。HTTP エンドポイントを指定するだけです。
  • MCP over HTTP に対応しているツールやアシスタントであれば、どれでも利用できます。
  • サーバーは HTTP(SSE)モードで実行されている必要があります(この実装ではデフォルトです)。

ヘルスチェック

curl http://localhost:8000/health

サーバーはデフォルトでポート 8000 で実行されます。


5. その他:

  1. お困りのことがあれば、Discord コミュニティに参加して、#mcp チャンネルで質問してください。
  2. セットアップせずに試してみたい場合は、DrDroid クラウドプラットフォームのクイックスタートについて、こちらのドキュメントをご覧ください。

コメント

MCP は初めてですか?

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

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