@calltelemetry/ct-lab-mcp 0.8.67 → 0.8.69

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.
@@ -99,11 +99,12 @@ export declare const ClaimSlotInputSchema: z.ZodEffects<z.ZodObject<{
99
99
  diskGb?: number | undefined;
100
100
  customTags?: string | string[] | undefined;
101
101
  requester?: string | undefined;
102
- purpose?: string | undefined;
103
102
  sessionId?: string | undefined;
103
+ purpose?: string | undefined;
104
104
  ttlHours?: number | undefined;
105
105
  assetId?: string | undefined;
106
106
  operationId?: string | undefined;
107
+ allowEsxiSlots?: boolean | undefined;
107
108
  receiptFile?: string | undefined;
108
109
  confirmAssetId?: string | undefined;
109
110
  claimNode?: "proxmox" | "esxi" | "minis" | undefined;
@@ -111,7 +112,6 @@ export declare const ClaimSlotInputSchema: z.ZodEffects<z.ZodObject<{
111
112
  claimVmName?: string | undefined;
112
113
  placementSeed?: string | undefined;
113
114
  targetHost?: string | undefined;
114
- allowEsxiSlots?: boolean | undefined;
115
115
  }, {
116
116
  tags?: string | string[] | undefined;
117
117
  hypervisorType?: "proxmox" | "esxi" | "any" | undefined;
@@ -130,11 +130,12 @@ export declare const ClaimSlotInputSchema: z.ZodEffects<z.ZodObject<{
130
130
  diskGb?: number | undefined;
131
131
  customTags?: string | string[] | undefined;
132
132
  requester?: string | undefined;
133
- purpose?: string | undefined;
134
133
  sessionId?: string | undefined;
134
+ purpose?: string | undefined;
135
135
  ttlHours?: number | undefined;
136
136
  assetId?: string | undefined;
137
137
  operationId?: string | undefined;
138
+ allowEsxiSlots?: boolean | undefined;
138
139
  apply?: boolean | undefined;
139
140
  receiptFile?: string | undefined;
140
141
  confirmAssetId?: string | undefined;
@@ -145,7 +146,6 @@ export declare const ClaimSlotInputSchema: z.ZodEffects<z.ZodObject<{
145
146
  placementSeed?: string | undefined;
146
147
  targetHost?: string | undefined;
147
148
  purgeIfFull?: boolean | undefined;
148
- allowEsxiSlots?: boolean | undefined;
149
149
  }>, {
150
150
  hypervisorType: "proxmox" | "esxi" | "any";
151
151
  durationMinutes: number;
@@ -167,11 +167,12 @@ export declare const ClaimSlotInputSchema: z.ZodEffects<z.ZodObject<{
167
167
  diskGb?: number | undefined;
168
168
  customTags?: string | string[] | undefined;
169
169
  requester?: string | undefined;
170
- purpose?: string | undefined;
171
170
  sessionId?: string | undefined;
171
+ purpose?: string | undefined;
172
172
  ttlHours?: number | undefined;
173
173
  assetId?: string | undefined;
174
174
  operationId?: string | undefined;
175
+ allowEsxiSlots?: boolean | undefined;
175
176
  receiptFile?: string | undefined;
176
177
  confirmAssetId?: string | undefined;
177
178
  claimNode?: "proxmox" | "esxi" | "minis" | undefined;
@@ -179,7 +180,6 @@ export declare const ClaimSlotInputSchema: z.ZodEffects<z.ZodObject<{
179
180
  claimVmName?: string | undefined;
180
181
  placementSeed?: string | undefined;
181
182
  targetHost?: string | undefined;
182
- allowEsxiSlots?: boolean | undefined;
183
183
  }, {
184
184
  tags?: string | string[] | undefined;
185
185
  hypervisorType?: "proxmox" | "esxi" | "any" | undefined;
@@ -198,11 +198,12 @@ export declare const ClaimSlotInputSchema: z.ZodEffects<z.ZodObject<{
198
198
  diskGb?: number | undefined;
199
199
  customTags?: string | string[] | undefined;
200
200
  requester?: string | undefined;
201
- purpose?: string | undefined;
202
201
  sessionId?: string | undefined;
202
+ purpose?: string | undefined;
203
203
  ttlHours?: number | undefined;
204
204
  assetId?: string | undefined;
205
205
  operationId?: string | undefined;
206
+ allowEsxiSlots?: boolean | undefined;
206
207
  apply?: boolean | undefined;
207
208
  receiptFile?: string | undefined;
208
209
  confirmAssetId?: string | undefined;
@@ -213,7 +214,6 @@ export declare const ClaimSlotInputSchema: z.ZodEffects<z.ZodObject<{
213
214
  placementSeed?: string | undefined;
214
215
  targetHost?: string | undefined;
215
216
  purgeIfFull?: boolean | undefined;
216
- allowEsxiSlots?: boolean | undefined;
217
217
  }>;
218
218
  export type ClaimSlotInput = z.infer<typeof ClaimSlotInputSchema>;
219
219
  export type ClaimSlotRawInput = z.input<typeof ClaimSlotInputSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../../../src/transports/sse.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAqB,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE7E,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAYnE,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAC3C,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,OAAO,CAAC;IACb,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACrC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,uBAAuB,EAAE,SAAS,GAAG,CAAC,MAAM,SAAS,CAAC,EACtD,OAAO,GAAE,gBAAqB,GAC7B,iBAAiB,CAuRnB"}
1
+ {"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../../../src/transports/sse.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAqB,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE7E,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAKnE,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAC3C,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,OAAO,CAAC;IACb,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACrC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,uBAAuB,EAAE,SAAS,GAAG,CAAC,MAAM,SAAS,CAAC,EACtD,OAAO,GAAE,gBAAqB,GAC7B,iBAAiB,CA8TnB"}
@@ -5,19 +5,9 @@
5
5
  */
6
6
  import { SSEServerTransport } from "@modelcontextprotocol/sdk/server/sse.js";
7
7
  import { createMcpExpressApp } from "@modelcontextprotocol/sdk/server/express.js";
8
- import fs from "node:fs";
9
- import path from "node:path";
10
- import { fileURLToPath } from "node:url";
8
+ import { RUNTIME_VERSION } from "../provenance.js";
11
9
  import { logger } from "../utils/logger.js";
12
- const __dirname = path.dirname(fileURLToPath(import.meta.url));
13
- const pkgPath = path.resolve(__dirname, "../../package.json");
14
- let pkgVersion = "0.1.2";
15
- try {
16
- if (fs.existsSync(pkgPath)) {
17
- pkgVersion = JSON.parse(fs.readFileSync(pkgPath, "utf-8")).version || "0.1.2";
18
- }
19
- }
20
- catch { }
10
+ const pkgVersion = RUNTIME_VERSION;
21
11
  /**
22
12
  * Creates an Express application and SSE server instance configured for Call Telemetry Lab MCP.
23
13
  */
@@ -31,6 +21,7 @@ export function createSseServer(serverFactoryOrInstance, options = {}) {
31
21
  : { host });
32
22
  const sessions = new Map();
33
23
  let activeHttpServer;
24
+ let isClosing = false;
34
25
  // Background session cleanup timer
35
26
  const cleanupInterval = setInterval(() => {
36
27
  const now = Date.now();
@@ -49,14 +40,19 @@ export function createSseServer(serverFactoryOrInstance, options = {}) {
49
40
  // Background caching for external hypervisor capacity checks to keep /health sub-millisecond
50
41
  let cachedHostCapacities = null;
51
42
  let isRefreshingHostCapacities = false;
43
+ let hostCapacitiesObservedAt = null;
44
+ let hostCapacityRefreshFailed = false;
52
45
  const refreshHostCapacities = async () => {
53
46
  if (isRefreshingHostCapacities || !options.hypervisorManager)
54
47
  return;
55
48
  isRefreshingHostCapacities = true;
56
49
  try {
57
- cachedHostCapacities = await options.hypervisorManager.listAllHostsCapacity();
50
+ cachedHostCapacities = await options.hypervisorManager.listAllHostsCapacity({ allowEsxiSlots: options.slotManager?.allowsEsxiSlots ?? process.env.ALLOW_ESXI_SLOTS === "true" });
51
+ hostCapacitiesObservedAt = new Date().toISOString();
52
+ hostCapacityRefreshFailed = false;
58
53
  }
59
54
  catch (err) {
55
+ hostCapacityRefreshFailed = true;
60
56
  logger.error("Failed to query hypervisor capacities in background:", err);
61
57
  }
62
58
  finally {
@@ -72,24 +68,39 @@ export function createSseServer(serverFactoryOrInstance, options = {}) {
72
68
  if (capacityRefreshInterval.unref) {
73
69
  capacityRefreshInterval.unref();
74
70
  }
71
+ const freshness = (observedAt) => {
72
+ const elapsed = observedAt ? Date.now() - Date.parse(observedAt) : NaN;
73
+ const ageMs = Number.isFinite(elapsed) ? Math.max(0, elapsed) : null;
74
+ return { ageMs, stale: ageMs === null || ageMs > 40_000, state: ageMs === null ? "unknown" : ageMs > 40_000 ? "stale" : "cached" };
75
+ };
75
76
  // 1. Health Status Endpoint (GET /health)
76
- app.get("/health", async (_req, res) => {
77
- let capacity;
78
- if (options.slotManager) {
79
- try {
80
- capacity = await options.slotManager.listHosts();
81
- }
82
- catch (err) {
83
- logger.error("Failed to query capacity for /health:", err);
84
- }
85
- }
86
- res.status(200).json({
87
- status: "healthy",
77
+ app.get("/health", (_req, res) => {
78
+ const diagnostics = options.slotManager?.getDiagnosticSnapshot?.();
79
+ const ready = Boolean(activeHttpServer?.listening && !isClosing);
80
+ res.status(ready ? 200 : 503).json({
81
+ status: ready ? "healthy" : "not_ready",
82
+ healthScope: "process",
83
+ processHealthy: true,
84
+ sessionRoutingReady: ready,
85
+ ready,
86
+ lifecycle: isClosing ? "draining" : activeHttpServer?.listening ? "listening" : "starting",
88
87
  timestamp: new Date().toISOString(),
89
88
  version: pkgVersion,
90
89
  activeSessions: sessions.size,
91
- capacity,
92
- hostCapacities: cachedHostCapacities,
90
+ capacity: diagnostics?.capacity ?? null,
91
+ capacitySource: "cached_diagnostics",
92
+ capacityObservedAt: diagnostics?.capacityObservedAt ?? null,
93
+ capacityFreshness: freshness(diagnostics?.capacityObservedAt ?? null),
94
+ hostCapacities: Array.isArray(cachedHostCapacities) ? cachedHostCapacities.map((capacity) => ({
95
+ name: capacity.name, type: capacity.type, status: capacity.status,
96
+ cpuTotalCores: capacity.cpuTotalCores, cpuUsedPercent: capacity.cpuUsedPercent,
97
+ memoryTotalBytes: capacity.memoryTotalBytes, memoryUsedBytes: capacity.memoryUsedBytes, memoryFreeBytes: capacity.memoryFreeBytes,
98
+ storageTotalBytes: capacity.storageTotalBytes, storageFreeBytes: capacity.storageFreeBytes,
99
+ })) : null,
100
+ hostCapacitiesObservedAt,
101
+ hostCapacityFreshness: freshness(hostCapacitiesObservedAt),
102
+ hostCapacityRefreshing: isRefreshingHostCapacities,
103
+ hostCapacityRefreshFailed,
93
104
  });
94
105
  });
95
106
  // 1.1 Prometheus / OpenMetrics Metrics Exporter (GET /metrics)
@@ -105,9 +116,22 @@ export function createSseServer(serverFactoryOrInstance, options = {}) {
105
116
  `ct_lab_active_sessions ${sessions.size}`,
106
117
  "",
107
118
  ];
119
+ const diagnostics = options.slotManager?.getDiagnosticSnapshot?.();
120
+ const capacityAge = freshness(diagnostics?.capacityObservedAt ?? null);
121
+ const hostAge = freshness(hostCapacitiesObservedAt);
122
+ lines.push("# HELP ct_lab_capacity_observed Whether a cached capacity observation exists");
123
+ lines.push("# TYPE ct_lab_capacity_observed gauge", `ct_lab_capacity_observed ${capacityAge.ageMs === null ? 0 : 1}`);
124
+ lines.push("# HELP ct_lab_capacity_stale Whether cached capacity is stale or unknown");
125
+ lines.push("# TYPE ct_lab_capacity_stale gauge", `ct_lab_capacity_stale ${capacityAge.stale ? 1 : 0}`);
126
+ if (capacityAge.ageMs !== null)
127
+ lines.push("# TYPE ct_lab_capacity_age_seconds gauge", `ct_lab_capacity_age_seconds ${capacityAge.ageMs / 1000}`);
128
+ lines.push("# TYPE ct_lab_host_capacity_observed gauge", `ct_lab_host_capacity_observed ${hostAge.ageMs === null ? 0 : 1}`);
129
+ lines.push("# TYPE ct_lab_host_capacity_stale gauge", `ct_lab_host_capacity_stale ${hostAge.stale ? 1 : 0}`);
130
+ if (hostAge.ageMs !== null)
131
+ lines.push("# TYPE ct_lab_host_capacity_age_seconds gauge", `ct_lab_host_capacity_age_seconds ${hostAge.ageMs / 1000}`);
108
132
  if (options.slotManager) {
109
133
  try {
110
- const hostsData = await options.slotManager.listHosts();
134
+ const hostsData = diagnostics?.capacity;
111
135
  const hostList = Array.isArray(hostsData) ? hostsData : hostsData?.hosts ? Object.values(hostsData.hosts) : [];
112
136
  lines.push("# HELP ct_lab_fleet_capacity_pure_slots Total pure hardware 8GB slots per host");
113
137
  lines.push("# TYPE ct_lab_fleet_capacity_pure_slots gauge");
@@ -133,8 +157,9 @@ export function createSseServer(serverFactoryOrInstance, options = {}) {
133
157
  lines.push(`ct_lab_fleet_capacity_allocated_slots{host="${hostId}",hypervisor="${hyp}"} ${h.allocatedSlots ?? 0}`);
134
158
  }
135
159
  lines.push("");
136
- const allSlots = await options.slotManager.listSlots();
137
- const activeCount = allSlots.filter((s) => s.status === "CLAIMED" || s.status === "active").length;
160
+ const allSlots = diagnostics?.leases ?? [];
161
+ const activeCount = allSlots.filter((s) => (s.status === "CLAIMED" || s.status === "active")
162
+ && s.expiresAt && Number.isFinite(Date.parse(s.expiresAt)) && Date.parse(s.expiresAt) > Date.now()).length;
138
163
  const expiredCount = allSlots.filter((s) => s.status === "EXPIRED" || (s.expiresAt && new Date(s.expiresAt).getTime() <= Date.now())).length;
139
164
  lines.push("# HELP ct_lab_active_leases_count Total active claimed slot leases in fleet");
140
165
  lines.push("# TYPE ct_lab_active_leases_count gauge");
@@ -172,6 +197,10 @@ export function createSseServer(serverFactoryOrInstance, options = {}) {
172
197
  });
173
198
  // 2. SSE Connection Endpoint (GET /sse)
174
199
  app.get("/sse", async (_req, res) => {
200
+ if (isClosing) {
201
+ res.status(503).json({ error: "MCP session routing is draining" });
202
+ return;
203
+ }
175
204
  try {
176
205
  const serverInstance = typeof serverFactoryOrInstance === "function"
177
206
  ? serverFactoryOrInstance()
@@ -232,6 +261,7 @@ export function createSseServer(serverFactoryOrInstance, options = {}) {
232
261
  app,
233
262
  sessions,
234
263
  async listen(customPort, customHost) {
264
+ isClosing = false;
235
265
  const targetPort = customPort !== undefined ? customPort : port;
236
266
  const targetHost = customHost || host;
237
267
  return new Promise((resolve) => {
@@ -243,6 +273,7 @@ export function createSseServer(serverFactoryOrInstance, options = {}) {
243
273
  });
244
274
  },
245
275
  async close() {
276
+ isClosing = true;
246
277
  clearInterval(cleanupInterval);
247
278
  clearInterval(capacityRefreshInterval);
248
279
  for (const [id, session] of sessions.entries()) {
@@ -1 +1 @@
1
- {"version":3,"file":"sse.js","sourceRoot":"","sources":["../../../src/transports/sse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sse.js","sourceRoot":"","sources":["../../../src/transports/sse.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@calltelemetry/ct-lab-mcp",
3
- "version": "0.8.67",
3
+ "version": "0.8.69",
4
4
  "description": "Expanded Model Context Protocol (MCP) server for Call Telemetry lab, fleet, and appliance management across Proxmox VE and VMware ESXi.",
5
5
  "type": "module",
6
6
  "main": "./dist/src/index.js",
@@ -67,6 +67,7 @@
67
67
  "@types/node": "^22.13.5",
68
68
  "@types/ssh2": "^1.15.4",
69
69
  "@vitest/coverage-v8": "^3.0.7",
70
+ "ajv": "^8.20.0",
70
71
  "tsx": "^4.19.3",
71
72
  "typescript": "^5.7.3",
72
73
  "vitest": "^3.0.7"