Skip to main content

Datadog MCP Server

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

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/hacctarr/datadog-mcp.git datadog-mcp

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

# Specific branch
uvx --from git+https://github.com/hacctarr/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/hacctarr/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/hacctarr/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/hacctarr/datadog-mcp.git (HEAD)
  • Specific Tag: git+https://github.com/hacctarr/datadog-mcp.git@v0.3.0
  • Branch: git+https://github.com/hacctarr/datadog-mcp.git@main
  • Commit Hash: git+https://github.com/hacctarr/datadog-mcp.git@59f0c15

Recommendations

  • Production: Use specific tags (e.g., @v0.3.0) 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/hacctarr/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/hacctarr/datadog-mcp.git@v0.3.0", "datadog-mcp"],
      "env": {
        "DD_API_KEY": "your-datadog-api-key",
        "DD_APP_KEY": "your-datadog-application-key"
      }
    }
  }
}

Using Local Development Setup

For development with local cloned repository:

git clone https://github.com/hacctarr/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/hacctarr/datadog-mcp.git datadog-mcp

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

Development Installation

For local development and testing:

  1. Clone the repository:

    git clone https://github.com/hacctarr/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/hacctarr/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
DD_API_KEY Datadog API Key Yes
DD_APP_KEY Datadog Application Key Yes

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

Metadata

Release files for datadog-mcp 0.3.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for datadog-mcp 0.3.3
File Size Uploaded Provenance Actions
datadog_mcp-0.3.3.tar.gz 348.0 kB Without provenance Details for datadog_mcp-0.3.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for datadog-mcp 0.3.3
File Interpreter ABI Platform Actions
datadog_mcp-0.3.3-py3-none-any.whl Python 3 none any Details for datadog_mcp-0.3.3-py3-none-any.whl

Total release size: 443.5 kB

Release files / datadog_mcp-0.3.3.tar.gz

Download URL datadog_mcp-0.3.3.tar.gz
Size 348.0 kB
Tags Source
SHA-256 checksum
How to use checksums
61bb255fc111aa8f244b5497e0073299bcbf9e688d04a27a5ede2fc62f804f71
BLAKE2b-256 checksum
How to use checksums
55db7e02d7da11123804f570193bb2e1b14ace5628f4bf85e94fe664d942b9d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / datadog_mcp-0.3.3-py3-none-any.whl

Download URL datadog_mcp-0.3.3-py3-none-any.whl
Size 95.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2d16529566aebc0b68fc59ea2173abb960f16801568ddb05105552d91ddd47d3
BLAKE2b-256 checksum
How to use checksums
4cc44f81352c6a06770ba7196033cf045e573e10f23d6003214dece47e3dca67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for datadog-mcp 0.3.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page