mcpField
M
metricwatch

metricwatch

ローカル
github.com/CloudCorpRecordsデータ・分析02 週間前に更新

metricwatch について

metricwatch は、Datadog アカウントへの読み取りアクセスを提供するコマンドラインツール兼 MCP サーバーです。Datadog の公開 API を使い、メトリクス、ダッシュボード、ログ、インシデント、モニター、ダウンタイムを扱います。

主な機能

  1. 01メトリクス時系列とメタデータの取得
  2. 02ダッシュボードの一覧と詳細表示
  3. 03ログ検索
  4. 04インシデントの一覧と詳細表示
  5. 05モニターとダウンタイムの一覧

活用シーン

  1. 01メトリクスの傾向調査
  2. 02ダッシュボードのウィジェット確認
  3. 03サービスエラーログの検索
  4. 04インシデント、モニター、ダウンタイムの確認

MCP 対応

MCP ツールとして Datadog アカウントへの読み取り専用クエリを提供します。`DATADOG_API_KEY` と `DATADOG_APP_KEY` が必要です。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-metricwatch": {
"command": "npx",
"args": [
"-y",
"@reneturcios/metricwatch"
]
}
}
}
起動コマンドnpx -y @reneturcios/metricwatch

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

パッケージ
npm@reneturcios/metricwatch0.1.0
ocighcr.io/cloudcorprecords/metricwatch:0.1.0

ツール

11

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
tonumberはい時間範囲の終了時刻(Unix エポックからの秒単位のタイムスタンプ)。
fromnumberはい時間範囲の開始時刻(Unix エポックからの秒単位のタイムスタンプ)。
querystringはいDatadog メトリクスのクエリ式。メトリクスの集計と、オプションのタグフィルターなどを指定します。

詳細

metricwatch

metricwatch を使用すると、MCP クライアントまたはターミナルから Datadog アカウントへの読み取りアクセスが可能になります。メトリクスの時系列クエリとメタデータ、ダッシュボード、ログ検索、インシデント、モニター、ダウンタイムに対応しています。以下に示す読み取りコアを対象に、Datadog の公開 API ドキュメントに基づいてクリーンルーム方式で再構築した、Datadog MCP ツールのインターフェースです。

Datadog API では各呼び出しに両方の認証情報が必要なため、認証情報を 2 つ設定する必要があります。API キーは DATADOG_API_KEY に、アプリケーションキーは DATADOG_APP_KEY に設定してください。これらは DD-API-KEY と DD-APPLICATION-KEY ヘッダーとして送信され、出力には表示されません。別の Datadog サイトを対象にするには、DATADOG_SITE(例:datadoghq.eu)を設定してください。デフォルトは datadoghq.com で、呼び出し先は https://api.<site> です。どちらかのキーが未設定の場合、すべての呼び出しは、不足している変数名を示すエラーで失敗します。

インストール

npx @reneturcios/metricwatch list_metrics

または、コンテナーイメージを実行します。

docker run -i -e DATADOG_API_KEY -e DATADOG_APP_KEY ghcr.io/cloudcorprecords/metricwatch

コンテナーはデフォルトで MCP サーバーとして起動します(下記参照)。CLI として使用するには、CLI 引数を渡してください。

CLI

すべての MCP ツールは CLI サブコマンドとしても使用できます。ツールの引数は、--json を使って 1 つの JSON オブジェクトとして渡します。

export DATADOG_API_KEY=<redacted>
export DATADOG_APP_KEY=<redacted>

metricwatch query_timeseries --json '{"from": 1700000000, "to": 1700003600, "query": "avg:system.cpu.user{*}"}'
metricwatch list_metrics --json '{"limit": 20}'
metricwatch get_dashboard --json '{"dashboard_id": "abc-123"}'
metricwatch search_logs --json '{"query": "service:web status:error", "limit": 25}'
metricwatch list_monitors
metricwatch get_monitor --json '{"monitor_id": 42}'

metricwatch --version

結果は JSON で出力されます。終了コード:成功時は 0、API 呼び出しの失敗時(キーが未設定の場合を含む)は 1、使用方法のエラー時は 2 です。

MCP サーバー

1 つのバイナリで、どちらのインターフェースも提供します。mcp サブコマンドを実行すると、stdio MCP サーバーが起動します。

npx -y @reneturcios/metricwatch mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "metricwatch": {
      "command": "npx",
      "args": ["-y", "@reneturcios/metricwatch", "mcp"],
      "env": {
        "DATADOG_API_KEY": "your Datadog API key",
        "DATADOG_APP_KEY": "your Datadog application key"
      }
    }
  }
}
ツール
ツール入力(太字は必須)機能
query_timeseriesfrom、to、queryメトリクスの時系列をクエリします(v1 クエリエンドポイント)。
list_metricsfrom、limitアカウント内のメトリクス名を一覧表示します。
get_metric_metadatametric_name1 つのメトリクスのタイプ、単位、説明を返します。
list_dashboardslimitダッシュボードを一覧表示します。
get_dashboarddashboard_idウィジェットを含む 1 つのダッシュボードを返します。
search_logsquery、from、to、limitログイベントを検索します(v2 ログ検索)。
list_incidentslimitインシデントを一覧表示します。
get_incidentincident_id1 つのインシデントを返します。
list_monitorsname、limitモニターを一覧表示します。名前による絞り込みも可能です。
get_monitormonitor_id整数 ID で指定した 1 つのモニターを返します。
list_downtimescurrent_onlyダウンタイム(モニターのミュート)を一覧表示します。

この読み取りコアの対象外:APM のトレース/スパン詳細、シンセティックス、RUM、ノートブック、SLO の管理、イベントの書き込み、インシデントの作成や変更、オンコール。詳しくは BUILD-REPORT.md を参照してください。

開発

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev     # run the CLI from source via tsx

ライセンス

MIT — LICENSE を参照してください。

コメント

MCP は初めてですか?

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

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