logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

datadog-mcp

Enables powerful search and aggregation of logs and trace spans from Datadog, allowing for flexible queries and detailed data retrieval. Facilitates the integration of Datadog monitoring data into applications for insightful analysis.

Author

datadog-mcp logo

Nozomuts

MIT License

Quick Info

GitHub GitHub Stars 0
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

datadoglogginglogsdatadog monitoringmonitoring loggingnozomuts datadog

Datadog MCP Server

English (This Document) | 日本語

MCP Server for Datadog API, enabling log search, trace span search, and trace span aggregation functionalities.

Datadog Server MCP server

Features

  • Log Search: Search and retrieve logs from Datadog with flexible query options
  • Trace Span Search: Search for distributed trace spans with various filtering options
  • Trace Span Aggregation: Aggregate trace spans by different dimensions for analysis

Tools

  1. search_logs
  2. Search for logs in Datadog
  3. Inputs:
    • filterQuery (optional string): Query string to search logs (default: "*")
    • filterFrom (optional number): Search start time as UNIX timestamp in seconds (default: 15 minutes ago)
    • filterTo (optional number): Search end time as UNIX timestamp in seconds (default: current time)
    • pageLimit (optional number): Maximum number of logs to retrieve (default: 25, max: 1000)
    • pageCursor (optional string): Pagination cursor for retrieving additional results
  4. Returns: Formatted text containing:

    • Search conditions (query and time range)
    • Number of logs found
    • Next page cursor (if available)
    • Log details including:
    • Service name
    • Tags
    • Timestamp
    • Status
    • Message (truncated to 300 characters)
    • Host
    • Important attributes (http.method, http.url, http.status_code, error)
  5. search_spans

  6. Search for trace spans in Datadog
  7. Inputs:
    • filterQuery (optional string): Query string to search spans (default: "*")
    • filterFrom (optional number): Search start time as UNIX timestamp in seconds (default: 15 minutes ago)
    • filterTo (optional number): Search end time as UNIX timestamp in seconds (default: current time)
    • pageLimit (optional number): Maximum number of spans to retrieve (default: 25, max: 1000)
    • pageCursor (optional string): Pagination cursor for retrieving additional results
  8. Returns: Formatted text containing:

    • Search conditions (query and time range)
    • Number of spans found
    • Next page cursor (if available)
    • Span details including:
    • Service name
    • Timestamp
    • Resource name
    • Duration (in seconds)
    • Host
    • Environment
    • Type
    • Important attributes (http.method, http.url, http.status_code, error)
  9. aggregate_spans

  10. Aggregate trace spans in Datadog by specified dimensions
  11. Inputs:
    • filterQuery (optional string): Query string to filter spans for aggregation (default: "*")
    • filterFrom (optional number): Start time as UNIX timestamp in seconds (default: 15 minutes ago)
    • filterTo (optional number): End time as UNIX timestamp in seconds (default: current time)
    • groupBy (optional string[]): Dimensions to group by (e.g., ["service", "resource_name", "status"])
    • aggregation (optional string): Aggregation method - "count", "avg", "sum", "min", "max", "pct" (default: "count")
    • interval (optional string): Time interval for time series data (only when type is "timeseries")
    • type (optional string): Result type, either "timeseries" or "total" (default: "timeseries")
  12. Returns: Formatted text containing:
    • Aggregation results in buckets, each including:
    • Bucket ID
    • Group by values (if groupBy is specified)
    • Computed values based on the aggregation method
    • Additional metadata:
    • Processing time (elapsed)
    • Request ID
    • Status
    • Warnings (if any)

Setup

You need to set up Datadog API and application keys:

  1. Get your API key and application key from the Datadog API Keys page
  2. Install dependencies in the datadog-mcp project: bash npm install # or pnpm install
  3. Build the TypeScript project: bash npm run build # or pnpm run build

Docker Setup

You can build using Docker with the following command:

docker build -t datadog-mcp .

Usage with Claude Desktop

To use this with Claude Desktop, add the following to your claude_desktop_config.json:

{
  "mcpServers": {
    "datadog": {
      "command": "node",
      "args": [
        "/path/to/datadog-mcp/build/index.js"
      ],
      "env": {
        "DD_API_KEY": "<YOUR_DATADOG_API_KEY>",
        "DD_APP_KEY": "<YOUR_DATADOG_APP_KEY>"
      }
    }
  }
}

If you're using Docker, you can configure it like this:

{
  "mcpServers": {
    "datadog": {
      "command": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "-e",
          "DD_API_KEY",
          "-e",
          "DD_APP_KEY",
          "datadog-mcp"
        ],
      "env": {
        "DD_API_KEY": "<YOUR_DATADOG_API_KEY>",
        "DD_APP_KEY": "<YOUR_DATADOG_APP_KEY>"
      }
    }
  }
}

Usage with VS Code

For quick installation in VS Code, configure your settings:

  1. Open User Settings (JSON) in VS Code (Ctrl+Shift+PPreferences: Open User Settings (JSON))
  2. Add the following configuration:
{
  "mcp": {
    "servers": {
      "datadog": {
        "command": "node",
        "args": [
          "/path/to/datadog-mcp/build/index.js"
        ],
        "env": {
          "DD_API_KEY": "<YOUR_DATADOG_API_KEY>",
          "DD_APP_KEY": "<YOUR_DATADOG_APP_KEY>"
        }
      }
    }
  }
}

If you're using Docker, you can configure it like this:

{
  "mcp": {
    "servers": {
      "datadog": {
        "command": "docker",
          "args": [
          "run",
          "-i",
          "--rm",
          "-e",
          "DD_API_KEY",
          "-e",
          "DD_APP_KEY",
          "datadog-mcp"
        ],
        "env": {
          "DD_API_KEY": "<YOUR_DATADOG_API_KEY>",
          "DD_APP_KEY": "<YOUR_DATADOG_APP_KEY>"
        }
      }
    }
  }
}

Alternatively, you can add this to a .vscode/mcp.json file in your workspace (without the mcp key):

{
  "servers": {
    "datadog": {
      "command": "node",
      "args": [
        "/path/to/datadog-mcp/build/index.js"
      ],
      "env": {
        "DD_API_KEY": "<YOUR_DATADOG_API_KEY>",
        "DD_APP_KEY": "<YOUR_DATADOG_APP_KEY>"
      }
    }
  }
}

If you're using Docker, you can configure it like this:

{
  "servers": {
    "datadog": {
      "command": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "-e",
          "DD_API_KEY",
          "-e",
          "DD_APP_KEY",
          "datadog-mcp"
        ],
      "env": {
        "DD_API_KEY": "<YOUR_DATADOG_API_KEY>",
        "DD_APP_KEY": "<YOUR_DATADOG_APP_KEY>"
      }
    }
  }
}

See Also

`