mcpField
M
MCP Server

MCP Server

ローカル
github.com/chronosphereioクラウド・インフラ81 週間前に更新

MCP Server について

Chronosphere MCP Serverは、Chronosphereの可観測性データと一部の設定エンティティをMCPクライアントに公開します。ログ、メトリクス、トレース、イベントの検索に加え、一部リソースの一覧取得や更新にも対応します。

主な機能

  1. 01ログ、メトリクス、トレース、イベントの検索
  2. 02設定エンティティの一覧取得と取得
  3. 03Prometheusクエリの実行と結果の描画
  4. 04リクエストヘッダーによるツール表示制御
  5. 05サーバーとリクエストの設定による書き込みツールの有効化

活用シーン

  1. 01メトリクスと併せてログやトレースを調査
  2. 02モニター、ダッシュボード、SLOを確認
  3. 03アラートとモニターの状態を確認
  4. 04ダッシュボードを検証または更新

MCP 対応

Chronosphereのデータ照会と設定操作をMCPツールとして公開し、ホスト型リモートサーバーまたは独自ビルドで利用できます。APIトークンとOAuthに対応し、書き込みツールには明示的な有効化が必要です。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

Chronosphere MCP サーバー

Chronosphere 用の MCP サーバーです。ログ、メトリクス、トレース、イベント、および一部のエンティティを取得するツールを提供します。

このプロジェクトでは、リリースバージョンに semver を使用しています。まだバージョン 1.0 に達していないため、マイナーバージョンの更新で互換性を破る変更が発生する可能性があります。

人気のホスト(claude desktop、cursor)での MCP 設定

リモートサーバー

MCP サーバーを利用する最も簡単な方法は、ホストされているリモートサーバーを使うことです。

認証

Chronosphere MCP サーバーでは、Chronosphere API トークンまたは OAuth を使用できます。OAuth で MCP を使うには、MCP クライアントが OAuth に対応している必要があります。

OAuth のサポートは新しく、すべてのクライアントでテストされているわけではありません。動作しない場合は、以下の情報を添えて Slack で Chronosphere サポートに問題を報告してください。

  1. 使用している MCP クライアント(例:VS code、codex、cursor など)
  2. 認証を試すために行った手順
  3. 表示されたエラー
ヘッダーベースの設定

一部の MCP ホストでは、MCP サーバーに送信するリクエストにカスタム HTTP ヘッダーを追加できます。Chronosphere MCP サーバーは、以下のユーザー向けヘッダーに対応しています。

ツールの無効化(X-Chrono-MCP-Disable-Tools)

このヘッダーを使うと、MCP クライアントに公開されるツール一覧から特定のツールを非表示にできます。

  • 形式:MCP ツール名をカンマ区切りで指定(利用可能なツールの表のツール名列を参照)
  • 値の例:query_logs_range,render_prometheus_range_query
  • 注記:空白は無視されます。不明なツール名は無視されます
書き込みの有効化(X-Chrono-MCP-Enable-Writes)

書き込みツールはデフォルトでは非表示になっており、呼び出すこともできません。サーバーのオペレーターが、まず server.tools.enableWrites: true を設定して書き込みを許可する必要があります。HTTP クライアントと SSE クライアントは、さらにこのヘッダーを true に設定する必要があります。このヘッダーでサーバー設定を上書きすることはできません。それ以外の値では書き込みは有効になりません。

Stdio にはリクエストヘッダーがないため、このトランスポートではサーバー設定だけで書き込みが有効になります。ただし、サーバーで使用する Chronosphere の認証情報には、基盤となる API 操作を実行する権限が必要です。

Cursor/VSCode
{
    "mcpServers": {
        "chronosphere": {
            "url": "https://<org name>.chronosphere.io/api/mcp/mcp",
            "headers": {
                "Authorization": "Bearer <chronosphere api token>",
                "X-Chrono-MCP-Disable-Tools": "<optional list of tools to disable>"
            }
        }
    }
}

この設定は Cursor と VSCode で動作するはずです。Chronosphere API トークンの代わりに OAuth を使用するには、headers セクションを省略してください。 すべてのツールを公開するには、X-Chrono-MCP-Disable-Tools を削除してください。

詳細については、VSCode のこちらおよび Cursor のこちらを参照してください。

Claude code

claude code に Chronosphere MCP サーバーを追加する

claude mcp add -t http \
  -H "Authorization: Bearer ${CHRONOSPHERE_API_TOKEN}" \
  -H "X-Chrono-MCP-Disable-Tools: <list of tools to disable>" \
  chronosphere "https://${CHRONOSPHERE_ORG_NAME}.chronosphere.io/api/mcp/mcp"

OAuth を使用する場合は、Authorization ヘッダーを省略できます。claude で /mcp と入力し、サーバーを選択してログインすると、OAuth フローが開始されます。 すべてのツールを公開するには、X-Chrono-MCP-Disable-Tools ヘッダーを削除してください。

詳細についてはこちらを参照してください。

Codex CLI
experimental_use_rmcp_client = true
[mcp_servers.chronosphere]
url = "https://<org_name>.chronosphere.io/api/mcp/mcp"
bearer_token = "<chronosphere api token>"

oauth でログインするには、experimental_use_rmcp_client = true を有効にしてから、codex mcp login chronosphere を実行する必要があります。

詳細についてはこちらを参照してください。

Gemini CLI
CHRONOSPHERE_ORG_NAME=<your org>
CHRONOSPHERE_API_TOKEN=<your api token>
gemini mcp add chronosphere "https://${CHRONOSPHERE_ORG_NAME}.chronosphere.io/api/mcp/mcp" \
  -H "Authorization: Bearer ${CHRONOSPHERE_API_TOKEN}" \
  -H "X-Chrono-MCP-Disable-Tools: <list of tools to disable>"

# Drop the -H authorization header option if you want to use OAuth.

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

ソースからのビルド

まず、バイナリをビルドします。

make chronomcp
{
  "mcpServers": {
    "chronosphere-mcp": {
      "command": "<PATH/TO/REPO>/bin/chronomcp",
      "args": [
        "-c",
        "<PATH/TO/REPO>/config.yaml"
      ],
      "env": {
        "CHRONOSPHERE_ORG_NAME": "<your org here>",
        "CHRONOSPHERE_API_TOKEN": "<your api token here>"
      }
    }
  }
}

開発

サーバーの実行
Chronosphere への認証

この MCP サーバーは chronoctl と同じ認証方法を使用します。デフォルトでは、Makefile は API トークンが .chronosphere_api_token に保存されていることを想定しています。

mcp サーバーの実行
make run-chronomcp CHRONOSPHERE_ORG_NAME=<your org here> CHRONOSPHERE_API_TOKEN=<your api token here>
API 仕様

generated/ の API クライアントは、Chronosphere の公開 API 仕様から生成されています。generated/configv1/spec.json、generated/datav1/spec.json、generated/statev1/spec.json は、モノレポの src/gateway/publicapiswagger/data/ にあるエクスポートのコピーです。更新するには、モノレポのチェックアウトから 3 つすべてを同期し、再生成してください。

make swagger-sync MONOREPO=<path to monorepo checkout>
make all-gen
MCP ツールのデバッグ

MCP プロジェクトには、ツール API を直接呼び出すのに便利なインスペクターが用意されています。使用方法は次のとおりです。

  1. ストリーム可能な HTTP トランスポートで MCP サーバーを起動します:make run-chronomcp CONFIG_FILE=./config.http.yaml CHRONOSPHERE_ORG_NAME=<your org here>
  2. npx @modelcontextprotocol/inspector node build/index.js を実行します。
  3. http://localhost:6274/#resources を開き、URL に http://0.0.0.0:8081/mcp を入力し、トランスポートタイプに Streamable HTTP を選択します。

利用可能なツール

グループツール名説明
configapiget_classic_dashboardclassic-dashboards リソースを取得します
configapiget_dashboarddashboards リソースを取得します
configapiget_drop_ruledrop-rules リソースを取得します
configapiget_mapping_rulemapping-rules リソースを取得します
configapiget_monitormonitors リソースを取得します
configapiget_notification_policynotification-policies リソースを取得します
configapiget_recording_rulerecording-rules リソースを取得します
configapiget_rollup_rulerollup-rules リソースを取得します
configapiget_sloslos リソースを取得します
configapilist_classic_dashboardsclassic-dashboards リソースの一覧を取得します
configapilist_dashboardsdashboards リソースの一覧を取得します
configapilist_drop_rulesdrop-rules リソースの一覧を取得します
configapilist_mapping_rulesmapping-rules リソースの一覧を取得します
configapilist_monitorsmonitors リソースの一覧を取得します
configapilist_notification_policiesnotification-policies リソースの一覧を取得します
configapilist_recording_rulesrecording-rules リソースの一覧を取得します
configapilist_rollup_rulesrollup-rules リソースの一覧を取得します
configapilist_slosslos リソースの一覧を取得します
configapiupdate_dashboardスラッグで識別されるダッシュボードを置き換えます。保存せずに検証するには dry_run を使用します。
eventsget_events_metadataイベントでクエリできるプロパティの一覧を取得します
eventslist_events指定したクエリのイベント一覧を取得します
eventslist_events_label_values指定したラベル名の値の一覧を取得します
logsget_logIDでログメッセージ全体を取得します。IDはログの一意の識別子です。start または end が設定されていない場合は過去7日間を検索します。それより古いログを検索するには、これらを設定します。
logsget_log_histogram指定したクエリのログのヒストグラムを取得します
logslist_log_field_names非推奨:サポートされなくなり、常にエラーを返します。ログのフィールド名の一覧を取得します
logslist_log_field_valuesログのフィールド値を、頻度の高い順に、一致する各値を持つログの件数とともに一覧表示します。ログにどのフィールドがあるかを確認するには、その logID を get_log ツールに渡します。
logsquery_logs_rangeログの範囲クエリを実行します。このエンドポイントは、ログを timeSeries または gridData として返します。大量のデータが返されることがあるため、このツールの結果をコンテキストに含める際は注意してください。U...
metric_usagelist_metric_usages_by_label_nameラベル名ごとにグループ化したメトリクス使用状況の統計を一覧表示します。削除できる未使用またはカーディナリティの高いラベルを見つけるために使用します。レスポンスフィールド:- label_name:ラベルの名前 - dpps:データポイ...
metric_usagelist_metric_usages_by_metric_nameメトリクス名ごとにグループ化したメトリクス使用状況の統計を一覧表示します。コスト削減のために削除できる未使用または使用頻度の低いメトリクスを見つけるために使用します。レスポンスフィールド:- metric_name:メトリクスの名前 ...
metric_usagelist_rule_evaluationsモニターと記録ルールのルール評価に関する問題を一覧表示します。失敗または問題が発生しているルールの特定に使用します。レスポンスフィールド:- rule_slug:ルールの一意の識別子 - rule_typ...
metricslist_prometheus_label_names指定したセレクターに一致するメトリクスで利用可能なラベル名(キー)の一覧を返します。特定のメトリクスまたはサービスで利用可能なラベルを確認する必要がある場合に使用します。例...
metricslist_prometheus_label_valuesセレクターで任意に絞り込み、特定のラベル名の値の一覧を返します。ラベル名がわかっていて、メトリクス全体でどのような値があるかを確認したい場合に使用します。一般的な...
metricslist_prometheus_series指定したセレクターに一致する完全な時系列(すべてのキーと値のペアを含む完全なラベルセット)を返します。各結果には、アクティブな時系列のラベルの正確な組み合わせが表示されます。このツー...
metricslist_prometheus_series_metadata
metricsquery_prometheus_instantPrometheus のインスタントクエリを単一の時点で評価します
metricsquery_prometheus_range指定した時間範囲にわたって Prometheus PromQL クエリを実行し、時系列データポイントを JSON として返します。標準の PromQL 構文に加え、Chronosphere のカスタム関数をサポートします:- cardinality_estimat...
metricsrender_prometheus_range_queryPrometheus の式クエリを指定した時間範囲にわたって評価し、PNG 画像として描画します。
monitorslist_alertsChronosphere のモニターと SLO が発生させたアラートを一覧表示します。デフォルトでは新しい順です。5つの検索フィルター(monitor_slugs、monitor_name_contains、slo_slugs、slo_name_contains、alert_title_contai...
monitorslist_monitor_statusesChronosphere のモニターの現在のステータスを一覧表示します。フィルターに一致するモニターのうち、アラートが発火しているものをすべて返します。発火していないモニターは結果から除外されます。各ステータスには...
traceslist_traces指定したクエリのトレース一覧を取得します
注:ツールの更新後にこの表を再生成するには、make tools-gen && go run scripts/generate-tools-table.go を実行してください。
リリース

リリースの管理には goreleaser を使用します。

github token が必要です。これを .github_release_token ファイルに保存してください。 トークンには、少なくとも以下の 権限 が必要です。

  • content: write
  • issues: write

新しいリリースを作成するには、まずタグを作成します。

git tag vX.Y.Z
git push origin vX.Y.Z

次に、以下のコマンドを実行してリリースのドライランを行います。

```sh
make release-dry-run
# verify the release looks good, then run:
make release

コメント

MCP は初めてですか?

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

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