metricwatch について
metricwatch は、Datadog アカウントへの読み取りアクセスを提供するコマンドラインツール兼 MCP サーバーです。Datadog の公開 API を使い、メトリクス、ダッシュボード、ログ、インシデント、モニター、ダウンタイムを扱います。
主な機能
- 01メトリクス時系列とメタデータの取得
- 02ダッシュボードの一覧と詳細表示
- 03ログ検索
- 04インシデントの一覧と詳細表示
- 05モニターとダウンタイムの一覧
活用シーン
- 01メトリクスの傾向調査
- 02ダッシュボードのウィジェット確認
- 03サービスエラーログの検索
- 04インシデント、モニター、ダウンタイムの確認
MCP 対応
MCP ツールとして Datadog アカウントへの読み取り専用クエリを提供します。`DATADOG_API_KEY` と `DATADOG_APP_KEY` が必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
11掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| to | number | はい | 時間範囲の終了時刻(Unix エポックからの秒単位のタイムスタンプ)。 |
| from | number | はい | 時間範囲の開始時刻(Unix エポックからの秒単位のタイムスタンプ)。 |
| query | string | はい | 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_timeseries | from、to、query | メトリクスの時系列をクエリします(v1 クエリエンドポイント)。 |
list_metrics | from、limit | アカウント内のメトリクス名を一覧表示します。 |
get_metric_metadata | metric_name | 1 つのメトリクスのタイプ、単位、説明を返します。 |
list_dashboards | limit | ダッシュボードを一覧表示します。 |
get_dashboard | dashboard_id | ウィジェットを含む 1 つのダッシュボードを返します。 |
search_logs | query、from、to、limit | ログイベントを検索します(v2 ログ検索)。 |
list_incidents | limit | インシデントを一覧表示します。 |
get_incident | incident_id | 1 つのインシデントを返します。 |
list_monitors | name、limit | モニターを一覧表示します。名前による絞り込みも可能です。 |
get_monitor | monitor_id | 整数 ID で指定した 1 つのモニターを返します。 |
list_downtimes | current_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 を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。