
Datadog
STDIODatadog MCP server for monitoring, incidents, metrics, logs, and dashboard management.
Datadog MCP server for monitoring, incidents, metrics, logs, and dashboard management.
MCP server for the Datadog API, enabling incident management and more. Forked from https://github.com/winor30/mcp-server-datadog
list_incidents
pageSize
(optional number): Maximum number of incidents to return per page.pageOffset
(optional number): Offset for pagination.get_incident
incidentId
(string): Incident ID to fetch details for.get_monitors
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.get_logs
query
(optional 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).list_dashboards
name
(optional string): Filter dashboards by name.tags
(optional array): Filter dashboards by tags.get_dashboard
dashboardId
(string): ID of the dashboard to fetch.create_dashboard
title
(string): The title of the dashboard.description
(optional string): The description of the dashboard.layoutType
(optional string): The layout type ('ordered' or 'free', defaults to 'ordered').widgets
(optional array): The widgets to add to the dashboard.tags
(optional array): A list of tags to associate with the dashboard.query_metrics
query
(string): Metrics query string (e.g., "avg:system.cpu.user{*}").from
(number): Start time in epoch seconds.to
(number): End time in epoch seconds.get_metric_metadata
metricName
(string): Name of the metric to get metadata for.get_active_metrics
query
(string): Search query string to find metrics.from
(optional number): Unix timestamp from which to start the query (default: 24 hours ago).host
(optional string): Filter metrics by host.tagFilter
(optional string): Filter metrics by tags (e.g. "env:prod,region:us-east").analyze_tag_relationships
from
(optional number): Unix timestamp from which to start analyzing tags (default: now - 1 day).limit
(optional number): Maximum number of tag relationships to analyze (default: 50).metricPrefix
(optional string): Optional prefix to filter metrics by (e.g., "system." or "aws.").analyze_tag_cardinality
from
(optional number): Unix timestamp from which to start analyzing tags (default: now - 1 day).limit
(optional number): Maximum number of tags to analyze (default: 50).metricPrefix
(optional string): Optional prefix to filter metrics by (e.g., "system." or "aws.").minCardinality
(optional number): Minimum cardinality threshold to report (default: 10).visualize_tag_co_occurrence
metricName
(string): Name of the metric to analyze tags for.from
(optional number): Unix timestamp from which to start analyzing tags (default: now - 1 day).limit
(optional number): Maximum number of tag pairs to analyze (default: 20).search_events
query
(string): Datadog events query string.from
(optional string): Start time as string - either epoch seconds or relative time (e.g., "now-40m") (default: "now-24h").to
(optional string): End time as string - either epoch seconds or relative time (e.g., "now") (default: "now").limit
(optional number): Maximum number of events to return (default: 100).sort
(optional string): Sort order for events (default: "-timestamp").list_traces
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.list_apm_services
limit
(optional number): Maximum number of services to return (defaults to 100).list_apm_resources
service
(string): Service name to filter resources by.entry_spans_only
(optional boolean): Filter to only show service entry spans.limit
(optional number): Maximum number of resources to return (defaults to 100).search_query
(optional string): Search query to filter resource names by.list_apm_operations
service
(string): Service name to filter operations by.entry_spans_only
(optional boolean): Filter to only show service entry spans.limit
(optional number): Maximum number of operations to return (defaults to 100).get_resource_hash
service
(string): Service name the resource belongs to.resource_name
(string): Resource name to get the hash for.get_all_services
from
(optional number): Start time in epoch seconds (defaults to 24 hours ago).to
(optional number): End time in epoch seconds (defaults to current time).limit
(optional number): Maximum number of logs to search through (defaults to 1000).query
(optional string): Optional query filter for log search.list_hosts
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).get_active_hosts_count
from
(optional number): Number of seconds from which you want to get total number of active hosts (defaults to 2h).mute_host
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.unmute_host
hostname
(string): The name of the host to unmute.list_notebooks
query
(optional string): Return only notebooks with this query string in notebook name or author handle.authorHandle
(optional string): Return notebooks created by the given author handle.excludeAuthorHandle
(optional string): Return notebooks not created by the given author handle.start
(optional number): The index of the first notebook to return.count
(optional number): The number of notebooks to be returned.sortField
(optional string): Sort by field (modified, name, created).sortDir
(optional string): Sort direction (asc, desc).type
(optional string): Return only notebooks with that metadata type.isTemplate
(optional boolean): True value returns only template notebooks.includeCells
(optional boolean): Value of false excludes the cells and global time for each notebook.get_notebook
notebookId
(number): Unique ID of the notebook to retrieve.create_notebook
name
(string): The name of the notebook.cells
(optional array): Cells to include in the notebook.time
(optional string): Time settings for the notebook (defaults to '1h').metadata
(optional object): Additional metadata for the notebook.add_cell_to_notebook
notebookId
(number): The ID of the notebook to add the cell to.cell
(object): The cell definition to add.list_downtimes
currentOnly
(optional boolean): Return only currently active downtimes when true.schedule_downtime
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.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.cancel_downtime
downtimeId
(number): The ID of the downtime to cancel.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"
To install Datadog MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @ndevvy/mcp-server-datadog --client claude
pnpm install pnpm build pnpm watch # for development with auto-rebuild
Add to your claude_desktop_config.json
or .cursor/mcp.json
:
{ "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 } } } }
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.
This project is licensed under the Apache License, Version 2.0.