datadog-mcp 5.3.2 → 5.3.3
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 +34 -7
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -5607,6 +5607,24 @@ function createServer(config) {
|
|
|
5607
5607
|
);
|
|
5608
5608
|
return server;
|
|
5609
5609
|
}
|
|
5610
|
+
function createServerFactory(config) {
|
|
5611
|
+
const clients = createDatadogClients(config.datadog);
|
|
5612
|
+
return () => {
|
|
5613
|
+
const server = new McpServer({
|
|
5614
|
+
name: config.server.name,
|
|
5615
|
+
version: config.server.version
|
|
5616
|
+
});
|
|
5617
|
+
registerAllTools(
|
|
5618
|
+
server,
|
|
5619
|
+
clients,
|
|
5620
|
+
config.limits,
|
|
5621
|
+
config.features,
|
|
5622
|
+
config.datadog.site,
|
|
5623
|
+
config.datadog
|
|
5624
|
+
);
|
|
5625
|
+
return server;
|
|
5626
|
+
};
|
|
5627
|
+
}
|
|
5610
5628
|
|
|
5611
5629
|
// src/transport/stdio.ts
|
|
5612
5630
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
@@ -5621,11 +5639,11 @@ import express from "express";
|
|
|
5621
5639
|
import { randomUUID } from "crypto";
|
|
5622
5640
|
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
|
|
5623
5641
|
import { isInitializeRequest } from "@modelcontextprotocol/sdk/types.js";
|
|
5624
|
-
|
|
5625
|
-
function createExpressApp(server, config) {
|
|
5642
|
+
function createExpressApp(createServer2, config) {
|
|
5626
5643
|
const app = express();
|
|
5627
5644
|
app.disable("x-powered-by");
|
|
5628
5645
|
app.use(express.json());
|
|
5646
|
+
const transports = {};
|
|
5629
5647
|
app.get("/health", (_req, res) => {
|
|
5630
5648
|
res.json({ status: "ok", name: config.name, version: config.version });
|
|
5631
5649
|
});
|
|
@@ -5648,7 +5666,15 @@ function createExpressApp(server, config) {
|
|
|
5648
5666
|
console.error(`[MCP] Session closed: ${transport.sessionId}`);
|
|
5649
5667
|
}
|
|
5650
5668
|
};
|
|
5651
|
-
|
|
5669
|
+
try {
|
|
5670
|
+
const server = createServer2();
|
|
5671
|
+
await server.connect(transport);
|
|
5672
|
+
} catch (error) {
|
|
5673
|
+
if (transport.sessionId) {
|
|
5674
|
+
delete transports[transport.sessionId];
|
|
5675
|
+
}
|
|
5676
|
+
throw error;
|
|
5677
|
+
}
|
|
5652
5678
|
} else {
|
|
5653
5679
|
res.status(400).json({
|
|
5654
5680
|
jsonrpc: "2.0",
|
|
@@ -5679,8 +5705,8 @@ function createExpressApp(server, config) {
|
|
|
5679
5705
|
});
|
|
5680
5706
|
return app;
|
|
5681
5707
|
}
|
|
5682
|
-
async function connectHttp(
|
|
5683
|
-
const app = createExpressApp(
|
|
5708
|
+
async function connectHttp(createServer2, config) {
|
|
5709
|
+
const app = createExpressApp(createServer2, config);
|
|
5684
5710
|
app.listen(config.port, config.host, () => {
|
|
5685
5711
|
console.error(`[MCP] Datadog MCP server running on http://${config.host}:${config.port}/mcp`);
|
|
5686
5712
|
console.error(`[MCP] Health check available at http://${config.host}:${config.port}/health`);
|
|
@@ -5690,10 +5716,11 @@ async function connectHttp(server, config) {
|
|
|
5690
5716
|
// src/index.ts
|
|
5691
5717
|
try {
|
|
5692
5718
|
const config = loadConfig();
|
|
5693
|
-
const server = createServer(config);
|
|
5694
5719
|
if (config.server.transport === "http") {
|
|
5695
|
-
|
|
5720
|
+
const factory = createServerFactory(config);
|
|
5721
|
+
await connectHttp(factory, config.server);
|
|
5696
5722
|
} else {
|
|
5723
|
+
const server = createServer(config);
|
|
5697
5724
|
await connectStdio(server);
|
|
5698
5725
|
}
|
|
5699
5726
|
} catch (error) {
|