dd-mcp-server 1.0.0 → 1.0.1
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/dist/index.js +1 -5
- package/dist/index.js.map +1 -1
- package/dist/tools/logs.d.ts +0 -9
- package/dist/tools/logs.d.ts.map +1 -1
- package/dist/tools/logs.js +0 -18
- package/dist/tools/logs.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +0 -12
- package/src/tools/logs.ts +0 -42
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
3
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
4
|
import { initializeClient } from "./datadog/client.js";
|
|
5
|
-
import { searchLogs, searchLogsSchema,
|
|
5
|
+
import { searchLogs, searchLogsSchema, } from "./tools/logs.js";
|
|
6
6
|
import { listMonitors, listMonitorsSchema, getMonitor, getMonitorSchema, createMonitor, createMonitorSchema, updateMonitor, updateMonitorSchema, deleteMonitor, deleteMonitorSchema, muteMonitor, muteMonitorSchema, unmuteMonitor, unmuteMonitorSchema, } from "./tools/monitors.js";
|
|
7
7
|
import { listDashboards, listDashboardsSchema, getDashboard, getDashboardSchema, } from "./tools/dashboards.js";
|
|
8
8
|
const server = new McpServer({
|
|
@@ -14,10 +14,6 @@ server.tool("search_logs", "Search and retrieve logs from Datadog", searchLogsSc
|
|
|
14
14
|
const result = await searchLogs(input);
|
|
15
15
|
return { content: [{ type: "text", text: result }] };
|
|
16
16
|
});
|
|
17
|
-
server.tool("get_log", "Get details of a specific log by ID", getLogSchema.shape, async (input) => {
|
|
18
|
-
const result = await getLog(input);
|
|
19
|
-
return { content: [{ type: "text", text: result }] };
|
|
20
|
-
});
|
|
21
17
|
// Monitor tools
|
|
22
18
|
server.tool("list_monitors", "List all monitors with optional filtering", listMonitorsSchema.shape, async (input) => {
|
|
23
19
|
const result = await listMonitors(input);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EACL,UAAU,EACV,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/logs.d.ts
CHANGED
|
@@ -23,13 +23,4 @@ export declare const searchLogsSchema: z.ZodObject<{
|
|
|
23
23
|
}>;
|
|
24
24
|
export type SearchLogsInput = z.infer<typeof searchLogsSchema>;
|
|
25
25
|
export declare function searchLogs(input: SearchLogsInput): Promise<string>;
|
|
26
|
-
export declare const getLogSchema: z.ZodObject<{
|
|
27
|
-
logId: z.ZodString;
|
|
28
|
-
}, "strip", z.ZodTypeAny, {
|
|
29
|
-
logId: string;
|
|
30
|
-
}, {
|
|
31
|
-
logId: string;
|
|
32
|
-
}>;
|
|
33
|
-
export type GetLogInput = z.infer<typeof getLogSchema>;
|
|
34
|
-
export declare function getLog(input: GetLogInput): Promise<string>;
|
|
35
26
|
//# sourceMappingURL=logs.d.ts.map
|
package/dist/tools/logs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../src/tools/logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;EAO3B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAuB/D,wBAAsB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAgCxE
|
|
1
|
+
{"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../src/tools/logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;EAO3B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAuB/D,wBAAsB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAgCxE"}
|
package/dist/tools/logs.js
CHANGED
|
@@ -34,22 +34,4 @@ export async function searchLogs(input) {
|
|
|
34
34
|
}));
|
|
35
35
|
return JSON.stringify({ logs, count: logs.length }, null, 2);
|
|
36
36
|
}
|
|
37
|
-
export const getLogSchema = z.object({
|
|
38
|
-
logId: z.string().describe("The unique ID of the log to retrieve"),
|
|
39
|
-
});
|
|
40
|
-
export async function getLog(input) {
|
|
41
|
-
const client = getClient();
|
|
42
|
-
const response = await client.get(`/api/v2/logs/events/${input.logId}`);
|
|
43
|
-
const log = response.data;
|
|
44
|
-
return JSON.stringify({
|
|
45
|
-
id: log.id,
|
|
46
|
-
timestamp: log.attributes.timestamp,
|
|
47
|
-
message: log.attributes.message,
|
|
48
|
-
status: log.attributes.status,
|
|
49
|
-
service: log.attributes.service,
|
|
50
|
-
host: log.attributes.host,
|
|
51
|
-
tags: log.attributes.tags,
|
|
52
|
-
attributes: log.attributes.attributes,
|
|
53
|
-
}, null, 2);
|
|
54
|
-
}
|
|
55
37
|
//# sourceMappingURL=logs.js.map
|
package/dist/tools/logs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/tools/logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC;IAC7F,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC;IAC5F,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4DAA4D,CAAC;IACrF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,2DAA2D,CAAC;IAC9G,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,uEAAuE,CAAC;IAC5J,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;CACxE,CAAC,CAAC;AAyBH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAsB;IACrD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,IAAI,GAAG;QACX,MAAM,EAAE;YACN,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;SAC/C;QACD,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE;YACJ,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC;SACnC;KACF,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAChC,4BAA4B,EAC5B,IAAI,CACL,CAAC;IAEF,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACvC,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,SAAS;QACnC,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC,OAAO;QAC/B,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM;QAC7B,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC,OAAO;QAC/B,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI;QACzB,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI;KAC1B,CAAC,CAAC,CAAC;IAEJ,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC/D,CAAC
|
|
1
|
+
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/tools/logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC;IAC7F,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC;IAC5F,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4DAA4D,CAAC;IACrF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,2DAA2D,CAAC;IAC9G,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,uEAAuE,CAAC;IAC5J,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;CACxE,CAAC,CAAC;AAyBH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAsB;IACrD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,IAAI,GAAG;QACX,MAAM,EAAE;YACN,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;SAC/C;QACD,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE;YACJ,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC;SACnC;KACF,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAChC,4BAA4B,EAC5B,IAAI,CACL,CAAC;IAEF,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACvC,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,SAAS;QACnC,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC,OAAO;QAC/B,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM;QAC7B,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC,OAAO;QAC/B,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI;QACzB,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI;KAC1B,CAAC,CAAC,CAAC;IAEJ,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC/D,CAAC"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -6,8 +6,6 @@ import { initializeClient } from "./datadog/client.js";
|
|
|
6
6
|
import {
|
|
7
7
|
searchLogs,
|
|
8
8
|
searchLogsSchema,
|
|
9
|
-
getLog,
|
|
10
|
-
getLogSchema,
|
|
11
9
|
} from "./tools/logs.js";
|
|
12
10
|
import {
|
|
13
11
|
listMonitors,
|
|
@@ -48,16 +46,6 @@ server.tool(
|
|
|
48
46
|
}
|
|
49
47
|
);
|
|
50
48
|
|
|
51
|
-
server.tool(
|
|
52
|
-
"get_log",
|
|
53
|
-
"Get details of a specific log by ID",
|
|
54
|
-
getLogSchema.shape,
|
|
55
|
-
async (input) => {
|
|
56
|
-
const result = await getLog(input);
|
|
57
|
-
return { content: [{ type: "text", text: result }] };
|
|
58
|
-
}
|
|
59
|
-
);
|
|
60
|
-
|
|
61
49
|
// Monitor tools
|
|
62
50
|
server.tool(
|
|
63
51
|
"list_monitors",
|
package/src/tools/logs.ts
CHANGED
|
@@ -66,45 +66,3 @@ export async function searchLogs(input: SearchLogsInput): Promise<string> {
|
|
|
66
66
|
|
|
67
67
|
return JSON.stringify({ logs, count: logs.length }, null, 2);
|
|
68
68
|
}
|
|
69
|
-
|
|
70
|
-
export const getLogSchema = z.object({
|
|
71
|
-
logId: z.string().describe("The unique ID of the log to retrieve"),
|
|
72
|
-
});
|
|
73
|
-
|
|
74
|
-
export type GetLogInput = z.infer<typeof getLogSchema>;
|
|
75
|
-
|
|
76
|
-
interface LogResponse {
|
|
77
|
-
data: {
|
|
78
|
-
id: string;
|
|
79
|
-
type: string;
|
|
80
|
-
attributes: {
|
|
81
|
-
timestamp: string;
|
|
82
|
-
message: string;
|
|
83
|
-
status: string;
|
|
84
|
-
service: string;
|
|
85
|
-
host: string;
|
|
86
|
-
tags: string[];
|
|
87
|
-
attributes: Record<string, unknown>;
|
|
88
|
-
};
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
export async function getLog(input: GetLogInput): Promise<string> {
|
|
93
|
-
const client = getClient();
|
|
94
|
-
|
|
95
|
-
const response = await client.get<LogResponse>(
|
|
96
|
-
`/api/v2/logs/events/${input.logId}`
|
|
97
|
-
);
|
|
98
|
-
|
|
99
|
-
const log = response.data;
|
|
100
|
-
return JSON.stringify({
|
|
101
|
-
id: log.id,
|
|
102
|
-
timestamp: log.attributes.timestamp,
|
|
103
|
-
message: log.attributes.message,
|
|
104
|
-
status: log.attributes.status,
|
|
105
|
-
service: log.attributes.service,
|
|
106
|
-
host: log.attributes.host,
|
|
107
|
-
tags: log.attributes.tags,
|
|
108
|
-
attributes: log.attributes.attributes,
|
|
109
|
-
}, null, 2);
|
|
110
|
-
}
|