@us-all/datadog-mcp 1.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.
Files changed (83) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +275 -0
  3. package/dist/client.d.ts +21 -0
  4. package/dist/client.d.ts.map +1 -0
  5. package/dist/client.js +37 -0
  6. package/dist/client.js.map +1 -0
  7. package/dist/config.d.ts +8 -0
  8. package/dist/config.d.ts.map +1 -0
  9. package/dist/config.js +17 -0
  10. package/dist/config.js.map +1 -0
  11. package/dist/index.d.ts +3 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +100 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/tools/account.d.ts +48 -0
  16. package/dist/tools/account.d.ts.map +1 -0
  17. package/dist/tools/account.js +64 -0
  18. package/dist/tools/account.js.map +1 -0
  19. package/dist/tools/apm.d.ts +36 -0
  20. package/dist/tools/apm.d.ts.map +1 -0
  21. package/dist/tools/apm.js +40 -0
  22. package/dist/tools/apm.js.map +1 -0
  23. package/dist/tools/dashboards.d.ts +82 -0
  24. package/dist/tools/dashboards.d.ts.map +1 -0
  25. package/dist/tools/dashboards.js +124 -0
  26. package/dist/tools/dashboards.js.map +1 -0
  27. package/dist/tools/downtimes.d.ts +51 -0
  28. package/dist/tools/downtimes.d.ts.map +1 -0
  29. package/dist/tools/downtimes.js +96 -0
  30. package/dist/tools/downtimes.js.map +1 -0
  31. package/dist/tools/events.d.ts +52 -0
  32. package/dist/tools/events.d.ts.map +1 -0
  33. package/dist/tools/events.js +70 -0
  34. package/dist/tools/events.js.map +1 -0
  35. package/dist/tools/hosts.d.ts +38 -0
  36. package/dist/tools/hosts.d.ts.map +1 -0
  37. package/dist/tools/hosts.js +55 -0
  38. package/dist/tools/hosts.js.map +1 -0
  39. package/dist/tools/incidents.d.ts +23 -0
  40. package/dist/tools/incidents.d.ts.map +1 -0
  41. package/dist/tools/incidents.js +29 -0
  42. package/dist/tools/incidents.js.map +1 -0
  43. package/dist/tools/logs.d.ts +67 -0
  44. package/dist/tools/logs.d.ts.map +1 -0
  45. package/dist/tools/logs.js +98 -0
  46. package/dist/tools/logs.js.map +1 -0
  47. package/dist/tools/metrics.d.ts +61 -0
  48. package/dist/tools/metrics.d.ts.map +1 -0
  49. package/dist/tools/metrics.js +94 -0
  50. package/dist/tools/metrics.js.map +1 -0
  51. package/dist/tools/monitors.d.ts +92 -0
  52. package/dist/tools/monitors.d.ts.map +1 -0
  53. package/dist/tools/monitors.js +157 -0
  54. package/dist/tools/monitors.js.map +1 -0
  55. package/dist/tools/notebooks.d.ts +41 -0
  56. package/dist/tools/notebooks.d.ts.map +1 -0
  57. package/dist/tools/notebooks.js +60 -0
  58. package/dist/tools/notebooks.js.map +1 -0
  59. package/dist/tools/oncall.d.ts +18 -0
  60. package/dist/tools/oncall.d.ts.map +1 -0
  61. package/dist/tools/oncall.js +31 -0
  62. package/dist/tools/oncall.js.map +1 -0
  63. package/dist/tools/rum.d.ts +50 -0
  64. package/dist/tools/rum.d.ts.map +1 -0
  65. package/dist/tools/rum.js +65 -0
  66. package/dist/tools/rum.js.map +1 -0
  67. package/dist/tools/security.d.ts +25 -0
  68. package/dist/tools/security.d.ts.map +1 -0
  69. package/dist/tools/security.js +37 -0
  70. package/dist/tools/security.js.map +1 -0
  71. package/dist/tools/slos.d.ts +59 -0
  72. package/dist/tools/slos.d.ts.map +1 -0
  73. package/dist/tools/slos.js +82 -0
  74. package/dist/tools/slos.js.map +1 -0
  75. package/dist/tools/synthetics.d.ts +115 -0
  76. package/dist/tools/synthetics.d.ts.map +1 -0
  77. package/dist/tools/synthetics.js +185 -0
  78. package/dist/tools/synthetics.js.map +1 -0
  79. package/dist/tools/utils.d.ts +18 -0
  80. package/dist/tools/utils.d.ts.map +1 -0
  81. package/dist/tools/utils.js +97 -0
  82. package/dist/tools/utils.js.map +1 -0
  83. package/package.json +54 -0
@@ -0,0 +1,38 @@
1
+ import { z } from "zod/v4";
2
+ export declare const listHostsSchema: z.ZodObject<{
3
+ filter: z.ZodOptional<z.ZodString>;
4
+ sortField: z.ZodOptional<z.ZodString>;
5
+ sortDir: z.ZodOptional<z.ZodString>;
6
+ count: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
7
+ start: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
8
+ from: z.ZodOptional<z.ZodNumber>;
9
+ includeMutedHostsData: z.ZodOptional<z.ZodBoolean>;
10
+ includeHostsMetadata: z.ZodOptional<z.ZodBoolean>;
11
+ }, z.core.$strip>;
12
+ export declare function listHosts(params: z.infer<typeof listHostsSchema>): Promise<{
13
+ totalMatching: number | undefined;
14
+ totalReturned: number | undefined;
15
+ hosts: {
16
+ id: number | undefined;
17
+ name: string | undefined;
18
+ aliases: string[] | undefined;
19
+ apps: string[] | undefined;
20
+ isMuted: boolean | undefined;
21
+ lastReportedTime: number | undefined;
22
+ up: boolean | undefined;
23
+ meta: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").HostMeta | undefined;
24
+ metrics: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").HostMetrics | undefined;
25
+ sources: string[] | undefined;
26
+ tagsBySource: {
27
+ [key: string]: string[];
28
+ } | undefined;
29
+ }[];
30
+ }>;
31
+ export declare const getHostTotalsSchema: z.ZodObject<{
32
+ from: z.ZodOptional<z.ZodNumber>;
33
+ }, z.core.$strip>;
34
+ export declare function getHostTotals(params: z.infer<typeof getHostTotalsSchema>): Promise<{
35
+ totalActive: number | undefined;
36
+ totalUp: number | undefined;
37
+ }>;
38
+ //# sourceMappingURL=hosts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hosts.d.ts","sourceRoot":"","sources":["../../src/tools/hosts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,eAAO,MAAM,eAAe;;;;;;;;;iBAS1B,CAAC;AAEH,wBAAsB,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC;;;;;;;;;;;;;;;;;;GA8BtE;AAED,eAAO,MAAM,mBAAmB;;iBAE9B,CAAC;AAEH,wBAAsB,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC;;;GAS9E"}
@@ -0,0 +1,55 @@
1
+ import { z } from "zod/v4";
2
+ import { hostsApi } from "../client.js";
3
+ export const listHostsSchema = z.object({
4
+ filter: z.string().optional().describe("Filter string for search results. Example: web-server or env:prod"),
5
+ sortField: z.string().optional().describe("Field to sort by. Example: apps, cpu, iowait, load"),
6
+ sortDir: z.string().optional().describe("Sort direction: asc or desc"),
7
+ count: z.number().optional().default(100).describe("Number of hosts to return (max 1000)"),
8
+ start: z.number().optional().default(0).describe("Pagination offset"),
9
+ from: z.number().optional().describe("Unix epoch seconds — hosts active since this time. Example: 1740000000"),
10
+ includeMutedHostsData: z.boolean().optional().describe("Include mute status info"),
11
+ includeHostsMetadata: z.boolean().optional().describe("Include agent_version, machine, platform, processor"),
12
+ });
13
+ export async function listHosts(params) {
14
+ const response = await hostsApi.listHosts({
15
+ filter: params.filter,
16
+ sortField: params.sortField,
17
+ sortDir: params.sortDir,
18
+ count: params.count,
19
+ start: params.start,
20
+ from: params.from,
21
+ includeMutedHostsData: params.includeMutedHostsData,
22
+ includeHostsMetadata: params.includeHostsMetadata,
23
+ });
24
+ const hosts = response.hostList ?? [];
25
+ return {
26
+ totalMatching: response.totalMatching,
27
+ totalReturned: response.totalReturned,
28
+ hosts: hosts.map((h) => ({
29
+ id: h.id,
30
+ name: h.name,
31
+ aliases: h.aliases,
32
+ apps: h.apps,
33
+ isMuted: h.isMuted,
34
+ lastReportedTime: h.lastReportedTime,
35
+ up: h.up,
36
+ meta: h.meta,
37
+ metrics: h.metrics,
38
+ sources: h.sources,
39
+ tagsBySource: h.tagsBySource,
40
+ })),
41
+ };
42
+ }
43
+ export const getHostTotalsSchema = z.object({
44
+ from: z.number().optional().describe("Unix epoch seconds — get totals from this time. Example: 1740000000"),
45
+ });
46
+ export async function getHostTotals(params) {
47
+ const response = await hostsApi.getHostTotals({
48
+ from: params.from,
49
+ });
50
+ return {
51
+ totalActive: response.totalActive,
52
+ totalUp: response.totalUp,
53
+ };
54
+ }
55
+ //# sourceMappingURL=hosts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hosts.js","sourceRoot":"","sources":["../../src/tools/hosts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { z } from "zod/v4";
2
+ export declare const getIncidentsSchema: z.ZodObject<{
3
+ pageSize: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
4
+ pageOffset: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
5
+ }, z.core.$strip>;
6
+ export declare function getIncidents(params: z.infer<typeof getIncidentsSchema>): Promise<{
7
+ count: number;
8
+ incidents: {
9
+ id: string;
10
+ title: string | undefined;
11
+ status: string | undefined;
12
+ severity: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/index.js").IncidentSeverity | undefined;
13
+ created: string | undefined;
14
+ modified: string | undefined;
15
+ resolved: string | undefined;
16
+ customerImpactScope: string | undefined;
17
+ customerImpacted: boolean | undefined;
18
+ fields: {
19
+ [key: string]: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/index.js").IncidentFieldAttributes;
20
+ } | undefined;
21
+ }[];
22
+ }>;
23
+ //# sourceMappingURL=incidents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"incidents.d.ts","sourceRoot":"","sources":["../../src/tools/incidents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,eAAO,MAAM,kBAAkB;;;iBAG7B,CAAC;AAEH,wBAAsB,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC;;;;;;;;;;;;;;;;GAsB5E"}
@@ -0,0 +1,29 @@
1
+ import { z } from "zod/v4";
2
+ import { incidentsApi } from "../client.js";
3
+ export const getIncidentsSchema = z.object({
4
+ pageSize: z.number().optional().default(25).describe("Number of results per page (default 25, max 100)"),
5
+ pageOffset: z.number().optional().default(0).describe("Pagination offset"),
6
+ });
7
+ export async function getIncidents(params) {
8
+ const response = await incidentsApi.listIncidents({
9
+ pageSize: params.pageSize,
10
+ pageOffset: params.pageOffset,
11
+ });
12
+ const incidents = response.data ?? [];
13
+ return {
14
+ count: incidents.length,
15
+ incidents: incidents.map((inc) => ({
16
+ id: inc.id,
17
+ title: inc.attributes?.title,
18
+ status: inc.attributes?.state,
19
+ severity: inc.attributes?.severity,
20
+ created: inc.attributes?.created?.toISOString(),
21
+ modified: inc.attributes?.modified?.toISOString(),
22
+ resolved: inc.attributes?.resolved?.toISOString(),
23
+ customerImpactScope: inc.attributes?.customerImpactScope,
24
+ customerImpacted: inc.attributes?.customerImpacted,
25
+ fields: inc.attributes?.fields,
26
+ })),
27
+ };
28
+ }
29
+ //# sourceMappingURL=incidents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"incidents.js","sourceRoot":"","sources":["../../src/tools/incidents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,kDAAkD,CAAC;IACxG,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;CAC3E,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAA0C;IAC3E,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC;QAChD,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;IACtC,OAAO;QACL,KAAK,EAAE,SAAS,CAAC,MAAM;QACvB,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACjC,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,KAAK;YAC5B,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,KAAK;YAC7B,QAAQ,EAAE,GAAG,CAAC,UAAU,EAAE,QAAQ;YAClC,OAAO,EAAE,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE;YAC/C,QAAQ,EAAE,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE;YACjD,QAAQ,EAAE,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE;YACjD,mBAAmB,EAAE,GAAG,CAAC,UAAU,EAAE,mBAAmB;YACxD,gBAAgB,EAAE,GAAG,CAAC,UAAU,EAAE,gBAAgB;YAClD,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,MAAM;SAC/B,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,67 @@
1
+ import { z } from "zod/v4";
2
+ import { v2 } from "@datadog/datadog-api-client";
3
+ export declare const searchLogsSchema: z.ZodObject<{
4
+ query: z.ZodString;
5
+ from: z.ZodString;
6
+ to: z.ZodString;
7
+ limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
8
+ sort: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
9
+ timestamp: "timestamp";
10
+ "-timestamp": "-timestamp";
11
+ }>>>;
12
+ indexes: z.ZodOptional<z.ZodArray<z.ZodString>>;
13
+ }, z.core.$strip>;
14
+ export declare function searchLogs(params: z.infer<typeof searchLogsSchema>): Promise<{
15
+ count: number;
16
+ logs: {
17
+ id: string | undefined;
18
+ timestamp: string | undefined;
19
+ status: string | undefined;
20
+ service: string | undefined;
21
+ message: string | undefined;
22
+ host: string | undefined;
23
+ tags: string[] | undefined;
24
+ attributes: {
25
+ [key: string]: any;
26
+ } | undefined;
27
+ }[];
28
+ }>;
29
+ export declare const aggregateLogsSchema: z.ZodObject<{
30
+ query: z.ZodString;
31
+ from: z.ZodString;
32
+ to: z.ZodString;
33
+ aggregation: z.ZodEnum<{
34
+ count: "count";
35
+ cardinality: "cardinality";
36
+ avg: "avg";
37
+ sum: "sum";
38
+ min: "min";
39
+ max: "max";
40
+ pc75: "pc75";
41
+ pc90: "pc90";
42
+ pc95: "pc95";
43
+ pc98: "pc98";
44
+ pc99: "pc99";
45
+ }>;
46
+ metric: z.ZodOptional<z.ZodString>;
47
+ groupBy: z.ZodOptional<z.ZodString>;
48
+ }, z.core.$strip>;
49
+ export declare function aggregateLogs(params: z.infer<typeof aggregateLogsSchema>): Promise<{
50
+ buckets: v2.LogsAggregateBucket[];
51
+ meta: v2.LogsResponseMetadata | undefined;
52
+ }>;
53
+ export declare const sendLogsSchema: z.ZodObject<{
54
+ logs: z.ZodArray<z.ZodObject<{
55
+ message: z.ZodString;
56
+ service: z.ZodOptional<z.ZodString>;
57
+ hostname: z.ZodOptional<z.ZodString>;
58
+ ddsource: z.ZodOptional<z.ZodString>;
59
+ ddtags: z.ZodOptional<z.ZodString>;
60
+ status: z.ZodOptional<z.ZodString>;
61
+ }, z.core.$strip>>;
62
+ }, z.core.$strip>;
63
+ export declare function sendLogs(params: z.infer<typeof sendLogsSchema>): Promise<{
64
+ success: boolean;
65
+ count: number;
66
+ }>;
67
+ //# sourceMappingURL=logs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../src/tools/logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AAIjD,eAAO,MAAM,gBAAgB;;;;;;;;;;iBAO3B,CAAC;AAEH,wBAAsB,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC;;;;;;;;;;;;;;GAwBxE;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;iBAO9B,CAAC;AAEH,wBAAsB,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC;;;GA+B9E;AAED,eAAO,MAAM,cAAc;;;;;;;;;iBASzB,CAAC;AAEH,wBAAsB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC;;;GAiBpE"}
@@ -0,0 +1,98 @@
1
+ import { z } from "zod/v4";
2
+ import { v2 } from "@datadog/datadog-api-client";
3
+ import { logsApi, logsV1Api } from "../client.js";
4
+ import { assertWriteAllowed } from "./utils.js";
5
+ export const searchLogsSchema = z.object({
6
+ query: z.string().describe("Datadog log query. Example: service:us-app-prod status:error @http.status_code:[500 TO 599]"),
7
+ from: z.string().describe("Start time (ISO 8601). Example: 2026-02-26T00:00:00Z"),
8
+ to: z.string().describe("End time (ISO 8601). Example: 2026-02-26T23:59:59Z"),
9
+ limit: z.number().optional().default(50).describe("Max results (default 50, max 1000)"),
10
+ sort: z.enum(["timestamp", "-timestamp"]).optional().default("-timestamp").describe("Sort order: -timestamp (newest first) or timestamp (oldest first)"),
11
+ indexes: z.array(z.string()).optional().describe("Log indexes to search. Example: [\"main\"]"),
12
+ });
13
+ export async function searchLogs(params) {
14
+ const response = await logsApi.listLogsGet({
15
+ filterQuery: params.query,
16
+ filterFrom: new Date(params.from),
17
+ filterTo: new Date(params.to),
18
+ filterIndexes: params.indexes,
19
+ pageLimit: params.limit,
20
+ sort: params.sort === "timestamp" ? "timestamp" : "-timestamp",
21
+ });
22
+ const logs = response.data ?? [];
23
+ return {
24
+ count: logs.length,
25
+ logs: logs.map((log) => ({
26
+ id: log.id,
27
+ timestamp: log.attributes?.timestamp?.toISOString(),
28
+ status: log.attributes?.status,
29
+ service: log.attributes?.service,
30
+ message: log.attributes?.message,
31
+ host: log.attributes?.host,
32
+ tags: log.attributes?.tags,
33
+ attributes: log.attributes?.attributes,
34
+ })),
35
+ };
36
+ }
37
+ export const aggregateLogsSchema = z.object({
38
+ query: z.string().describe("Log filter query. Example: service:api-server status:error"),
39
+ from: z.string().describe("Start time (ISO 8601). Example: 2026-02-26T00:00:00Z"),
40
+ to: z.string().describe("End time (ISO 8601). Example: 2026-02-26T23:59:59Z"),
41
+ aggregation: z.enum(["count", "cardinality", "avg", "sum", "min", "max", "pc75", "pc90", "pc95", "pc98", "pc99"]).describe("Aggregation function. Example: count"),
42
+ metric: z.string().optional().describe("Metric field for non-count aggregations. Example: @duration or @http.response_time"),
43
+ groupBy: z.string().optional().describe("Field to group by. Example: service or status or @http.status_code"),
44
+ });
45
+ export async function aggregateLogs(params) {
46
+ const compute = new v2.LogsCompute();
47
+ compute.aggregation = params.aggregation;
48
+ compute.type = "total";
49
+ if (params.metric) {
50
+ compute.metric = params.metric;
51
+ }
52
+ const filter = new v2.LogsQueryFilter();
53
+ filter.query = params.query;
54
+ filter.from = params.from;
55
+ filter.to = params.to;
56
+ const body = new v2.LogsAggregateRequest();
57
+ body.compute = [compute];
58
+ body.filter = filter;
59
+ if (params.groupBy) {
60
+ const groupBy = new v2.LogsGroupBy();
61
+ groupBy.facet = params.groupBy;
62
+ groupBy.limit = 10;
63
+ body.groupBy = [groupBy];
64
+ }
65
+ const response = await logsApi.aggregateLogs({ body });
66
+ return {
67
+ buckets: response.data?.buckets ?? [],
68
+ meta: response.meta,
69
+ };
70
+ }
71
+ export const sendLogsSchema = z.object({
72
+ logs: z.array(z.object({
73
+ message: z.string().describe("Log message content"),
74
+ service: z.string().optional().describe("Service name. Example: my-api"),
75
+ hostname: z.string().optional().describe("Originating host. Example: ip-10-0-1-42"),
76
+ ddsource: z.string().optional().describe("Source integration name. Example: nodejs"),
77
+ ddtags: z.string().optional().describe("Tags (comma-separated). Example: env:prod,version:1.2.3"),
78
+ status: z.string().optional().describe("Log status. Example: info, warn, error"),
79
+ })).describe("Array of log entries to send"),
80
+ });
81
+ export async function sendLogs(params) {
82
+ assertWriteAllowed();
83
+ const response = await logsV1Api.submitLog({
84
+ body: params.logs.map((log) => ({
85
+ message: log.message,
86
+ service: log.service,
87
+ hostname: log.hostname,
88
+ ddsource: log.ddsource,
89
+ ddtags: log.ddtags,
90
+ ...(log.status ? { status: log.status } : {}),
91
+ })),
92
+ });
93
+ return {
94
+ success: true,
95
+ count: params.logs.length,
96
+ };
97
+ }
98
+ //# sourceMappingURL=logs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/tools/logs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import { z } from "zod/v4";
2
+ export declare const queryMetricsSchema: z.ZodObject<{
3
+ query: z.ZodString;
4
+ from: z.ZodNumber;
5
+ to: z.ZodNumber;
6
+ }, z.core.$strip>;
7
+ export declare function queryMetrics(params: z.infer<typeof queryMetricsSchema>): Promise<{
8
+ query: string | undefined;
9
+ from: string | undefined;
10
+ to: string | undefined;
11
+ seriesCount: number;
12
+ series: {
13
+ metric: string | undefined;
14
+ displayName: string | undefined;
15
+ unit: [import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").MetricsQueryUnit, import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").MetricsQueryUnit] | undefined;
16
+ scope: string | undefined;
17
+ expression: string | undefined;
18
+ pointCount: number;
19
+ points: {
20
+ timestamp: string;
21
+ value: number;
22
+ }[] | undefined;
23
+ }[];
24
+ }>;
25
+ export declare const getMetricsSchema: z.ZodObject<{
26
+ q: z.ZodString;
27
+ }, z.core.$strip>;
28
+ export declare function getMetrics(params: z.infer<typeof getMetricsSchema>): Promise<{
29
+ metrics: string[];
30
+ }>;
31
+ export declare const getMetricMetadataSchema: z.ZodObject<{
32
+ metricName: z.ZodString;
33
+ }, z.core.$strip>;
34
+ export declare function getMetricMetadata(params: z.infer<typeof getMetricMetadataSchema>): Promise<{
35
+ name: string;
36
+ description: string | undefined;
37
+ type: string | undefined;
38
+ unit: string | undefined;
39
+ perUnit: string | undefined;
40
+ shortName: string | undefined;
41
+ integration: string | undefined;
42
+ statsdInterval: number | undefined;
43
+ }>;
44
+ export declare const listActiveMetricsSchema: z.ZodObject<{
45
+ from: z.ZodNumber;
46
+ host: z.ZodOptional<z.ZodString>;
47
+ tagFilter: z.ZodOptional<z.ZodString>;
48
+ }, z.core.$strip>;
49
+ export declare function listActiveMetrics(params: z.infer<typeof listActiveMetricsSchema>): Promise<{
50
+ metrics: string[];
51
+ from: string | undefined;
52
+ }>;
53
+ export declare const listMetricTagsSchema: z.ZodObject<{
54
+ metricName: z.ZodString;
55
+ windowSeconds: z.ZodOptional<z.ZodNumber>;
56
+ }, z.core.$strip>;
57
+ export declare function listMetricTags(params: z.infer<typeof listMetricTagsSchema>): Promise<{
58
+ metric: string;
59
+ tags: string[];
60
+ }>;
61
+ //# sourceMappingURL=metrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/tools/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,eAAO,MAAM,kBAAkB;;;;iBAI7B,CAAC;AAEH,wBAAsB,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC;;;;;;;;;;;;;;;;;GA4B5E;AAED,eAAO,MAAM,gBAAgB;;iBAE3B,CAAC;AAEH,wBAAsB,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC;;GAQxE;AAED,eAAO,MAAM,uBAAuB;;iBAElC,CAAC;AAEH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC;;;;;;;;;GAetF;AAED,eAAO,MAAM,uBAAuB;;;;iBAIlC,CAAC;AAEH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC;;;GAWtF;AAED,eAAO,MAAM,oBAAoB;;;iBAG/B,CAAC;AAEH,wBAAsB,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC;;;GAUhF"}
@@ -0,0 +1,94 @@
1
+ import { z } from "zod/v4";
2
+ import { metricsApi, metricsV2Api } from "../client.js";
3
+ export const queryMetricsSchema = z.object({
4
+ query: z.string().describe("Datadog metric query string. Example: avg:system.cpu.user{host:myhost} by {env}"),
5
+ from: z.number().describe("Start time as Unix epoch seconds. Example: 1740000000"),
6
+ to: z.number().describe("End time as Unix epoch seconds. Example: 1740003600"),
7
+ });
8
+ export async function queryMetrics(params) {
9
+ const response = await metricsApi.queryMetrics({
10
+ from: params.from,
11
+ to: params.to,
12
+ query: params.query,
13
+ });
14
+ const series = response.series ?? [];
15
+ const results = series.map((s) => ({
16
+ metric: s.metric,
17
+ displayName: s.displayName,
18
+ unit: s.unit,
19
+ scope: s.scope,
20
+ expression: s.expression,
21
+ pointCount: s.pointlist?.length ?? 0,
22
+ points: s.pointlist?.map(([ts, val]) => ({
23
+ timestamp: new Date((ts ?? 0) * 1000).toISOString(),
24
+ value: val,
25
+ })),
26
+ }));
27
+ return {
28
+ query: response.query,
29
+ from: response.fromDate ? new Date(response.fromDate).toISOString() : undefined,
30
+ to: response.toDate ? new Date(response.toDate).toISOString() : undefined,
31
+ seriesCount: series.length,
32
+ series: results,
33
+ };
34
+ }
35
+ export const getMetricsSchema = z.object({
36
+ q: z.string().describe("Search query to filter metrics by name. Example: system.cpu"),
37
+ });
38
+ export async function getMetrics(params) {
39
+ const response = await metricsApi.listMetrics({
40
+ q: params.q,
41
+ });
42
+ return {
43
+ metrics: response.results?.metrics ?? [],
44
+ };
45
+ }
46
+ export const getMetricMetadataSchema = z.object({
47
+ metricName: z.string().describe("Full metric name. Example: system.cpu.user"),
48
+ });
49
+ export async function getMetricMetadata(params) {
50
+ const response = await metricsApi.getMetricMetadata({
51
+ metricName: params.metricName,
52
+ });
53
+ return {
54
+ name: params.metricName,
55
+ description: response.description,
56
+ type: response.type,
57
+ unit: response.unit,
58
+ perUnit: response.perUnit,
59
+ shortName: response.shortName,
60
+ integration: response.integration,
61
+ statsdInterval: response.statsdInterval,
62
+ };
63
+ }
64
+ export const listActiveMetricsSchema = z.object({
65
+ from: z.number().describe("Unix epoch seconds — metrics active since this time. Example: 1740000000"),
66
+ host: z.string().optional().describe("Filter by hostname. Example: i-0123456789abcdef0"),
67
+ tagFilter: z.string().optional().describe("Filter by tag. Example: env:prod"),
68
+ });
69
+ export async function listActiveMetrics(params) {
70
+ const response = await metricsApi.listActiveMetrics({
71
+ from: params.from,
72
+ host: params.host,
73
+ tagFilter: params.tagFilter,
74
+ });
75
+ return {
76
+ metrics: response.metrics ?? [],
77
+ from: response.from,
78
+ };
79
+ }
80
+ export const listMetricTagsSchema = z.object({
81
+ metricName: z.string().describe("Full metric name. Example: system.cpu.user"),
82
+ windowSeconds: z.number().optional().describe("Look-back window in seconds (default: 14400 = 4h, min: 14400). Example: 86400"),
83
+ });
84
+ export async function listMetricTags(params) {
85
+ const response = await metricsV2Api.listTagsByMetricName({
86
+ metricName: params.metricName,
87
+ windowSeconds: params.windowSeconds,
88
+ });
89
+ return {
90
+ metric: params.metricName,
91
+ tags: response.data?.attributes?.tags ?? [],
92
+ };
93
+ }
94
+ //# sourceMappingURL=metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/tools/metrics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ import { z } from "zod/v4";
2
+ export declare const getMonitorsSchema: z.ZodObject<{
3
+ name: z.ZodOptional<z.ZodString>;
4
+ tags: z.ZodOptional<z.ZodString>;
5
+ monitorTags: z.ZodOptional<z.ZodString>;
6
+ groupStates: z.ZodOptional<z.ZodString>;
7
+ pageSize: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
8
+ page: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
9
+ }, z.core.$strip>;
10
+ export declare function getMonitors(params: z.infer<typeof getMonitorsSchema>): Promise<{
11
+ id: number | undefined;
12
+ name: string | undefined;
13
+ type: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").MonitorType;
14
+ query: string;
15
+ message: string | undefined;
16
+ overallState: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").MonitorOverallStates | undefined;
17
+ tags: string[] | undefined;
18
+ created: string | undefined;
19
+ modified: string | undefined;
20
+ creator: string | undefined;
21
+ }[]>;
22
+ export declare const getMonitorSchema: z.ZodObject<{
23
+ monitorId: z.ZodNumber;
24
+ groupStates: z.ZodOptional<z.ZodString>;
25
+ }, z.core.$strip>;
26
+ export declare function getMonitor(params: z.infer<typeof getMonitorSchema>): Promise<{
27
+ id: number | undefined;
28
+ name: string | undefined;
29
+ type: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").MonitorType;
30
+ query: string;
31
+ message: string | undefined;
32
+ overallState: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").MonitorOverallStates | undefined;
33
+ tags: string[] | undefined;
34
+ options: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").MonitorOptions | undefined;
35
+ created: string | undefined;
36
+ modified: string | undefined;
37
+ creator: string | undefined;
38
+ state: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").MonitorState | undefined;
39
+ }>;
40
+ export declare const createMonitorSchema: z.ZodObject<{
41
+ name: z.ZodString;
42
+ type: z.ZodString;
43
+ query: z.ZodString;
44
+ message: z.ZodOptional<z.ZodString>;
45
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
46
+ priority: z.ZodOptional<z.ZodNumber>;
47
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
48
+ }, z.core.$strip>;
49
+ export declare function createMonitor(params: z.infer<typeof createMonitorSchema>): Promise<{
50
+ id: number | undefined;
51
+ name: string | undefined;
52
+ type: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").MonitorType;
53
+ query: string;
54
+ overallState: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").MonitorOverallStates | undefined;
55
+ created: string | undefined;
56
+ }>;
57
+ export declare const updateMonitorSchema: z.ZodObject<{
58
+ monitorId: z.ZodNumber;
59
+ name: z.ZodOptional<z.ZodString>;
60
+ query: z.ZodOptional<z.ZodString>;
61
+ message: z.ZodOptional<z.ZodString>;
62
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
63
+ priority: z.ZodOptional<z.ZodNumber>;
64
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
65
+ }, z.core.$strip>;
66
+ export declare function updateMonitor(params: z.infer<typeof updateMonitorSchema>): Promise<{
67
+ id: number | undefined;
68
+ name: string | undefined;
69
+ type: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").MonitorType;
70
+ query: string;
71
+ overallState: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").MonitorOverallStates | undefined;
72
+ modified: string | undefined;
73
+ }>;
74
+ export declare const deleteMonitorSchema: z.ZodObject<{
75
+ monitorId: z.ZodNumber;
76
+ force: z.ZodOptional<z.ZodBoolean>;
77
+ }, z.core.$strip>;
78
+ export declare function deleteMonitor(params: z.infer<typeof deleteMonitorSchema>): Promise<{
79
+ deletedMonitorId: number | undefined;
80
+ }>;
81
+ export declare const muteMonitorSchema: z.ZodObject<{
82
+ monitorId: z.ZodNumber;
83
+ scope: z.ZodOptional<z.ZodString>;
84
+ end: z.ZodOptional<z.ZodNumber>;
85
+ }, z.core.$strip>;
86
+ export declare function muteMonitor(params: z.infer<typeof muteMonitorSchema>): Promise<{
87
+ id: number | undefined;
88
+ name: string | undefined;
89
+ overallState: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").MonitorOverallStates | undefined;
90
+ options: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").MonitorOptions | undefined;
91
+ }>;
92
+ //# sourceMappingURL=monitors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monitors.d.ts","sourceRoot":"","sources":["../../src/tools/monitors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAI3B,eAAO,MAAM,iBAAiB;;;;;;;iBAO5B,CAAC;AAEH,wBAAsB,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC;;;;;;;;;;;KAsB1E;AAED,eAAO,MAAM,gBAAgB;;;iBAG3B,CAAC;AAEH,wBAAsB,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC;;;;;;;;;;;;;GAoBxE;AAED,eAAO,MAAM,mBAAmB;;;;;;;;iBAQ9B,CAAC;AAEH,wBAAsB,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC;;;;;;;GAsB9E;AAED,eAAO,MAAM,mBAAmB;;;;;;;;iBAQ9B,CAAC;AAEH,wBAAsB,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC;;;;;;;GAuB9E;AAED,eAAO,MAAM,mBAAmB;;;iBAG9B,CAAC;AAEH,wBAAsB,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC;;GAU9E;AAED,eAAO,MAAM,iBAAiB;;;;iBAI5B,CAAC;AAEH,wBAAsB,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC;;;;;GAiB1E"}