datadog-mcp 4.0.1 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -127,6 +127,7 @@ When running with `--transport=http`:
127
127
  | `monitors` | delete | Alerting | Delete a monitor | `monitors_write` |
128
128
  | `monitors` | mute | Alerting | Mute a monitor | `monitors_write` |
129
129
  | `monitors` | unmute | Alerting | Unmute a monitor | `monitors_write` |
130
+ | `monitors` | top | Alerting | Top N monitors by alert frequency with real monitor names and context breakdown. Groups without context tags are included as "no_context" | `monitors_read` |
130
131
  | `dashboards` | list | Visualization | List all dashboards | `dashboards_read` |
131
132
  | `dashboards` | get | Visualization | Get dashboard by ID | `dashboards_read` |
132
133
  | `dashboards` | create | Visualization | Create a new dashboard | `dashboards_write` |
@@ -146,7 +147,7 @@ When running with `--transport=http`:
146
147
  | `events` | create | Events | Create an event | `events_read` |
147
148
  | `events` | search | Events | Search events with v2 API and cursor pagination | `events_read` |
148
149
  | `events` | aggregate | Events | Client-side aggregation by monitor_name, source, etc. | `events_read` |
149
- | `events` | top | Events | Top N noisiest monitors (convenience wrapper) | `events_read` |
150
+ | `events` | top | Events | Top N event groups by count with generic groupBy support (deployments, configs, alerts, etc.). Groups without context tags are included as "no_context" | `events_read` |
150
151
  | `events` | timeseries | Events | Time-bucketed alert trends (hourly/daily counts) | `events_read` |
151
152
  | `events` | incidents | Events | Deduplicate alerts into incidents with Trigger/Recover pairing | `events_read` |
152
153
  | `incidents` | list | Incidents | List incidents | `incident_read` |
@@ -252,22 +253,23 @@ The `diverse` mode normalizes messages (strips UUIDs, timestamps, IPs, numbers)
252
253
 
253
254
  ## Events Aggregation
254
255
 
255
- ### Top Monitors Report (Best for Weekly/Daily Meteo)
256
+ ### Top Monitors Report (Monitor-Specific)
256
257
 
257
- Get top alerting monitors with automatic context breakdown by queue, service, ingress, pod, etc:
258
+ **Use `monitors` tool for monitor alerts with real monitor names:**
258
259
 
259
260
  ```
260
- events({ action: "top", from: "7d", limit: 10 })
261
+ monitors({ action: "top", from: "7d", limit: 10 })
261
262
  ```
262
263
 
263
- Returns nested structure perfect for reports:
264
+ Returns monitors with **real names** (including {{template.vars}}) from monitors API:
264
265
  ```json
265
266
  {
266
267
  "top": [
267
268
  {
268
269
  "rank": 1,
269
- "name": "High number of ready messages",
270
270
  "monitor_id": 67860480,
271
+ "name": "High number of ready messages on {{queue.name}}",
272
+ "message": "Queue {{queue.name}} has {{value}} ready messages",
271
273
  "total_count": 50,
272
274
  "by_context": [
273
275
  {"context": "queue:state-status_tasks", "count": 30},
@@ -276,8 +278,9 @@ Returns nested structure perfect for reports:
276
278
  },
277
279
  {
278
280
  "rank": 2,
279
- "name": "Nginx 5XX errors",
280
281
  "monitor_id": 134611486,
282
+ "name": "Nginx some requests on errors (HTTP 5XX) on {{ingress.name}}",
283
+ "message": "Nginx request on ingress {{ingress.name}} contains some errors (HTTP 5XX)",
281
284
  "total_count": 42,
282
285
  "by_context": [
283
286
  {"context": "ingress:trusk-api", "count": 29},
@@ -288,6 +291,36 @@ Returns nested structure perfect for reports:
288
291
  }
289
292
  ```
290
293
 
294
+ ### Top Events Report (Generic)
295
+
296
+ **Use `events` tool for any event type** (deployments, configs, custom events):
297
+
298
+ ```
299
+ events({ action: "top", from: "7d", limit: 10, groupBy: ["service"] })
300
+ ```
301
+
302
+ Returns event groups by custom fields:
303
+ ```json
304
+ {
305
+ "top": [
306
+ {
307
+ "rank": 1,
308
+ "service": "api-server",
309
+ "message": "Deployment completed",
310
+ "total_count": 30,
311
+ "by_context": [
312
+ {"context": "env:prod", "count": 20},
313
+ {"context": "env:staging", "count": 10}
314
+ ]
315
+ }
316
+ ]
317
+ }
318
+ ```
319
+
320
+ **Key Differences:**
321
+ - `monitors top`: Fetches real monitor names from monitors API (slower, monitor-specific)
322
+ - `events top`: Fast generic grouping, returns event message text (any event type)
323
+
291
324
  Context tags are auto-extracted: `queue:`, `service:`, `ingress:`, `pod_name:`, `kube_namespace:`, `kube_container_name:`
292
325
 
293
326
  ### Tag Discovery