mcpField
D
Datadog MCP Server

Datadog MCP Server

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

Datadog MCP Server について

Datadog MCP Server は、公式 Datadog API からモニター、ダッシュボード、メトリクス、イベント、ログ、インシデントを取得する MCP サーバーです。AI アシスタントを使って Datadog のデータ調査を支援させたい運用担当者や開発者向けです。

主な機能

  1. 01モニターとダッシュボードのデータ取得
  2. 02メトリクス一覧とメタデータの取得
  3. 03イベントとログの検索
  4. 04ログの集計と分析
  5. 05最小権限で設定する Application Key

活用シーン

  1. 01AI アシスタントでアラート状態のモニターを確認する
  2. 02特定サービスのエラーログを検索し集計する
  3. 03障害調査のためにダッシュボード定義を取得する

MCP 対応

このプロジェクトは MCP サーバーであり、get-monitors、search-logs、aggregate-logs などのツールを MCP クライアントに公開します。

設定

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

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

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

パッケージ
npm@modelcontextprotocol/inspector

ツール

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

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

詳細

Datadog MCP サーバー

Datadog API と連携するための Model Context Protocol(MCP)サーバーです。

Datadog MCP サーバー

機能

  • モニタリング:モニターのデータと設定にアクセスします
  • ダッシュボード:ダッシュボードの定義を取得して表示します
  • メトリクス:利用可能なメトリクスとそのメタデータを照会します
  • イベント:指定した期間内のイベントを検索して取得します
  • ログ:高度なフィルタリングと並べ替えオプションを使用してログを検索します
  • インシデント:インシデント管理データにアクセスします
  • API 統合:Datadog の v1 API と v2 API を直接統合します
  • 包括的なエラー処理:API や認証の問題を明確なエラーメッセージで通知します
  • サービス固有のエンドポイント:ログとメトリクスに異なるエンドポイントを使用できます

前提条件

  1. Node.js(バージョン 16 以降)
  2. Datadog アカウント:
    • API キー - Organization Settings > API Keys で確認できます
    • Application キー - Organization Settings > Application Keys で確認できます

Application キーのスコープ

セキュリティを強化するため、この MCP サーバーに必要な最小限の権限のみを付与するように Application キーのスコープを設定できます。デフォルトでは、Application キーは作成者のすべての権限を継承しますが、スコープ付き Application キーを使用すれば、最小権限の原則に従うことができます。

必要なスコープ

各機能には、以下のスコープが必要です。

ツール必要なスコープ説明
get-monitors、get-monitormonitors_readモニターの設定と状態への読み取りアクセス
get-dashboards、get-dashboarddashboards_readダッシュボード定義への読み取りアクセス
get-metrics、get-metric-metadatametrics_readメトリクスの一覧とメタデータへの読み取りアクセス
get-eventsevents_readイベントストリームのイベントへの読み取りアクセス
search-logs、aggregate-logslogs_read_dataログの検索と集計に必要なログデータへの読み取りアクセス
get-incidentsincident_readインシデント管理データへの読み取りアクセス
スコープ付き Application キーの作成
  1. Organization Settings > Application Keys に移動します
  2. New Key をクリックします
  3. 名前を入力します(例:「MCP Server - Read Only」)
  4. Scopes で、必要な権限のみを選択します:
    • すべての機能を使用する場合:monitors_read、dashboards_read、metrics_read、events_read、logs_read_data、incident_read
    • ログのみの場合:logs_read_data
    • モニタリングのみの場合:monitors_read、dashboards_read、metrics_read
  5. Create Key をクリックします

Note:Application キーの作成時にスコープを指定しないと、作成者のすべての権限を持つフルアクセスのキーになります。本番環境では、常に明示的なスコープを指定することをおすすめします。

インストール

npm 経由(推奨)
npm install -g datadog-mcp-server
ソースから
  1. このリポジトリをクローンします
  2. 依存関係をインストールします:
    npm install
    
  3. プロジェクトをビルドします:
    npm run build
    

設定

Datadog MCP サーバーは、環境変数またはコマンドライン引数を使用して設定できます。

環境変数

Datadog の認証情報を含む .env ファイルを作成します:

DD_API_KEY=your_api_key_here
DD_APP_KEY=your_app_key_here
DD_SITE=datadoghq.com
DD_LOGS_SITE=datadoghq.com
DD_METRICS_SITE=datadoghq.com

Note:DD_LOGS_SITE と DD_METRICS_SITE は省略可能です。指定しない場合は、デフォルトで DD_SITE の値が使用されます。

コマンドライン引数

サイトのグローバル設定を使用した基本的な使い方:

datadog-mcp-server --apiKey=your_api_key --appKey=your_app_key --site=datadoghq.eu

サービス固有のエンドポイントを使用した高度な使い方:

datadog-mcp-server --apiKey=your_api_key --appKey=your_app_key --site=datadoghq.com --logsSite=logs.datadoghq.com --metricsSite=metrics.datadoghq.com

注:サイトの引数に https:// を付ける必要はありません。自動的に追加されます。

リージョン別エンドポイント

Datadog のリージョンによってエンドポイントが異なります:

  • 米国(デフォルト):datadoghq.com
  • EU:datadoghq.eu
  • US3(GovCloud):ddog-gov.com
  • US5:us5.datadoghq.com
  • AP1:ap1.datadoghq.com
Claude Desktop での使用方法

これを claude_desktop_config.json に追加します。

{
  "mcpServers": {
    "datadog": {
      "command": "npx",
      "args": [
        "datadog-mcp-server",
        "--apiKey",
        "<YOUR_API_KEY>",
        "--appKey",
        "<YOUR_APP_KEY>",
        "--site",
        "<YOUR_DD_SITE>(e.g us5.datadoghq.com)"
      ]
    }
  }
}

ログとメトリクスに個別のエンドポイントを指定する、より高度な設定は次のとおりです。

{
  "mcpServers": {
    "datadog": {
      "command": "npx",
      "args": [
        "datadog-mcp-server",
        "--apiKey",
        "<YOUR_API_KEY>",
        "--appKey",
        "<YOUR_APP_KEY>",
        "--site",
        "<YOUR_DD_SITE>",
        "--logsSite",
        "<YOUR_LOGS_SITE>",
        "--metricsSite",
        "<YOUR_METRICS_SITE>"
      ]
    }
  }
}

Claude Desktop の設定ファイルの場所:

  • MacOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%/Claude/claude_desktop_config.json

MCP Inspector での使用方法

MCP Inspector ツールで使用するには、次のようにします。

npx @modelcontextprotocol/inspector datadog-mcp-server --apiKey=your_api_key --appKey=your_app_key

使用可能なツール

サーバーは次の MCP ツールを提供します。

  • get-monitors:オプションのフィルタリングを指定してモニターを取得します
  • get-monitor:ID を指定して特定のモニターの詳細を取得します
  • get-dashboards:すべてのダッシュボードを一覧表示します
  • get-dashboard:ID を指定して特定のダッシュボードを取得します
  • get-metrics:使用可能なメトリクスを一覧表示します
  • get-metric-metadata:特定のメトリクスのメタデータを取得します
  • get-events:指定した期間内のイベントを取得します
  • get-incidents:オプションのフィルタリングを指定してインシデントを一覧表示します
  • search-logs:高度なクエリフィルタリングを使ってログを検索します
  • aggregate-logs:ログデータの分析と集計を実行します

例

例:モニターを取得する
{
  "method": "tools/call",
  "params": {
    "name": "get-monitors",
    "arguments": {
      "groupStates": ["alert", "warn"],
      "limit": 5
    }
  }
}
例:ダッシュボードを取得する
{
  "method": "tools/call",
  "params": {
    "name": "get-dashboard",
    "arguments": {
      "dashboardId": "abc-def-123"
    }
  }
}
例:ログを検索する
{
  "method": "tools/call",
  "params": {
    "name": "search-logs",
    "arguments": {
      "filter": {
        "query": "service:web-app status:error",
        "from": "now-15m",
        "to": "now"
      },
      "sort": "-timestamp",
      "limit": 20
    }
  }
}
例:ログを集計する
{
  "method": "tools/call",
  "params": {
    "name": "aggregate-logs",
    "arguments": {
      "filter": {
        "query": "service:web-app",
        "from": "now-1h",
        "to": "now"
      },
      "compute": [
        {
          "aggregation": "count"
        }
      ],
      "groupBy": [
        {
          "facet": "status",
          "limit": 10,
          "sort": {
            "aggregation": "count",
            "order": "desc"
          }
        }
      ]
    }
  }
}
例:インシデントを取得する
{
  "method": "tools/call",
  "params": {
    "name": "get-incidents",
    "arguments": {
      "includeArchived": false,
      "query": "state:active",
      "pageSize": 10
    }
  }
}

トラブルシューティング

403 Forbidden エラーが発生した場合は、次の点を確認してください。

  1. API キーと Application キーが正しいこと
  2. キーに、要求されたリソースへのアクセスに必要な権限があること
  3. アカウントが要求されたデータにアクセスできること
  4. お使いのリージョンに適したエンドポイント(EU のお客様の場合は datadoghq.eu など)を使用していること

デバッグ

問題が発生した場合は、Claude Desktop の MCP ログを確認してください。

# On macOS
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log

# On Windows
Get-Content -Path "$env:APPDATA\Claude\Logs\mcp*.log" -Tail 20 -Wait

よくある問題:

  • 403 Forbidden:Datadog API キーの認証に関する問題です
  • API キーまたは App キーの形式が無効:キー文字列全体を使用していることを確認してください
  • サイト設定のエラー:正しい Datadog ドメインを使用していることを確認してください
  • エンドポイントの不一致:ログとメトリクスに別々のドメインを使用している場合は、サービス固有のエンドポイントが正しく設定されていることを確認してください

ライセンス

MIT

コメント

MCP は初めてですか?

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

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