Signoz Mcp Server について
Signoz MCP Serverは、SigNozインスタンスの可観測性データを開発ツールやAIアシスタントに提供します。ログ、トレース、ダッシュボード、APM指標に加え、ClickHouse SQLとBuilderクエリを利用できます。
主な機能
- 01ダッシュボード一覧と詳細の取得
- 02ダッシュボードのパネルデータ照会
- 03サービスとAPM指標の取得
- 04トレースとログの照会
- 05ClickHouse SQLとBuilderクエリの実行
活用シーン
- 01サービスのリクエスト率、エラー率、遅延を確認
- 02指定期間のログやトレースを調査
- 03ダッシュボードのパネルデータを取得
- 04カスタム指標クエリを実行
MCP 対応
MCP サーバーは、SigNozのダッシュボード、サービス、APM指標、ログ、トレースを照会するツールと、ClickHouse SQLおよびBuilderクエリをMCPクライアントに公開します。STDIOまたはHTTP/SSEで接続できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
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 キーを取得する
- Signoz インスタンス(セルフホストまたはクラウド)が稼働していることを確認します。
- (任意)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 で実行する(本番環境/コンテナ化環境に推奨)
- Signoz の詳細情報(ホスト、必要に応じて API キー)を
src/signoz_mcp_server/config.yamlに編集して設定します。 - サーバーを起動します。
docker-compose up -d- サーバーはデフォルトでポート 8000 の HTTP(SSE)モードで実行されます。
- 環境変数で設定を上書きできます(以下を参照)。
3. 設定
サーバーは、以下の優先順位で設定を読み込みます。
- 環境変数(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)
- 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. その他:
- お困りのことがあれば、Discord コミュニティに参加して、#mcp チャンネルで質問してください。
- セットアップせずに試してみたい場合は、DrDroid クラウドプラットフォームのクイックスタートについて、こちらのドキュメントをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。