Skip to main content
Glama
Datadog MCP Server

Datadog MCP Server

by shelfio

Datadog MCP Server

IMPORTANT

This repository is archived and no longer maintained. Datadog now provides anofficial Datadog MCP Server. Use the official server for new integrations. Shelf does not plan to maintain or update this implementation.

CircleCI Python 3.13+ UV Podman GitHub release

A Model Context Protocol (MCP) server that provides comprehensive Datadog monitoring capabilities through Claude Desktop and other MCP clients.

Features

This MCP server enables Claude to:

  • CI/CD Pipeline Management: List CI pipelines, extract fingerprints

  • Service Logs Analysis: Retrieve and analyze service logs with environment and time filtering

  • Metrics Monitoring: Query any Datadog metric with flexible filtering, aggregation, and field discovery

  • Monitoring & Alerting: List and manage Datadog monitors and Service Level Objectives (SLOs)

  • Service Definitions: List and retrieve detailed service definitions with metadata, ownership, and configuration

  • Team Management: List teams, view member details, and manage team information

Related MCP server: Datadog MCP Server

Quick Start

Choose your preferred method to run the Datadog MCP server:

export DD_API_KEY="your-datadog-api-key" DD_APP_KEY="your-datadog-application-key"

# Latest version (HEAD)
uvx --from git+https://github.com/shelfio/datadog-mcp.git datadog-mcp

# Specific version (recommended for production)
uvx --from git+https://github.com/shelfio/datadog-mcp.git@v0.0.5 datadog-mcp

# Specific branch
uvx --from git+https://github.com/shelfio/datadog-mcp.git@main datadog-mcp

πŸ”§ UV Quick Run (Development)

export DD_API_KEY="your-datadog-api-key" DD_APP_KEY="your-datadog-application-key"
git clone https://github.com/shelfio/datadog-mcp.git /tmp/datadog-mcp && cd /tmp/datadog-mcp && uv run ddmcp/server.py

🐳 Podman (Optional)

podman run -e DD_API_KEY="your-datadog-api-key" -e DD_APP_KEY="your-datadog-application-key" -i $(podman build -q https://github.com/shelfio/datadog-mcp.git)

Method Comparison:

Method

Speed

Latest Code

Setup

Best For

πŸš€ UVX Direct Run

⚑⚑⚑

βœ… (versioned)

Minimal

Production, Claude Desktop

πŸ”§ UV Quick Run

⚑⚑

βœ… (bleeding edge)

Clone Required

Development, Testing

🐳 Podman

⚑

βœ… (bleeding edge)

Podman Required

Containerized Environments

Requirements

For UVX/UV Methods

  • Python 3.13+

  • UV package manager (includes uvx)

  • Datadog API Key and Application Key

For Podman Method

  • Podman

  • Datadog API Key and Application Key

Version Management

When using UVX, you can specify exact versions for reproducible deployments:

Version Formats

  • Latest: git+https://github.com/shelfio/datadog-mcp.git (HEAD)

  • Specific Tag: git+https://github.com/shelfio/datadog-mcp.git@v0.0.5

  • Branch: git+https://github.com/shelfio/datadog-mcp.git@main

  • Commit Hash: git+https://github.com/shelfio/datadog-mcp.git@59f0c15

Recommendations

  • Production: Use specific tags (e.g., @v0.0.5) for stability

  • Development: Use latest or specific branch for newest features

  • Testing: Use commit hashes for exact reproducibility

See GitHub releases for all available versions.

Claude Desktop Integration

Add to Claude Desktop configuration:

Latest version (bleeding edge):

{
  "mcpServers": {
    "datadog": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/shelfio/datadog-mcp.git", "datadog-mcp"],
      "env": {
        "DD_API_KEY": "your-datadog-api-key",
        "DD_APP_KEY": "your-datadog-application-key"
      }
    }
  }
}

Specific version (recommended for production):

{
  "mcpServers": {
    "datadog": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/shelfio/datadog-mcp.git@v0.0.5", "datadog-mcp"],
      "env": {
        "DD_API_KEY": "your-datadog-api-key",
        "DD_APP_KEY": "your-datadog-application-key"
      }
    }
  }
}

For EU region (see Multi-Region Support for other regions):

{
  "mcpServers": {
    "datadog": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/shelfio/datadog-mcp.git", "datadog-mcp"],
      "env": {
        "DD_API_KEY": "your-datadog-api-key",
        "DD_APP_KEY": "your-datadog-application-key",
        "DD_SITE": "datadoghq.eu"
      }
    }
  }
}

Using Local Development Setup

For development with local cloned repository:

git clone https://github.com/shelfio/datadog-mcp.git
cd datadog-mcp

Add to Claude Desktop configuration:

{
  "mcpServers": {
    "datadog": {
      "command": "uv",
      "args": ["run", "ddmcp/server.py"],
      "cwd": "/path/to/datadog-mcp",
      "env": {
        "DD_API_KEY": "your-datadog-api-key",
        "DD_APP_KEY": "your-datadog-application-key"
      }
    }
  }
}

Installation Options

Install and run directly from GitHub without cloning:

export DD_API_KEY="your-datadog-api-key"
export DD_APP_KEY="your-datadog-application-key"

# Latest version
uvx --from git+https://github.com/shelfio/datadog-mcp.git datadog-mcp

# Specific version (recommended for production)
uvx --from git+https://github.com/shelfio/datadog-mcp.git@v0.0.5 datadog-mcp

Development Installation

For local development and testing:

  1. Clone the repository:

    git clone https://github.com/shelfio/datadog-mcp.git
    cd datadog-mcp
  2. Install dependencies:

    uv sync
  3. Run the server:

    export DD_API_KEY="your-datadog-api-key"
    export DD_APP_KEY="your-datadog-application-key"
    uv run ddmcp/server.py

Podman Installation (Optional)

For containerized environments:

podman run -e DD_API_KEY="your-key" -e DD_APP_KEY="your-app-key" -i $(podman build -q https://github.com/shelfio/datadog-mcp.git)

Tools

The server provides these tools to Claude:

list_ci_pipelines

Lists all CI pipelines registered in Datadog with filtering options.

Arguments:

  • repository (optional): Filter by repository name

  • pipeline_name (optional): Filter by pipeline name

  • format (optional): Output format - "table", "json", or "summary"

get_pipeline_fingerprints

Extracts pipeline fingerprints for use in Terraform service definitions.

Arguments:

  • repository (optional): Filter by repository name

  • pipeline_name (optional): Filter by pipeline name

  • format (optional): Output format - "table", "json", or "summary"

list_metrics

Lists all available metrics from Datadog for metric discovery.

Arguments:

  • filter (optional): Filter to search for metrics by tags (e.g., 'aws:', 'env:', 'service:web')

  • limit (optional): Maximum number of metrics to return (default: 100, max: 10000)

get_metrics

Queries any Datadog metric with flexible filtering and aggregation.

Arguments:

  • metric_name (required): The metric name to query (e.g., 'aws.apigateway.count', 'system.cpu.user')

  • time_range (optional): "1h", "4h", "8h", "1d", "7d", "14d", "30d"

  • aggregation (optional): "avg", "sum", "min", "max", "count"

  • filters (optional): Dictionary of filters to apply (e.g., {'service': 'web', 'env': 'prod'})

  • aggregation_by (optional): List of fields to group results by

  • format (optional): "table", "summary", "json", "timeseries"

get_metric_fields

Retrieves all available fields (tags) for a specific metric.

Arguments:

  • metric_name (required): The metric name to get fields for

  • time_range (optional): "1h", "4h", "8h", "1d", "7d", "14d", "30d"

get_metric_field_values

Retrieves all values for a specific field of a metric.

Arguments:

  • metric_name (required): The metric name

  • field_name (required): The field name to get values for

  • time_range (optional): "1h", "4h", "8h", "1d", "7d", "14d", "30d"

list_service_definitions

Lists all service definitions from Datadog with pagination and filtering.

Arguments:

  • page_size (optional): Number of service definitions per page (default: 10, max: 100)

  • page_number (optional): Page number for pagination (0-indexed, default: 0)

  • schema_version (optional): Filter by schema version (e.g., 'v2', 'v2.1', 'v2.2')

  • format (optional): Output format - "table", "json", or "summary"

get_service_definition

Retrieves the definition of a specific service with detailed metadata.

Arguments:

  • service_name (required): Name of the service to retrieve

  • schema_version (optional): Schema version to retrieve (default: "v2.2", options: "v1", "v2", "v2.1", "v2.2")

  • format (optional): Output format - "formatted", "json", or "yaml"

get_service_logs

Retrieves service logs with comprehensive filtering capabilities.

Arguments:

  • service_name (required): Name of the service

  • time_range (required): "1h", "4h", "8h", "1d", "7d", "14d", "30d"

  • environment (optional): "prod", "staging", "backoffice"

  • log_level (optional): "INFO", "ERROR", "WARN", "DEBUG"

  • format (optional): "table", "text", "json", "summary"

list_monitors

Lists all Datadog monitors with comprehensive filtering options.

Arguments:

  • name (optional): Filter monitors by name (substring match)

  • tags (optional): Filter monitors by tags (e.g., 'env:prod,service:web')

  • monitor_tags (optional): Filter monitors by monitor tags (e.g., 'team:backend')

  • page_size (optional): Number of monitors per page (default: 50, max: 1000)

  • page (optional): Page number (0-indexed, default: 0)

  • format (optional): Output format - "table", "json", or "summary"

list_slos

Lists Service Level Objectives (SLOs) from Datadog with filtering capabilities.

Arguments:

  • query (optional): Filter SLOs by name or description (substring match)

  • tags (optional): Filter SLOs by tags (e.g., 'team:backend,env:prod')

  • limit (optional): Maximum number of SLOs to return (default: 50, max: 1000)

  • offset (optional): Number of SLOs to skip (default: 0)

  • format (optional): Output format - "table", "json", or "summary"

get_teams

Lists teams and their members.

Arguments:

  • team_name (optional): Filter by team name

  • include_members (optional): Include member details (default: false)

  • format (optional): "table", "json", "summary"

Examples

Ask Claude to help you with:

"Show me all CI pipelines for the shelf-api repository"

"Get error logs for the content service in the last 4 hours"

"List all available AWS metrics"

"What are the latest metrics for aws.apigateway.count grouped by account?"

"Get all available fields for the system.cpu.user metric"

"List all service definitions in my organization"

"Get the definition for the user-api service"

"List all teams and their members"

"Show all monitors for the web service"

"List SLOs with less than 99% uptime"

"Extract pipeline fingerprints for Terraform configuration"

Configuration

Environment Variables

Variable

Description

Required

Default

DD_API_KEY

Datadog API Key

Yes

-

DD_APP_KEY

Datadog Application Key

Yes

-

DD_SITE

Datadog site/region (see table below)

No

datadoghq.com

Multi-Region Support

Datadog operates in multiple regions. Set the DD_SITE environment variable to connect to your Datadog region:

Region

DD_SITE Value

Description

US1

datadoghq.com

US (default)

US3

us3.datadoghq.com

US3

US5

us5.datadoghq.com

US5

EU1

datadoghq.eu

Europe

AP1

ap1.datadoghq.com

Asia Pacific (Japan)

US1-FED

ddog-gov.com

US Government

Example for EU region:

export DD_SITE="datadoghq.eu"
export DD_API_KEY="your-api-key"
export DD_APP_KEY="your-app-key"
uvx --from git+https://github.com/shelfio/datadog-mcp.git datadog-mcp

See Datadog's Getting Started with Sites for more information.

Obtaining Datadog Credentials

  1. Log in to your Datadog account

  2. Go to Organization Settings β†’ API Keys

  3. Create or copy your API Key (this is your DD_API_KEY)

  4. Go to Organization Settings β†’ Application Keys

  5. Create or copy your Application Key (this is your DD_APP_KEY)

Note: These are two different keys:

  • API Key: Used for authentication with Datadog's API

  • Application Key: Used for authorization and is tied to a specific user account

Available Tools

13 tools
get_logsB

Search and retrieve logs from Datadog with flexible filtering parameters. Similar to get_metrics but for log data.

Inputs: time_range, filters, query, limit, +2 more.

get_logs_field_valuesB

Get possible values for a specific log field to understand filtering options

Inputs: field_name (required), time_range, query, limit, +1 more.

get_metric_fieldsB

Get available fields/tags for a specific metric from Datadog to help with aggregation queries

Inputs: metric_name (required), time_range, format.

get_metric_field_valuesB

Get all possible values for a specific field of a metric from Datadog to discover available dimensions

Inputs: metric_name (required), field_name (required), format.

get_metricsB

Execute metric queries on Datadog. Specify the metric name and optional filters/aggregations to build and execute the query.

Inputs: metric_name (required), time_range, aggregation, filters, +2 more.

get_pipeline_fingerprintsC

Get unique pipeline fingerprints for specific repositories/services

Inputs: repositories (required), pipeline_name, days_back, limit, +1 more.

get_service_definitionB

Retrieve the definition of a specific service from Datadog. Service definitions contain metadata, ownership, and configuration details for individual services.

Inputs: service_name (required), schema_version, format.

get_teamsB

Get Datadog teams and their members

Inputs: team_name, include_members, page_size, page_number, +1 more.

list_ci_pipelinesC

List CI pipelines from Datadog CI Visibility with optional filtering

Inputs: repository, pipeline_name, days_back, limit, +2 more.

list_metricsA

List all available metrics from Datadog. Useful for discovering metrics before querying them with get_metrics.

Inputs: filter, limit, cursor, format.

list_monitorsC

List all monitors from Datadog. Monitors are used for alerting on metrics, logs, and other data.

Inputs: tags, name, monitor_tags, format, +2 more.

list_service_definitionsA

List all service definitions from Datadog. Service definitions describe the structure, ownership, and metadata of services in your organization.

Inputs: page_size, page_number, schema_version, format.

list_slosC

List Service Level Objectives (SLOs) from Datadog. SLOs define service level targets and track performance against those targets.

Inputs: tags, query, limit, offset, +1 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 13 tools

    Disambiguation4/5

    Most tools have distinct purposes, but there is some potential for confusion between get_logs and get_metrics, as both involve data retrieval with filtering, though they target different data types (logs vs. metrics). The get_metric_fields and get_metric_field_values tools are also closely related, but their descriptions clarify the distinction between listing fields and their values.

    Naming Consistency5/5

    Tool names follow a consistent verb_noun pattern throughout, with clear prefixes like 'get_' for retrieval actions and 'list_' for listing actions. This consistency makes it easy to predict tool functionality and navigate the set without confusion.

    Tool Count5/5

    With 13 tools, the count is well-scoped for a Datadog integration, covering key areas like logs, metrics, services, monitors, and SLOs. Each tool appears to serve a specific purpose without unnecessary duplication, fitting the server's monitoring and observability domain appropriately.

    Completeness4/5

    The tool set provides good coverage for data retrieval and listing in Datadog's core areas, but there are minor gaps such as the lack of update or delete operations for resources like monitors or SLOs, which might limit full lifecycle management. However, the available tools support essential discovery and querying workflows effectively.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI assistants to interact with DataDog's observability platform through a standardized interface. Supports monitoring infrastructure, managing events, analyzing logs and metrics, and automating operations like alerts and downtimes.
      1
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      Enables interaction with Datadog's monitoring and observability platform through the MCP protocol. Supports incident management, monitor status checks, log searches, metrics queries, APM traces, dashboard access, RUM analytics, host management, and downtime scheduling.
      13
      27 npm
      Apache 2.0
    • F
      license
      Not graded
      quality
      D
      maintenance
      A Model Context Protocol (MCP) server that provides comprehensive Datadog monitoring capabilities, enabling Claude to manage CI/CD pipelines, analyze logs, query metrics, and handle monitors and SLOs.
      -