# Datadog — how to use (mcp.ai)

Connect your Datadog account and use 65 tools for server monitoring straight from your AI agent. Connect with your own API key. Datadog offers monitoring, observability, and security for cloud-scale applications, unifying metrics, logs, and traces to help teams detect issues and optimize performance.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_datadog?ms=1787295780000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `datadog_aggregate_logs`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/datadog`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/datadog/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/datadog/aggregate/logs` — Aggregate Datadog logs without downloading raw events. Use for counts, unique values, percentiles, numeric statistics, grouped breakdowns, and values over time. Use DATADOG_SEARCH_LOGS only when indiv
  - body: { page?: object, filter?: object, compute?: object[], group_by?: object[] }
- `POST https://api.mcp.ai/api/datadog/create/dashboard` — Create a dashboard in Datadog. Dashboards provide customizable visualizations for monitoring your infrastructure, applications, and business metrics in a unified view.
  - body: { tags?: string[], title: string, widgets: object[], description?: string, layout_type?: string, notify_list?: string[], template_variables?: object[] }
- `POST https://api.mcp.ai/api/datadog/create/downtime` — Creates a new downtime in Datadog to suppress alerts during maintenance windows or planned outages. Useful for preventing false alarms during deployments or maintenance.
  - body: { end?: integer, scope: string[], start?: integer, message?: string, timezone?: string, monitor_id?: integer, recurrence?: object, monitor_tags?: string[] }
- `POST https://api.mcp.ai/api/datadog/create/escalation/policy` — Creates a Datadog On-Call escalation policy.
  - body: { data: object }
- `POST https://api.mcp.ai/api/datadog/create/event` — Creates a new event in Datadog. Events are useful for tracking deployments, outages, configuration changes, and other important occurrences.
  - body: { host?: string, tags?: string[], text: string, title: string, priority?: string, alert_type?: string, device_name?: string, date_happened?: integer, aggregation_key?: string, source_type_name?: string }
- `POST https://api.mcp.ai/api/datadog/create/monitor` — Creates a new Datadog monitor to track metrics, logs, or other data sources with configurable alerting thresholds and notifications.
  - body: { name: string, tags?: string[], type: string, query: string, message?: string, options?: object, priority?: integer }
- `POST https://api.mcp.ai/api/datadog/create/notification/channel` — Creates an On-Call notification channel for a Datadog user.
  - body: { data: object, user_id: string }
- `POST https://api.mcp.ai/api/datadog/create/notification/rule` — Creates an On-Call notification rule for a Datadog user.
  - body: { data: object, user_id: string }
- `POST https://api.mcp.ai/api/datadog/create/schedule` — Creates a Datadog On-Call schedule.
  - body: { data: object }
- `POST https://api.mcp.ai/api/datadog/create/slo` — Create a Service Level Objective (SLO) in Datadog. SLOs help you define and track reliability targets for your services, enabling data-driven decisions about service quality and reliability investment
  - body: { name: string, tags?: string[], type: string, query?: object, groups?: string[], thresholds: object[], description?: string, monitor_ids?: integer[] }
- `POST https://api.mcp.ai/api/datadog/create/synthetic/api/test` — Create a synthetic API test in Datadog. Creates a new synthetic API test that continuously monitors API endpoints from multiple locations worldwide. Useful for proactive monitoring of API uptime, perf
  - body: { name: string, tags?: string[], type?: string, config: object, status?: string, message?: string, options: object, subtype?: string }
- `POST https://api.mcp.ai/api/datadog/create/webhook` — Create a webhook in Datadog. Registers a named destination endpoint; each monitor must explicitly reference the webhook by name in its message or notification settings for alerts to be delivered.
  - body: { url: string, name: string, payload?: string, encode_as?: string, custom_headers?: string }
- `POST https://api.mcp.ai/api/datadog/delete/dashboard` — Delete a dashboard in Datadog. Permanently removes a dashboard from your organization. This action cannot be undone. Use with caution.
  - body: { dashboard_id: string }
- `POST https://api.mcp.ai/api/datadog/delete/escalation/policy` — Deletes a Datadog On-Call escalation policy by ID. This action cannot be undone.
  - body: { policy_id: string }
- `POST https://api.mcp.ai/api/datadog/delete/monitor` — Deletes a Datadog monitor permanently. Use with caution as this action cannot be undone.
  - body: { force?: boolean, monitor_id: integer }
- `POST https://api.mcp.ai/api/datadog/delete/notification/channel` — Deletes an On-Call notification channel for a Datadog user. This action cannot be undone.
  - body: { user_id: string, channel_id: string }
- `POST https://api.mcp.ai/api/datadog/delete/notification/rule` — Deletes an On-Call notification rule for a Datadog user. This action cannot be undone.
  - body: { rule_id: string, user_id: string }
- `POST https://api.mcp.ai/api/datadog/delete/schedule` — Deletes a Datadog On-Call schedule by ID. This action cannot be undone.
  - body: { schedule_id: string }
- `POST https://api.mcp.ai/api/datadog/get/dashboard` — Get a specific dashboard from Datadog. Retrieves detailed information about a dashboard including its widgets, layout, template variables, and metadata.
  - body: { dashboard_id: string }
- `POST https://api.mcp.ai/api/datadog/get/escalation/policy` — Retrieves a Datadog On-Call escalation policy by ID.
  - body: { policy_id: string }
- `POST https://api.mcp.ai/api/datadog/get/monitor` — Retrieves detailed information about a specific Datadog monitor, including its current state, configuration, and any active downtimes.
  - body: { monitor_id: integer, group_states?: string[], with_downtimes?: boolean }
- `POST https://api.mcp.ai/api/datadog/get/notification/channel` — Retrieves an On-Call notification channel for a user by ID.
  - body: { user_id: string, channel_id: string }
- `POST https://api.mcp.ai/api/datadog/get/notification/rule` — Retrieves an On-Call notification rule for a user by ID.
  - body: { rule_id: string, user_id: string }
- `POST https://api.mcp.ai/api/datadog/get/schedule` — Retrieves a Datadog On-Call schedule by ID.
  - body: { schedule_id: string }
- `POST https://api.mcp.ai/api/datadog/get/scheduled/on/call/user` — Gets the currently scheduled on-call user for a Datadog On-Call schedule.
  - body: { schedule_id: string }
- `POST https://api.mcp.ai/api/datadog/get/service/dependencies` — Get service dependency mapping from Datadog APM. This action retrieves the dependency graph for a specific service, showing both upstream services (that call this service) and downstream services (tha
  - body: { env?: string, service: string, end_time?: integer, start_time?: integer }
- `POST https://api.mcp.ai/api/datadog/get/synthetics/locations` — Tool to retrieve all available public and private locations for Synthetic tests in Datadog. Use when you need a list of location identifiers for creating or managing synthetic tests.
- `POST https://api.mcp.ai/api/datadog/get/tags` — Retrieves all tags associated with a specific host in Datadog. Useful for understanding host metadata and organizing infrastructure.
  - body: { source?: string, host_name: string }
- `POST https://api.mcp.ai/api/datadog/get/team/on/call/users` — Gets the current on-call users for a Datadog On-Call team.
  - body: { team_id: string }
- `POST https://api.mcp.ai/api/datadog/get/team/routing/rules` — Gets the Datadog On-Call routing rules configured for a team.
  - body: { team_id: string }
- `POST https://api.mcp.ai/api/datadog/get/trace/by/id` — DEPRECATED: Use DATADOG_SEARCH_TRACES instead. Get detailed information about a specific trace by its ID. This action retrieves comprehensive details about a distributed trace, including all spans, ti
  - body: { to_time?: string, trace_id: string, from_time?: string }
- `POST https://api.mcp.ai/api/datadog/get/usage/summary` — Retrieves usage summary information from Datadog including API calls, hosts, containers, and other billable usage metrics. Useful for cost monitoring and usage analysis. Months with no activity return
  - body: { end_month?: string, start_month: string, include_org_details?: boolean }
- `POST https://api.mcp.ai/api/datadog/list/all/tags` — List all tags from Datadog. Tags help organize and filter your infrastructure and applications. This action shows all tags in use across your organization.
  - body: { source?: string }
- `POST https://api.mcp.ai/api/datadog/list/api/keys` — List API keys in Datadog. Retrieves all API keys in the organization for security auditing, access management, and key rotation planning. Helps maintain security posture by tracking key usage and owne
  - body: { sort?: string, page_size?: integer, page_number?: integer, filter_created_at_end?: string, filter_modified_at_end?: string, filter_created_at_start?: string, filter_modified_at_start?: string }
- `POST https://api.mcp.ai/api/datadog/list/apm/services` — List APM services from Datadog. Application Performance Monitoring (APM) provides deep visibility into your applications, helping you track performance, errors, and dependencies.
  - body: { env?: string }
- `POST https://api.mcp.ai/api/datadog/list/aws/integration` — List AWS integrations in Datadog. Retrieves all configured AWS account integrations, showing which AWS accounts are monitored by Datadog and their configuration settings. Useful for cloud infrastructu
  - body: { role_name?: string, account_id?: string }
- `POST https://api.mcp.ai/api/datadog/list/dashboards` — Lists all Datadog dashboards with basic information. Useful for dashboard management and getting an overview of available dashboards.
  - body: { count?: integer, start?: integer, filter_shared?: boolean, filter_deleted?: boolean }
- `POST https://api.mcp.ai/api/datadog/list/events` — Lists events from Datadog within a specified time range. Events track important occurrences like deployments, outages, and configuration changes. Combining multiple filters (tags, sources, priority) w
  - body: { end: integer, page?: integer, tags?: string[], start: integer, sources?: string, priority?: string, unaggregated?: boolean, exclude_aggregate?: boolean }
- `POST https://api.mcp.ai/api/datadog/list/hosts` — Lists all hosts in your Datadog infrastructure with detailed information including metrics, tags, and status. Useful for infrastructure monitoring and management.
  - body: { count?: integer, start?: integer, filter?: string, sort_dir?: string, sort_field?: string, from_timestamp?: integer, include_hosts_metadata?: boolean, include_muted_hosts_data?: boolean }
- `POST https://api.mcp.ai/api/datadog/list/incidents` — List incidents from Datadog. Incident Management helps you track, manage, and resolve incidents efficiently with comprehensive timeline and impact tracking.
  - body: { sort?: string, include?: string, page_size?: integer, page_offset?: integer, filter_query?: string }
- `POST https://api.mcp.ai/api/datadog/list/log/indexes` — Tool to retrieve a list of all log indexes configured in Datadog, including their names and configurations. Use before DATADOG_SEARCH_LOGS to identify the correct index name; searching without specify
- `POST https://api.mcp.ai/api/datadog/list/metrics` — Discover metric names by listing actively reporting metrics since a given timestamp. Use when you need to find what metrics exist before querying timeseries data with DATADOG_QUERY_METRICS.
  - body: { host?: string, tag_filter?: string, from_timestamp: integer }
- `POST https://api.mcp.ai/api/datadog/list/monitors` — Get all monitor details. This endpoint allows you to retrieve information about all monitors configured in your organization. You can filter by group states, name, tags, and use pagination to manage l
  - body: { name?: string, page?: integer, tags?: string[], id_offset?: integer, page_size?: integer, group_states?: string[], monitor_tags?: string[], with_downtimes?: boolean }
- `POST https://api.mcp.ai/api/datadog/list/notification/channels` — Lists the On-Call notification channels configured for a Datadog user.
  - body: { user_id: string }
- `POST https://api.mcp.ai/api/datadog/list/notification/rules` — Lists the On-Call notification rules configured for a Datadog user.
  - body: { user_id: string }
- `POST https://api.mcp.ai/api/datadog/list/roles` — List roles from Datadog organization. Roles define sets of permissions that control what users can do within your Datadog organization.
  - body: { sort?: string, page_size?: integer, filter_name?: string, page_number?: integer }
- `POST https://api.mcp.ai/api/datadog/list/service/checks` — Lists service checks from Datadog. Service checks are status checks that track the health of your services and infrastructure components.
  - body: { end?: integer, tags?: string[], check?: string, start?: integer, status?: string }
- `POST https://api.mcp.ai/api/datadog/list/sl/os` — List Service Level Objectives (SLOs) from Datadog. Service Level Objectives help you track the reliability and performance of your services by setting measurable targets for key metrics.
  - body: { tags?: string, limit?: integer, query?: string, offset?: integer }
- `POST https://api.mcp.ai/api/datadog/list/synthetics` — List Synthetics tests from Datadog. Synthetics monitoring allows you to proactively monitor your applications and APIs by simulating user interactions and API calls from various locations.
  - body: { tags?: string, limit?: integer, offset?: integer, locations?: string }
- `POST https://api.mcp.ai/api/datadog/list/users` — List users from Datadog organization. User management allows you to see team members, their roles, and access levels within your Datadog organization.
  - body: { sort?: string, sort_dir?: string, page_size?: integer, page_number?: integer, filter_status?: string }
- `POST https://api.mcp.ai/api/datadog/list/webhooks` — List webhooks from Datadog. Webhooks allow you to send notifications to external services when monitors trigger, enabling integration with your workflows.
  - body: { limit?: integer }
- `POST https://api.mcp.ai/api/datadog/mute/monitor` — Mute a monitor in Datadog. Temporarily silences alerts from a monitor, which is useful during maintenance windows, deployments, or when investigating known issues to prevent alert fatigue.
  - body: { end?: integer, override?: boolean, monitor_id: integer }
- `POST https://api.mcp.ai/api/datadog/query/metrics` — Queries Datadog metrics and returns time series data. Useful for retrieving historical metric data, creating custom dashboards, or building reports.
  - body: { query: string, to_timestamp: integer, from_timestamp: integer }
- `POST https://api.mcp.ai/api/datadog/search/logs` — Searches Datadog logs with advanced filtering capabilities. IMPORTANT NOTES: - Sort parameter is NOT supported by the Datadog Logs API and will cause errors - Time parameters must be in milliseconds (
  - body: { index?: string, limit?: integer, query: string, time_to: integer, start_at?: string, time_from: integer }
- `POST https://api.mcp.ai/api/datadog/search/spans/analytics` — Search and analyze span data with aggregations in Datadog. This action uses the Datadog Spans Analytics API to perform advanced queries and aggregations on trace span data. It's essential for: - Analy
  - body: { filter: object, compute?: object[], options?: object, group_by?: object[] }
- `POST https://api.mcp.ai/api/datadog/search/traces` — Search for traces in Datadog APM. This action allows you to search for distributed traces across your services. It's essential for: - Finding specific request flows during incident investigation - Ana
  - body: { page?: object, sort?: object, filter: object, options?: object }
- `POST https://api.mcp.ai/api/datadog/set/team/routing/rules` — Replaces (sets) the On-Call routing rules for a Datadog team.
  - body: { data: object, team_id: string }
- `POST https://api.mcp.ai/api/datadog/submit/metrics` — Submits custom metrics to Datadog. Useful for sending application-specific metrics, business KPIs, or custom performance indicators.
  - body: { series: object[] }
- `POST https://api.mcp.ai/api/datadog/unmute/monitor` — Unmute a monitor in Datadog. Re-enables alerts from a previously muted monitor, returning it to normal monitoring and alerting behavior. Alerting resumes immediately upon call, so ensure maintenance o
  - body: { all_scopes?: boolean, monitor_id: integer }
- `POST https://api.mcp.ai/api/datadog/update/dashboard` — Update a dashboard in Datadog. Updates an existing dashboard with new configuration, widgets, or layout while preserving its identity and creation metadata.
  - body: { tags?: string[], title?: string, widgets?: object[], description?: string, layout_type?: string, notify_list?: string[], reflow_type?: string, dashboard_id: string, is_read_only?: boolean, pause_auto_refresh?: boolean, template_variables?: object[] }
- `POST https://api.mcp.ai/api/datadog/update/escalation/policy` — Updates a Datadog On-Call escalation policy by ID.
  - body: { data: object, policy_id: string }
- `POST https://api.mcp.ai/api/datadog/update/host/tags` — Updates tags for a specific host in Datadog. This replaces all existing tags from the specified source with the new tags provided.
  - body: { tags: string[], source?: string, host_name: string }
- `POST https://api.mcp.ai/api/datadog/update/monitor` — Updates an existing Datadog monitor with new configuration, thresholds, or notification settings. Only specified fields will be updated.
  - body: { name?: string, tags?: string[], type?: string, query?: string, message?: string, options?: object, priority?: integer, monitor_id: integer }
- `POST https://api.mcp.ai/api/datadog/update/notification/rule` — Updates an On-Call notification rule for a user by ID.
  - body: { data: object, rule_id: string, user_id: string }
- `POST https://api.mcp.ai/api/datadog/update/schedule` — Updates a Datadog On-Call schedule by ID.
  - body: { data: object, schedule_id: string }

## Example prompts
- "What can I do in Datadog?"
- "Show me a summary of my Datadog account"

## More
- Page: https://mcp.ai/datadog
- Agent spec (llms.txt): https://mcp.ai/datadog/llms.txt
- Postman collection: https://mcp.ai/datadog/postman.json
