npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@us-all/datadog-mcp

v1.7.0

Published

Datadog MCP server - 120 tools for metrics, monitors, logs, APM, RUM, incidents, CI/CD, and more

Readme

Datadog MCP Server

A comprehensive Model Context Protocol (MCP) server for Datadog. Gives AI assistants like Claude direct access to your Datadog monitoring data — metrics, logs, APM traces, RUM, monitors, dashboards, and more.

한국어

Why This Server?

The existing community MCP server only covers basic operations. This project provides full Datadog API coverage:

| Feature | Community MCP | This Server | |---------|:---:|:---:| | Time-series metric queries (CPU, memory, IOPS, etc.) | - | ✓ | | APM / Trace search | - | ✓ | | RUM event search & aggregation | - | ✓ | | Monitor / Dashboard CRUD | - | ✓ | | Synthetics test management | - | ✓ | | Downtime management | - | ✓ | | Security signals | - | ✓ | | On-Call schedules | - | ✓ | | Usage / Account management | - | ✓ | | CI/CD Visibility | - | ✓ | | Error Tracking | - | ✓ | | Case Management | - | ✓ | | Network Device Monitoring | - | ✓ | | DORA Metrics | - | ✓ | | Software Catalog | - | ✓ | | Containers & Processes | - | ✓ | | Audit Logs | - | ✓ | | RUM Application / Metrics / Retention management | - | ✓ | | Total tools | 6 | 81 |

Quick Start

Option 1: npx (Recommended)

npx @us-all/datadog-mcp \
  --env DD_API_KEY=<your-api-key> \
  --env DD_APP_KEY=<your-app-key> \
  --env DD_SITE=datadoghq.com

Option 2: Docker

docker run -e DD_API_KEY=<your-api-key> -e DD_APP_KEY=<your-app-key> -e DD_SITE=datadoghq.com \
  ghcr.io/us-all/datadog-mcp-server:latest

Option 3: Build from Source

git clone https://github.com/us-all/datadog-mcp-server.git
cd datadog-mcp-server
pnpm install
pnpm run build
node dist/index.js

Configuration

Environment Variables

| Variable | Required | Default | Description | |----------|----------|---------|-------------| | DD_API_KEY | Yes | — | Datadog API key | | DD_APP_KEY | Yes | — | Datadog Application key | | DD_SITE | No | us5.datadoghq.com | Datadog site (see below) | | DD_ALLOW_WRITE | No | false | Set to true to enable write/mutate operations (create, update, delete) |

Supported DD_SITE Values

| Site | Value | Region | |------|-------|--------| | US1 | datadoghq.com | US (Virginia) | | US3 | us3.datadoghq.com | US (Virginia) | | US5 | us5.datadoghq.com | US (Oregon) | | EU1 | datadoghq.eu | EU (Frankfurt) | | AP1 | ap1.datadoghq.com | Asia-Pacific (Tokyo) |

If DD_SITE is not set, it defaults to us5.datadoghq.com. Set this to match your Datadog organization's site.

Read-Only Mode

By default, all write operations are blocked to prevent accidental changes by AI agents. The following tools require DD_ALLOW_WRITE=true:

create-monitor, update-monitor, delete-monitor, mute-monitor, create-dashboard, update-dashboard, delete-dashboard, send-logs, post-event, trigger-synthetics, create-synthetics-test, update-synthetics-test, delete-synthetics-test, create-downtime, cancel-downtime, create-case, update-case-status, send-dora-deployment, send-dora-incident

Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "datadog": {
      "command": "npx",
      "args": ["-y", "@us-all/datadog-mcp"],
      "env": {
        "DD_API_KEY": "<your-api-key>",
        "DD_APP_KEY": "<your-app-key>",
        "DD_SITE": "datadoghq.com"
      }
    }
  }
}

Claude Code

# Global (all projects)
claude mcp add datadog -s user \
  -e DD_API_KEY=<your-api-key> -e DD_APP_KEY=<your-app-key> -e DD_SITE=datadoghq.com \
  -- npx -y @us-all/datadog-mcp

# Project-only
claude mcp add datadog -s project \
  -e DD_API_KEY=<your-api-key> -e DD_APP_KEY=<your-app-key> -e DD_SITE=datadoghq.com \
  -- npx -y @us-all/datadog-mcp

Tools (81)

Metrics (5)

| Tool | Description | |------|-------------| | query-metrics | Query time-series metric data with full Datadog query syntax | | get-metrics | Search available metrics by name pattern | | get-metric-metadata | Get metric metadata (type, unit, description) | | list-active-metrics | List active metrics, optionally filtered by host or tag | | list-metric-tags | List tags for a specific metric |

Monitors (7)

| Tool | Description | |------|-------------| | get-monitors | List monitors with filtering by name, tags, or state | | get-monitor | Get detailed monitor information by ID | | create-monitor | Create a new monitor | | update-monitor | Update a monitor's configuration | | delete-monitor | Delete a monitor | | mute-monitor | Mute a monitor for a scope and optional duration | | validate-monitor | Validate a monitor definition without creating it |

Dashboards (5)

| Tool | Description | |------|-------------| | get-dashboards | List all dashboards | | get-dashboard | Get dashboard with all widgets and configuration | | create-dashboard | Create a new dashboard | | update-dashboard | Update a dashboard | | delete-dashboard | Delete a dashboard |

Logs (3)

| Tool | Description | |------|-------------| | search-logs | Search logs by query with time range filtering | | aggregate-logs | Aggregate logs with computations (count, avg, sum, percentiles) and grouping | | send-logs | Send log entries to Datadog |

Events (2)

| Tool | Description | |------|-------------| | get-events | Get events filtered by priority, source, or tags | | post-event | Post a custom event (supports markdown, @mentions) |

Incidents (1)

| Tool | Description | |------|-------------| | get-incidents | List incidents with pagination |

APM (1)

| Tool | Description | |------|-------------| | search-spans | Search APM spans/traces by service, resource, status, duration |

RUM (17)

| Tool | Description | |------|-------------| | search-rum-events | Search RUM events (sessions, views, errors, actions) | | aggregate-rum | Aggregate RUM data with computations and grouping | | list-rum-applications | List all RUM applications | | get-rum-application | Get RUM application details by ID | | create-rum-application | Create a new RUM application (browser, ios, android, etc.) | | update-rum-application | Update a RUM application's name or type | | delete-rum-application | Delete a RUM application | | list-rum-metrics | List configured rum-based metrics | | get-rum-metric | Get a rum-based metric definition | | create-rum-metric | Create a metric based on RUM data | | update-rum-metric | Update a rum-based metric | | delete-rum-metric | Delete a rum-based metric | | list-rum-retention-filters | List RUM retention filters for an application | | get-rum-retention-filter | Get a RUM retention filter by ID | | create-rum-retention-filter | Create a RUM retention filter | | update-rum-retention-filter | Update a RUM retention filter | | delete-rum-retention-filter | Delete a RUM retention filter |

Hosts (2)

| Tool | Description | |------|-------------| | list-hosts | List infrastructure hosts with filtering and metadata | | get-host-totals | Get total active and up host counts |

SLOs (3)

| Tool | Description | |------|-------------| | list-slos | List SLOs with filtering by query, tags, or IDs | | get-slo | Get detailed SLO information | | get-slo-history | Get SLO performance history (status, error budget, compliance) |

Synthetics (6)

| Tool | Description | |------|-------------| | list-synthetics | List Synthetics tests (API, Browser, Mobile) | | get-synthetics-result | Get latest results for a test | | trigger-synthetics | Trigger tests on demand | | create-synthetics-test | Create a new Synthetics test | | update-synthetics-test | Update a Synthetics test | | delete-synthetics-test | Delete Synthetics tests |

Downtimes (3)

| Tool | Description | |------|-------------| | list-downtimes | List scheduled downtimes | | create-downtime | Create a downtime (mute monitors) | | cancel-downtime | Cancel an active downtime |

Security (1)

| Tool | Description | |------|-------------| | search-security-signals | Search security monitoring signals |

Account & Usage (2)

| Tool | Description | |------|-------------| | get-usage-summary | Get usage summary (hosts, logs, APM, RUM, etc.) | | list-users | List organization users |

Notebooks (2)

| Tool | Description | |------|-------------| | list-notebooks | List notebooks with search and filtering | | get-notebook | Get a notebook with all cells and content |

On-Call (2)

| Tool | Description | |------|-------------| | get-team-oncall | Get current on-call responders for a team | | get-oncall-schedule | Get an on-call schedule with layers and team info |

Services (2)

| Tool | Description | |------|-------------| | list-services | List services from Software Catalog with filtering | | get-service-definition | Get a service definition by entity ID |

Containers (1)

| Tool | Description | |------|-------------| | list-containers | List infrastructure containers with filtering |

Processes (1)

| Tool | Description | |------|-------------| | list-processes | List running processes with search and tag filtering |

Audit Logs (1)

| Tool | Description | |------|-------------| | search-audit-logs | Search audit logs for organization activity tracking |

Cases (4)

| Tool | Description | |------|-------------| | list-cases | List Case Management cases with search | | get-case | Get case details by ID | | create-case | Create a new case | | update-case-status | Update case status (OPEN, IN_PROGRESS, CLOSED) |

Error Tracking (2)

| Tool | Description | |------|-------------| | list-error-tracking-issues | List error tracking issues with filtering | | get-error-tracking-issue | Get error tracking issue details |

CI/CD Visibility (4)

| Tool | Description | |------|-------------| | search-ci-pipelines | Search CI/CD pipeline events | | aggregate-ci-pipelines | Aggregate CI/CD pipeline data with computations | | search-ci-tests | Search CI test events | | aggregate-ci-tests | Aggregate CI test data with computations |

Network Devices (2)

| Tool | Description | |------|-------------| | list-network-devices | List network devices monitored by NDM | | get-network-device | Get network device details |

DORA Metrics (2)

| Tool | Description | |------|-------------| | send-dora-deployment | Send a DORA deployment event | | send-dora-incident | Send a DORA incident event |

Architecture

Claude AI → MCP Protocol (stdio) → index.ts → tools/*.ts → Datadog SDK → Datadog API

Project Structure

src/
├── index.ts          # MCP server entry point, 81 tools registered
├── config.ts         # Environment variable loading
├── client.ts         # Datadog API client initialization
└── tools/
    ├── utils.ts      # Error handling wrapper
    ├── metrics.ts    # Time-series queries + metric catalog
    ├── monitors.ts   # Monitor CRUD + mute
    ├── dashboards.ts # Dashboard CRUD
    ├── logs.ts       # Log search, aggregation, sending
    ├── events.ts     # Event listing and creation
    ├── incidents.ts  # Incident listing
    ├── apm.ts        # APM span/trace search
    ├── rum.ts        # RUM event search, aggregation, and application CRUD
    ├── rum-metrics.ts # RUM-based metrics CRUD
    ├── rum-retention-filters.ts # RUM retention filter management
    ├── hosts.ts      # Infrastructure host management
    ├── slos.ts       # SLO queries and history
    ├── synthetics.ts # Synthetics test CRUD + triggering
    ├── downtimes.ts  # Downtime management
    ├── security.ts   # Security signal search
    ├── account.ts    # Usage summary and user management
    ├── notebooks.ts  # Notebook listing
    ├── oncall.ts     # On-call schedule and responders
    ├── services.ts   # Software Catalog
    ├── containers.ts # Container monitoring
    ├── processes.ts  # Process monitoring
    ├── audit.ts      # Audit log search
    ├── cases.ts      # Case Management CRUD
    ├── errors.ts     # Error Tracking
    ├── ci.ts         # CI/CD Visibility (pipelines + tests)
    ├── networks.ts   # Network Device Monitoring
    └── dora.ts       # DORA metrics (deployments + incidents)

Tech Stack

  • Runtime: Node.js 18+ (TypeScript strict mode, ESM)
  • Package Manager: pnpm
  • MCP SDK: @modelcontextprotocol/sdk
  • Datadog Client: @datadog/datadog-api-client (official SDK)
  • Validation: zod
  • Config: dotenv
  • Testing: vitest + dd-trace (Test Visibility)

Contributing

See CONTRIBUTING.md for development setup and guidelines.

License

MIT