@bldg-7/proxmox-mcp 0.1.3 → 0.1.5
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/client/proxmox.d.ts +1 -1
- package/dist/client/proxmox.d.ts.map +1 -1
- package/dist/client/proxmox.js +18 -19
- package/dist/client/proxmox.js.map +1 -1
- package/dist/config/index.d.ts +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +11 -2
- package/dist/config/index.js.map +1 -1
- package/dist/config/schema.d.ts +5 -3
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +2 -3
- package/dist/config/schema.js.map +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +3 -1
- package/dist/utils/index.js.map +1 -1
- package/package.json +2 -1
package/dist/client/proxmox.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export declare class ProxmoxApiError extends Error {
|
|
|
7
7
|
export declare class ProxmoxApiClient {
|
|
8
8
|
private readonly baseUrl;
|
|
9
9
|
private readonly authHeader;
|
|
10
|
-
private readonly
|
|
10
|
+
private readonly dispatcher;
|
|
11
11
|
constructor(config: Config);
|
|
12
12
|
request<T>(endpoint: string, method?: string, body?: unknown): Promise<T>;
|
|
13
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxmox.d.ts","sourceRoot":"","sources":["../../src/client/proxmox.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAKlD,qBAAa,eAAgB,SAAQ,KAAK;aAGtB,UAAU,EAAE,MAAM;aAClB,QAAQ,EAAE,MAAM;gBAFhC,OAAO,EAAE,MAAM,EACC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM;CAKnC;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"proxmox.d.ts","sourceRoot":"","sources":["../../src/client/proxmox.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAKlD,qBAAa,eAAgB,SAAQ,KAAK;aAGtB,UAAU,EAAE,MAAM;aAClB,QAAQ,EAAE,MAAM;gBAFhC,OAAO,EAAE,MAAM,EACC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM;CAKnC;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;gBAE5B,MAAM,EAAE,MAAM;IAwBpB,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAQ,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;CA8D/E"}
|
package/dist/client/proxmox.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import https from 'node:https';
|
|
2
1
|
import fs from 'node:fs';
|
|
2
|
+
import { Agent } from 'undici';
|
|
3
3
|
import { logger } from '../utils/index.js';
|
|
4
4
|
const DEFAULT_TIMEOUT_MS = 30_000;
|
|
5
5
|
export class ProxmoxApiError extends Error {
|
|
@@ -15,25 +15,26 @@ export class ProxmoxApiError extends Error {
|
|
|
15
15
|
export class ProxmoxApiClient {
|
|
16
16
|
baseUrl;
|
|
17
17
|
authHeader;
|
|
18
|
-
|
|
18
|
+
dispatcher;
|
|
19
19
|
constructor(config) {
|
|
20
20
|
this.baseUrl = `https://${config.host}:${config.port}/api2/json`;
|
|
21
21
|
this.authHeader = `PVEAPIToken=${config.user}!${config.tokenName}=${config.tokenValue}`;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
rejectUnauthorized
|
|
35
|
-
|
|
22
|
+
const connectOptions = {};
|
|
23
|
+
switch (config.sslMode) {
|
|
24
|
+
case 'strict':
|
|
25
|
+
connectOptions.rejectUnauthorized = true;
|
|
26
|
+
break;
|
|
27
|
+
case 'verify':
|
|
28
|
+
connectOptions.rejectUnauthorized = true;
|
|
29
|
+
if (config.sslCaCert) {
|
|
30
|
+
connectOptions.ca = fs.readFileSync(config.sslCaCert);
|
|
31
|
+
}
|
|
32
|
+
break;
|
|
33
|
+
case 'insecure':
|
|
34
|
+
connectOptions.rejectUnauthorized = false;
|
|
35
|
+
break;
|
|
36
36
|
}
|
|
37
|
+
this.dispatcher = new Agent({ connect: connectOptions });
|
|
37
38
|
}
|
|
38
39
|
async request(endpoint, method = 'GET', body) {
|
|
39
40
|
const url = `${this.baseUrl}${endpoint}`;
|
|
@@ -45,10 +46,8 @@ export class ProxmoxApiClient {
|
|
|
45
46
|
method,
|
|
46
47
|
headers,
|
|
47
48
|
signal: AbortSignal.timeout(DEFAULT_TIMEOUT_MS),
|
|
49
|
+
dispatcher: this.dispatcher,
|
|
48
50
|
};
|
|
49
|
-
// Pass the HTTPS agent via the Node.js-specific dispatcher
|
|
50
|
-
// Node's native fetch accepts an agent-like option
|
|
51
|
-
options['agent'] = this.agent;
|
|
52
51
|
if (body !== undefined) {
|
|
53
52
|
options.body = JSON.stringify(body);
|
|
54
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxmox.js","sourceRoot":"","sources":["../../src/client/proxmox.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"proxmox.js","sourceRoot":"","sources":["../../src/client/proxmox.ts"],"names":[],"mappings":"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"}
|
package/dist/config/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AACA,OAAO,EAA+B,KAAK,MAAM,EAAgB,MAAM,aAAa,CAAC;AAErF,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAaxD,wBAAgB,UAAU,IAAI,MAAM,CAwBnC"}
|
package/dist/config/index.js
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
import dotenv from 'dotenv';
|
|
2
|
-
import { configSchema } from './schema.js';
|
|
2
|
+
import { configSchema, sslModeSchema } from './schema.js';
|
|
3
|
+
function parseSslMode(value) {
|
|
4
|
+
if (!value)
|
|
5
|
+
return 'strict';
|
|
6
|
+
const result = sslModeSchema.safeParse(value.toLowerCase());
|
|
7
|
+
if (result.success) {
|
|
8
|
+
return result.data;
|
|
9
|
+
}
|
|
10
|
+
return 'strict';
|
|
11
|
+
}
|
|
3
12
|
export function loadConfig() {
|
|
4
13
|
dotenv.config();
|
|
5
14
|
const rawConfig = {
|
|
@@ -9,7 +18,7 @@ export function loadConfig() {
|
|
|
9
18
|
tokenName: process.env.PROXMOX_TOKEN_NAME,
|
|
10
19
|
tokenValue: process.env.PROXMOX_TOKEN_VALUE,
|
|
11
20
|
allowElevated: process.env.PROXMOX_ALLOW_ELEVATED === 'true',
|
|
12
|
-
|
|
21
|
+
sslMode: parseSslMode(process.env.PROXMOX_SSL_MODE),
|
|
13
22
|
sslCaCert: process.env.PROXMOX_SSL_CA_CERT || undefined,
|
|
14
23
|
};
|
|
15
24
|
const result = configSchema.safeParse(rawConfig);
|
package/dist/config/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,aAAa,EAA6B,MAAM,aAAa,CAAC;AAIrF,SAAS,YAAY,CAAC,KAAyB;IAC7C,IAAI,CAAC,KAAK;QAAE,OAAO,QAAQ,CAAC;IAE5B,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,MAAM,CAAC,MAAM,EAAE,CAAC;IAEhB,MAAM,SAAS,GAAG;QAChB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;QAC9B,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QACnF,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,SAAS;QAC3C,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;QACzC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;QAC3C,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,MAAM;QAC5D,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;QACnD,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,SAAS;KACxD,CAAC;IAEF,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAEjD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM;aAC/B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;aAC7D,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC"}
|
package/dist/config/schema.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
export declare const sslModeSchema: z.ZodEnum<["strict", "verify", "insecure"]>;
|
|
3
|
+
export type SslMode = z.infer<typeof sslModeSchema>;
|
|
2
4
|
export declare const configSchema: z.ZodObject<{
|
|
3
5
|
host: z.ZodString;
|
|
4
6
|
port: z.ZodDefault<z.ZodNumber>;
|
|
@@ -6,7 +8,7 @@ export declare const configSchema: z.ZodObject<{
|
|
|
6
8
|
tokenName: z.ZodString;
|
|
7
9
|
tokenValue: z.ZodString;
|
|
8
10
|
allowElevated: z.ZodDefault<z.ZodBoolean>;
|
|
9
|
-
|
|
11
|
+
sslMode: z.ZodDefault<z.ZodEnum<["strict", "verify", "insecure"]>>;
|
|
10
12
|
sslCaCert: z.ZodOptional<z.ZodString>;
|
|
11
13
|
}, "strip", z.ZodTypeAny, {
|
|
12
14
|
host: string;
|
|
@@ -15,7 +17,7 @@ export declare const configSchema: z.ZodObject<{
|
|
|
15
17
|
tokenName: string;
|
|
16
18
|
tokenValue: string;
|
|
17
19
|
allowElevated: boolean;
|
|
18
|
-
|
|
20
|
+
sslMode: "strict" | "verify" | "insecure";
|
|
19
21
|
sslCaCert?: string | undefined;
|
|
20
22
|
}, {
|
|
21
23
|
host: string;
|
|
@@ -24,7 +26,7 @@ export declare const configSchema: z.ZodObject<{
|
|
|
24
26
|
port?: number | undefined;
|
|
25
27
|
user?: string | undefined;
|
|
26
28
|
allowElevated?: boolean | undefined;
|
|
27
|
-
|
|
29
|
+
sslMode?: "strict" | "verify" | "insecure" | undefined;
|
|
28
30
|
sslCaCert?: string | undefined;
|
|
29
31
|
}>;
|
|
30
32
|
export type Config = z.infer<typeof configSchema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,aAAa,6CAA2C,CAAC;AACtE,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BvB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
|
package/dist/config/schema.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
export const sslModeSchema = z.enum(['strict', 'verify', 'insecure']);
|
|
2
3
|
export const configSchema = z.object({
|
|
3
4
|
host: z
|
|
4
5
|
.string({ required_error: 'PROXMOX_HOST is required' })
|
|
@@ -22,9 +23,7 @@ export const configSchema = z.object({
|
|
|
22
23
|
allowElevated: z
|
|
23
24
|
.boolean()
|
|
24
25
|
.default(false),
|
|
25
|
-
|
|
26
|
-
.boolean()
|
|
27
|
-
.default(false),
|
|
26
|
+
sslMode: sslModeSchema.default('strict'),
|
|
28
27
|
sslCaCert: z
|
|
29
28
|
.string()
|
|
30
29
|
.optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC,EAAE,cAAc,EAAE,0BAA0B,EAAE,CAAC;SACtD,GAAG,CAAC,CAAC,EAAE,8BAA8B,CAAC;IACzC,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,KAAK,CAAC;SACV,OAAO,CAAC,IAAI,CAAC;IAChB,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,OAAO,CAAC,UAAU,CAAC;IACtB,SAAS,EAAE,CAAC;SACT,MAAM,CAAC,EAAE,cAAc,EAAE,gCAAgC,EAAE,CAAC;SAC5D,GAAG,CAAC,CAAC,EAAE,oCAAoC,CAAC;IAC/C,UAAU,EAAE,CAAC;SACV,MAAM,CAAC,EAAE,cAAc,EAAE,iCAAiC,EAAE,CAAC;SAC7D,GAAG,CAAC,CAAC,EAAE,qCAAqC,CAAC;IAChD,aAAa,EAAE,CAAC;SACb,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;IACjB,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;AAGtE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC,EAAE,cAAc,EAAE,0BAA0B,EAAE,CAAC;SACtD,GAAG,CAAC,CAAC,EAAE,8BAA8B,CAAC;IACzC,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,KAAK,CAAC;SACV,OAAO,CAAC,IAAI,CAAC;IAChB,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,OAAO,CAAC,UAAU,CAAC;IACtB,SAAS,EAAE,CAAC;SACT,MAAM,CAAC,EAAE,cAAc,EAAE,gCAAgC,EAAE,CAAC;SAC5D,GAAG,CAAC,CAAC,EAAE,oCAAoC,CAAC;IAC/C,UAAU,EAAE,CAAC;SACV,MAAM,CAAC,EAAE,cAAc,EAAE,iCAAiC,EAAE,CAAC;SAC7D,GAAG,CAAC,CAAC,EAAE,qCAAqC,CAAC;IAChD,aAAa,EAAE,CAAC;SACb,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;IACjB,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC;IACxC,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;CACd,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,eAAO,MAAM,MAAM,6BAMI,CAAC"}
|
package/dist/utils/index.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import pino from 'pino';
|
|
2
|
+
// MCP uses stdout for JSON-RPC communication, so logs must go to stderr
|
|
2
3
|
export const logger = pino({
|
|
3
4
|
level: process.env.PROXMOX_LOG_LEVEL || 'info',
|
|
4
5
|
transport: process.env.NODE_ENV === 'development' ? {
|
|
5
6
|
target: 'pino-pretty',
|
|
7
|
+
options: { destination: 2 },
|
|
6
8
|
} : undefined,
|
|
7
|
-
});
|
|
9
|
+
}, pino.destination(2));
|
|
8
10
|
//# sourceMappingURL=index.js.map
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,MAAM;IAC9C,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC;QAClD,MAAM,EAAE,aAAa;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,wEAAwE;AACxE,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,MAAM;IAC9C,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC;QAClD,MAAM,EAAE,aAAa;QACrB,OAAO,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE;KAC5B,CAAC,CAAC,CAAC,SAAS;CACd,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bldg-7/proxmox-mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "Proxmox MCP Server - TypeScript rewrite",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
"@modelcontextprotocol/sdk": "^1.25.3",
|
|
28
28
|
"dotenv": "^16.4.5",
|
|
29
29
|
"pino": "^9.6.0",
|
|
30
|
+
"undici": "^7.20.0",
|
|
30
31
|
"zod": "^3.23.8"
|
|
31
32
|
},
|
|
32
33
|
"devDependencies": {
|