Home / MCP / Datadog MCP Server

Datadog MCP Server

Exposes Datadog data sources and actions via MCP endpoints for incidents, monitors, logs, dashboards, metrics, traces, hosts, and RUM.

typescript
Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
    "mcpServers": {
        "datadog": {
            "command": "/path/to/mcp-server-datadog/build/index.js",
            "args": [],
            "env": {
                "DATADOG_API_KEY": "YOUR_API_KEY",
                "DATADOG_APP_KEY": "YOUR_APP_KEY",
                "DATADOG_SITE": "YOUR_SITE",
                "DATADOG_SUBDOMAIN": "YOUR_SUBDOMAIN"
            }
        }
    }
}

You can run a Datadog MCP Server to interact with Datadog data through a single, consistent API surface. This MCP server lets you work with incidents, monitors, logs, dashboards, metrics, traces, hosts, RUM data, and more, enabling streamlined incident management and observability workflows via your MCP client.

How to use

Connect to the Datadog MCP Server from your MCP client to access a comprehensive set of Datadog capabilities. You can list and inspect incidents, monitors, logs, dashboards, metrics, traces, and hosts, as well as work with RUM data and scheduled downtimes. Use the MCP client to call the server’s endpoints in a consistent way, apply filters (like status, tags, or time ranges), and compose queries to monitor your environment.

How to install

Prerequisites you need before running the server: Node.js and a package manager (npm or pnpm). Install Node.js from the official site and ensure you can run node and npm from your command line.

Install dependencies and build the MCP server package locally, then start the server. The typical flow is install, build, and then run.

# Install dependencies
pnpm install

# Build the MCP server
pnpm build

# Start a development watcher (auto-rebuilds on changes)
pnpm watch

Configuration and running locally

Two explicit ways are shown to run the Datadog MCP Server locally via the MCC client configuration samples. You can start the server with a direct path to the built index, or invoke it through a package runner with the appropriate environment variables.

{
  "mcpServers": {
    "datadog": {
      "command": "/path/to/mcp-server-datadog/build/index.js",
      "env": {
        "DATADOG_API_KEY": "<YOUR_API_KEY>",
        "DATADOG_APP_KEY": "<YOUR_APP_KEY>",
        "DATADOG_SITE": "<YOUR_SITE>",
        "DATADOG_SUBDOMAIN": "<YOUR_SUBDOMAIN>"
      }
    }
  }
}

Claude Desktop configuration examples

If you use Claude Desktop, you can configure the Datadog MCP Server in your Claude configuration. The following example shows how to declare a Datadog MCP server using a local stdio-based command and environment variables.

{
  "mcpServers": {
    "datadog": {
      "command": "/path/to/mcp-server-datadog/build/index.js",
      "env": {
        "DATADOG_API_KEY": "<YOUR_API_KEY>",
        "DATADOG_APP_KEY": "<YOUR_APP_KEY>",
        "DATADOG_SITE": "<YOUR_SITE>",
        "DATADOG_SUBDOMAIN": "<YOUR_SUBDOMAIN>"
      }
    }
  }
}

Troubleshooting and debugging

If you need to debug MCP server interactions, you can use the built-in MCP Inspector to view logs and manually send requests. Run the inspector to obtain a URL for debugging and inspecting requests and responses.

Notes on tools and capabilities

The server exposes a wide range of Datadog-related actions. You can list incidents, get incident details, fetch monitor status, search logs, list and retrieve dashboards, query metrics, inspect APM traces, retrieve host information and counts, mute or unmute hosts, manage downtimes, and work with RUM applications, events, grouped counts, page performance, and waterfalls.

Security and credentials

Supply your Datadog API key and application key in the environment where you run the MCP server. Optional site and subdomain values tailor the connection to your Datadog region. Keep these keys secure and do not commit them to source control.

Usage notes

Two explicit MCP command configurations are shown for running the server locally: one using a direct path to the built index and one using a runner like npx to invoke the package. Both require the same environment variables to connect to Datadog.

Available tools

list_incidents

Retrieve a list of incidents from Datadog with optional filters and pagination.

get_incident

Retrieve detailed information about a specific Datadog incident by ID.

get_monitors

Fetch the status of Datadog monitors with optional filters for group states, name, and tags.

get_logs

Search and retrieve logs from Datadog using a query and time range.

list_dashboards

Get a list of dashboards from Datadog with optional name and tag filtering.

get_dashboard

Retrieve a specific dashboard by its ID including widgets and metadata.

query_metrics

Retrieve metrics data for a given Datadog query and time range.

list_traces

Retrieve a list of Datadog APM traces based on a query and time range.

list_hosts

Get a list of hosts from Datadog with optional filters and pagination.

get_active_hosts_count

Get the total number of active hosts in Datadog within a time window.

mute_host

Mute a host in Datadog with optional end time and message.

unmute_host

Unmute a previously muted host in Datadog.

list_downtimes

List scheduled downtimes in Datadog with optional filtering by current only and monitor ID.

schedule_downtime

Schedule a downtime in Datadog with scope, time window, and optional recurrence.

cancel_downtime

Cancel a scheduled downtime in Datadog by downtime ID.

get_rum_applications

Retrieve all RUM applications in the Datadog organization.

get_rum_events

Search and retrieve RUM events with a time window and query.

get_rum_grouped_event_count

Group and count RUM events by a specified dimension.

get_rum_page_performance

Get RUM page performance metrics for given metric names and time range.

get_rum_page_waterfall

Retrieve RUM page waterfall data filtered by application name and session.