mcp-server-datadog Featured
The MCP server provides an interface to the Datadog API, enabling seamless management of incidents, monitoring, logs, dashboards, metrics, traces, and hosts. Its extensible design allows easy integration of additional Datadog APIs for future expansions.
winor30
Tools
list_incidents
Get incidents from Datadog
get_incident
Get an incident from Datadog
get_metrics
Get metrics data from Datadog
get_logs
Search and retrieve logs from Datadog
get_monitors
Get monitors status from Datadog
list_dashboards
Get list of dashboards from Datadog
list_traces
Get APM traces from Datadog
mute_host
Mute a host in Datadog
unmute_host
Unmute a host in Datadog
list_hosts
Get list of hosts from Datadog
get_active_hosts_count
Get the total number of active hosts in Datadog (defaults to last 5 minutes)
list_downtimes
List scheduled downtimes from Datadog
schedule_downtime
Schedule a downtime in Datadog
cancel_downtime
Cancel a scheduled downtime in Datadog
README
Datadog MCP Server
MCP server for the Datadog API, enabling incident management and more.
<a href="https://glama.ai/mcp/servers/bu8gtzkwfr"> <img width="380" height="200" src="https://glama.ai/mcp/servers/bu8gtzkwfr/badge" alt="mcp-server-datadog MCP server" /> </a>
Features
- Observability Tools: Provides a mechanism to leverage key Datadog monitoring features, such as incidents, monitors, logs, dashboards, and metrics, through the MCP server.
- Extensible Design: Designed to easily integrate with additional Datadog APIs, allowing for seamless future feature expansion.
Tools
-
list_incidents
- Retrieve a list of incidents from Datadog.
- Inputs:
filter
(optional string): Filter parameters for incidents (e.g., status, priority).pagination
(optional object): Pagination details like page size/offset.
- Returns: Array of Datadog incidents and associated metadata.
-
get_incident
- Retrieve detailed information about a specific Datadog incident.
- Inputs:
incident_id
(string): Incident ID to fetch details for.
- Returns: Detailed incident information (title, status, timestamps, etc.).
-
get_monitors
- Fetch the status of Datadog monitors.
- Inputs:
groupStates
(optional array): States to filter (e.g., alert, warn, no data, ok).name
(optional string): Filter by name.tags
(optional array): Filter by tags.
- Returns: Monitors data and a summary of their statuses.
-
get_logs
- Search and retrieve logs from Datadog.
- Inputs:
query
(string): Datadog logs query string.from
(number): Start time in epoch seconds.to
(number): End time in epoch seconds.limit
(optional number): Maximum number of logs to return (defaults to 100).
- Returns: Array of matching logs.
-
list_dashboards
- Get a list of dashboards from Datadog.
- Inputs:
name
(optional string): Filter dashboards by name.tags
(optional array): Filter dashboards by tags.
- Returns: Array of dashboards with URL references.
-
get_dashboard
- Retrieve a specific dashboard from Datadog.
- Inputs:
dashboard_id
(string): ID of the dashboard to fetch.
- Returns: Dashboard details including title, widgets, etc.
-
query_metrics
- Retrieve metrics data from Datadog.
- Inputs:
query
(string): Metrics query string.from
(number): Start time in epoch seconds.to
(number): End time in epoch seconds.
- Returns: Metrics data for the queried timeframe.
-
list_traces
- Retrieve a list of APM traces from Datadog.
- Inputs:
query
(string): Datadog APM trace query string.from
(number): Start time in epoch seconds.to
(number): End time in epoch seconds.limit
(optional number): Maximum number of traces to return (defaults to 100).sort
(optional string): Sort order for traces (defaults to '-timestamp').service
(optional string): Filter by service name.operation
(optional string): Filter by operation name.
- Returns: Array of matching traces from Datadog APM.
-
list_hosts
- Get list of hosts from Datadog.
- Inputs:
filter
(optional string): Filter string for search results.sort_field
(optional string): Field to sort hosts by.sort_dir
(optional string): Sort direction (asc/desc).start
(optional number): Starting offset for pagination.count
(optional number): Max number of hosts to return (max: 1000).from
(optional number): Search hosts from this UNIX timestamp.include_muted_hosts_data
(optional boolean): Include muted hosts status and expiry.include_hosts_metadata
(optional boolean): Include host metadata (version, platform, etc).
- Returns: Array of hosts with details including name, ID, aliases, apps, mute status, and more.
-
get_active_hosts_count
- Get the total number of active hosts in Datadog.
- Inputs:
from
(optional number): Number of seconds from which you want to get total number of active hosts (defaults to 2h).
- Returns: Count of total active and up hosts.
-
mute_host
- Mute a host in Datadog.
- Inputs:
hostname
(string): The name of the host to mute.message
(optional string): Message to associate with the muting of this host.end
(optional number): POSIX timestamp for when the mute should end.override
(optional boolean): If true and the host is already muted, replaces existing end time.
- Returns: Success status and confirmation message.
-
unmute_host
- Unmute a host in Datadog.
- Inputs:
hostname
(string): The name of the host to unmute.
- Returns: Success status and confirmation message.
-
list_downtimes
- List scheduled downtimes from Datadog.
- Inputs:
currentOnly
(optional boolean): Return only currently active downtimes when true.monitorId
(optional number): Filter by monitor ID.
- Returns: Array of scheduled downtimes with details including scope, monitor information, and schedule.
-
schedule_downtime
- Schedule a downtime in Datadog.
- Inputs:
scope
(string): Scope to apply downtime to (e.g. 'host:my-host').start
(optional number): UNIX timestamp for the start of the downtime.end
(optional number): UNIX timestamp for the end of the downtime.message
(optional string): A message to include with the downtime.timezone
(optional string): The timezone for the downtime (e.g. 'UTC', 'America/New_York').monitorId
(optional number): The ID of the monitor to mute.monitorTags
(optional array): A list of monitor tags for filtering.recurrence
(optional object): Recurrence settings for the downtime.type
(string): Recurrence type ('days', 'weeks', 'months', 'years').period
(number): How often to repeat (must be >= 1).weekDays
(optional array): Days of the week for weekly recurrence.until
(optional number): UNIX timestamp for when the recurrence ends.
- Returns: Scheduled downtime details including ID and active status.
-
cancel_downtime
- Cancel a scheduled downtime in Datadog.
- Inputs:
downtimeId
(number): The ID of the downtime to cancel.
- Returns: Confirmation of downtime cancellation.
Setup
Datadog Credentials
You need valid Datadog API credentials to use this MCP server:
DATADOG_API_KEY
: Your Datadog API keyDATADOG_APP_KEY
: Your Datadog Application keyDATADOG_SITE
(optional): The Datadog site (e.g.datadoghq.eu
)
Export them in your environment before running the server:
export DATADOG_API_KEY="your_api_key"
export DATADOG_APP_KEY="your_app_key"
export DATADOG_SITE="your_datadog_site"
Installation
Installing via Smithery
To install Datadog MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @winor30/mcp-server-datadog --client claude
Manual Installation
pnpm install
pnpm build
pnpm watch # for development with auto-rebuild
Usage with Claude Desktop
To use this with Claude Desktop, add the following to your claude_desktop_config.json
:
On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
{
"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>" // Optional
}
}
}
}
Or specify via npx
:
{
"mcpServers": {
"mcp-server-datadog": {
"command": "npx",
"args": ["-y", "@winor30/mcp-server-datadog"],
"env": {
"DATADOG_API_KEY": "<YOUR_API_KEY>",
"DATADOG_APP_KEY": "<YOUR_APP_KEY>",
"DATADOG_SITE": "<YOUR_SITE>" // Optional
}
}
}
}
Debugging
Because MCP servers communicate over standard input/output, debugging can sometimes be tricky. We recommend using the MCP Inspector. You can run the inspector with:
npm run inspector
The inspector will provide a URL you can open in your browser to see logs and send requests manually.
Contributing
Contributions are welcome! Feel free to open an issue or a pull request if you have any suggestions, bug reports, or improvements to propose.
License
This project is licensed under the Apache License, Version 2.0.
Recommended Servers
Jira-Context-MCP
MCP server to provide Jira Tickets information to AI coding agents like Cursor
Google Search Console MCP Server
A server that provides access to Google Search Console data through the Model Context Protocol, allowing users to retrieve and analyze search analytics data with customizable dimensions and reporting periods.
mixpanel
Connect to your Mixpanel data. Query events, retention, and funnel data from Mixpanel analytics.

PostHog MCP Server
A Model Context Protocol server that enables Claude Desktop users to interact directly with PostHog, allowing them to view projects and create annotations through natural language commands.
metoro-mcp-server
Query and interact with kubernetes environments monitored by Metoro. Look at APM, metrics, traces, profiling information with LLMs.

Raygun MCP Server
MCP Server for Raygun's API V3 endpoints for interacting with your Crash Reporting and Real User Monitoring applications. This server provides comprehensive access to Raygun's API features through the Model Context Protocol.

systemd-coredump MCP Server
Enables MCP-capable applications to access, manage, and analyze system core dumps through integration with systemd-coredump functionality.

SQLite MCP Server
Enables querying log data stored in SQLite databases through the Model Context Protocol, allowing natural language interactions with log analysis.

Airbyte Status Checker
An MCP server for Claude Desktop that allows users to check the status of their Airbyte connections.

MCP Variance Log
Agentic tool that looks for statistical variations in conversation structure and logs unusual events to a SQLite database. Built using the Model Context Protocol (MCP), this system is designed to be used with Claude Desktop or other MCP-compatible clients.