@bldg-7/proxmox-mcp 1.0.4 → 1.2.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 (41) hide show
  1. package/README.md +17 -8
  2. package/dist/client/ssh.d.ts +36 -0
  3. package/dist/client/ssh.d.ts.map +1 -0
  4. package/dist/client/ssh.js +216 -0
  5. package/dist/client/ssh.js.map +1 -0
  6. package/dist/config/index.d.ts.map +1 -1
  7. package/dist/config/index.js +8 -0
  8. package/dist/config/index.js.map +1 -1
  9. package/dist/config/schema.d.ts +24 -0
  10. package/dist/config/schema.d.ts.map +1 -1
  11. package/dist/config/schema.js +28 -0
  12. package/dist/config/schema.js.map +1 -1
  13. package/dist/schemas/lxc-exec.d.ts +19 -0
  14. package/dist/schemas/lxc-exec.d.ts.map +1 -0
  15. package/dist/schemas/lxc-exec.js +23 -0
  16. package/dist/schemas/lxc-exec.js.map +1 -0
  17. package/dist/server.d.ts.map +1 -1
  18. package/dist/server.js +1 -0
  19. package/dist/server.js.map +1 -1
  20. package/dist/tools/command.js +1 -1
  21. package/dist/tools/command.js.map +1 -1
  22. package/dist/tools/index.d.ts +1 -0
  23. package/dist/tools/index.d.ts.map +1 -1
  24. package/dist/tools/index.js +2 -0
  25. package/dist/tools/index.js.map +1 -1
  26. package/dist/tools/lxc-exec.d.ts +6 -0
  27. package/dist/tools/lxc-exec.d.ts.map +1 -0
  28. package/dist/tools/lxc-exec.js +62 -0
  29. package/dist/tools/lxc-exec.js.map +1 -0
  30. package/dist/tools/registry.d.ts.map +1 -1
  31. package/dist/tools/registry.js +4 -1
  32. package/dist/tools/registry.js.map +1 -1
  33. package/dist/types/tools.d.ts +1 -1
  34. package/dist/types/tools.d.ts.map +1 -1
  35. package/dist/types/tools.js +1 -0
  36. package/dist/types/tools.js.map +1 -1
  37. package/dist/validators/index.d.ts +9 -2
  38. package/dist/validators/index.d.ts.map +1 -1
  39. package/dist/validators/index.js +16 -9
  40. package/dist/validators/index.js.map +1 -1
  41. package/package.json +3 -1
package/README.md CHANGED
@@ -8,7 +8,7 @@
8
8
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.6-blue.svg)](https://www.typescriptlang.org/)
9
9
  [![Node.js](https://img.shields.io/badge/Node.js-18+-green.svg)](https://nodejs.org/)
10
10
 
11
- A comprehensive MCP server providing 91 tools for managing Proxmox Virtual Environment, including QEMU VMs and LXC containers.
11
+ A comprehensive MCP server providing 92 tools for managing Proxmox Virtual Environment, including QEMU VMs and LXC containers.
12
12
 
13
13
  ## Credits & Background
14
14
 
@@ -23,20 +23,20 @@ This project is a TypeScript rewrite of [mcp-proxmox-server](https://github.com/
23
23
  - Giant switch statement (55 cases) → tool registry with handler/schema pairs
24
24
 
25
25
  **Quality**:
26
- - 0 tests → 1,114 tests
26
+ - 0 tests → 1,134 tests
27
27
  - No input validation → Zod runtime validation on every tool call
28
28
  - Implicit error handling → structured MCP error responses with context
29
29
  - No permission checks → two-tier permission model (basic / elevated)
30
30
 
31
31
  **Developer Experience**:
32
32
  - `npx @bldg-7/proxmox-mcp` just works
33
- - All 91 tool descriptions exposed via MCP `ListTools`
33
+ - All 92 tool descriptions exposed via MCP `ListTools`
34
34
  - Rate limiter middleware included
35
35
  - Pino structured logging instead of `console.log`
36
36
 
37
37
  ## Features
38
38
 
39
- - **91 comprehensive tools** for Proxmox management
39
+ - **92 comprehensive tools** for Proxmox management
40
40
  - **Full TypeScript implementation** with strict type safety
41
41
  - **Support for both QEMU VMs and LXC containers**
42
42
  - **Secure authentication** (API token)
@@ -70,6 +70,14 @@ Set the following environment variables before starting the server:
70
70
  | `PROXMOX_SSL_MODE` | No | SSL verification mode | `strict` |
71
71
  | `PROXMOX_ALLOW_ELEVATED` | No | Allow elevated operations | `false` |
72
72
  | `PROXMOX_PORT` | No | Proxmox API port | `8006` |
73
+ | `PROXMOX_ALLOW_UNSAFE_COMMANDS` | No | Allow shell special characters in exec commands | `false` |
74
+ | `PROXMOX_SSH_ENABLED` | No | Enable SSH-based LXC exec | `false` |
75
+ | `PROXMOX_SSH_HOST` | No | SSH host (falls back to PROXMOX_HOST) | - |
76
+ | `PROXMOX_SSH_PORT` | No | SSH port | `22` |
77
+ | `PROXMOX_SSH_USER` | No | SSH username | `root` |
78
+ | `PROXMOX_SSH_KEY_PATH` | When SSH enabled | Path to SSH private key | - |
79
+ | `PROXMOX_SSH_NODE` | When SSH enabled | Proxmox node name reachable via SSH | - |
80
+ | `PROXMOX_SSH_HOST_KEY_FINGERPRINT` | No | Host key fingerprint for verification | - |
73
81
 
74
82
  ### SSL Modes
75
83
 
@@ -125,7 +133,7 @@ Add to your Claude Desktop configuration (`~/Library/Application Support/Claude/
125
133
 
126
134
  ## Available Tools
127
135
 
128
- This server provides **91 comprehensive tools** for Proxmox management:
136
+ This server provides **92 comprehensive tools** for Proxmox management:
129
137
 
130
138
  | Category | Tools | Permission |
131
139
  |----------|-------|------------|
@@ -144,11 +152,12 @@ This server provides **91 comprehensive tools** for Proxmox management:
144
152
  | Backup | 1 | Mixed |
145
153
  | VM Disks | 1 | Elevated 🔒 |
146
154
  | LXC Mount Points | 1 | Elevated 🔒 |
155
+ | LXC Exec | 1 | Elevated 🔒 |
147
156
  | Cloud-Init | 1 | Mixed |
148
157
  | Certificates | 1 | Mixed |
149
158
  | ACME | 3 | Mixed |
150
159
  | Notifications | 1 | Mixed |
151
- | **Total** | **91** | |
160
+ | **Total** | **92** | |
152
161
 
153
162
  📖 **[Full Tools Reference →](docs/TOOLS.md)**
154
163
 
@@ -160,7 +169,7 @@ This package includes **Agent Skills** - AI-optimized documentation that teaches
160
169
 
161
170
  | Skill | Description | Tools/Topics |
162
171
  |-------|-------------|--------------|
163
- | **proxmox-mcp-tools** | Complete MCP tool reference for Proxmox VE | 91 tools across 14 domains (VMs, LXC, cluster, storage, networking, Ceph, certificates, ACME, notifications) |
172
+ | **proxmox-mcp-tools** | Complete MCP tool reference for Proxmox VE | 92 tools across 14 domains (VMs, LXC, cluster, storage, networking, Ceph, certificates, ACME, notifications) |
164
173
  | **proxmox-admin** | Operational expertise for Proxmox infrastructure | VM lifecycle, storage management, HA configuration, troubleshooting |
165
174
 
166
175
  ### Installation
@@ -228,7 +237,7 @@ Agent combines tool knowledge + operational expertise:
228
237
  ### Skill Contents
229
238
 
230
239
  **proxmox-mcp-tools** — Tool Reference:
231
- - 91 tools organized into 14 domains (VMs, LXC, cluster, storage, networking, Ceph, access control, pools, certificates, ACME, notifications)
240
+ - 92 tools organized into 14 domains (VMs, LXC, cluster, storage, networking, Ceph, access control, pools, certificates, ACME, notifications)
232
241
  - Parameters, types, and descriptions for every tool
233
242
  - Permission levels (basic vs elevated 🔒)
234
243
  - Common workflow patterns (create VM, backup/restore, clone, migrate)
@@ -0,0 +1,36 @@
1
+ export interface SshConfig {
2
+ host: string;
3
+ port: number;
4
+ username: string;
5
+ privateKeyPath: string;
6
+ /** Optional host key fingerprint for verification (sha256 format) */
7
+ hostKeyFingerprint?: string;
8
+ }
9
+ export interface ExecResult {
10
+ stdout: string;
11
+ stderr: string;
12
+ exitCode: number;
13
+ }
14
+ export declare class SshClient {
15
+ private conn;
16
+ private connectPromise;
17
+ private idleTimer;
18
+ private readonly config;
19
+ constructor(config: SshConfig);
20
+ exec(command: string, timeoutSeconds?: number): Promise<ExecResult>;
21
+ close(): void;
22
+ private getConnection;
23
+ private createConnection;
24
+ private execOnConnection;
25
+ private resetIdleTimer;
26
+ private clearIdleTimer;
27
+ }
28
+ export declare function getSshClient(config: SshConfig): SshClient;
29
+ export declare function closeSshClient(): void;
30
+ /**
31
+ * Shell-quote a string for safe use in `sh -c '...'`.
32
+ * Escapes single quotes by ending the quoted string, adding an escaped quote, and reopening.
33
+ * Example: "hello'world" → "'hello'\\''world'"
34
+ */
35
+ export declare function shellQuote(s: string): string;
36
+ //# sourceMappingURL=ssh.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ssh.d.ts","sourceRoot":"","sources":["../../src/client/ssh.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,IAAI,CAAuB;IACnC,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;gBAEvB,MAAM,EAAE,SAAS;IAIvB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,SAAK,GAAG,OAAO,CAAC,UAAU,CAAC;IAKrE,KAAK,IAAI,IAAI;YASC,aAAa;IAsB3B,OAAO,CAAC,gBAAgB;IAqExB,OAAO,CAAC,gBAAgB;IA+FxB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,cAAc;CAMvB;AAID,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAKzD;AAED,wBAAgB,cAAc,IAAI,IAAI,CAKrC;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAI5C"}
@@ -0,0 +1,216 @@
1
+ import { Client } from 'ssh2';
2
+ import { readFileSync } from 'node:fs';
3
+ import { logger } from '../utils/index.js';
4
+ /** Maximum output size per stream (stdout/stderr) in bytes */
5
+ const MAX_OUTPUT_BYTES = 65_536;
6
+ const IDLE_TIMEOUT_MS = 5 * 60_000;
7
+ const KEEPALIVE_INTERVAL_MS = 30_000;
8
+ export class SshClient {
9
+ conn = null;
10
+ connectPromise = null;
11
+ idleTimer = null;
12
+ config;
13
+ constructor(config) {
14
+ this.config = config;
15
+ }
16
+ async exec(command, timeoutSeconds = 30) {
17
+ const conn = await this.getConnection();
18
+ return this.execOnConnection(conn, command, timeoutSeconds);
19
+ }
20
+ close() {
21
+ this.clearIdleTimer();
22
+ if (this.conn) {
23
+ this.conn.end();
24
+ this.conn = null;
25
+ }
26
+ this.connectPromise = null;
27
+ }
28
+ async getConnection() {
29
+ this.resetIdleTimer();
30
+ if (this.conn) {
31
+ return this.conn;
32
+ }
33
+ if (this.connectPromise) {
34
+ return this.connectPromise;
35
+ }
36
+ this.connectPromise = this.createConnection();
37
+ try {
38
+ const conn = await this.connectPromise;
39
+ return conn;
40
+ }
41
+ catch (error) {
42
+ this.connectPromise = null;
43
+ throw error;
44
+ }
45
+ }
46
+ createConnection() {
47
+ return new Promise((resolve, reject) => {
48
+ const conn = new Client();
49
+ let privateKey;
50
+ try {
51
+ privateKey = readFileSync(this.config.privateKeyPath);
52
+ }
53
+ catch (error) {
54
+ const message = error instanceof Error ? error.message : String(error);
55
+ reject(new Error(`Failed to read SSH private key at ${this.config.privateKeyPath}: ${message}`));
56
+ return;
57
+ }
58
+ const connectConfig = {
59
+ host: this.config.host,
60
+ port: this.config.port,
61
+ username: this.config.username,
62
+ privateKey,
63
+ readyTimeout: 30_000,
64
+ keepaliveInterval: KEEPALIVE_INTERVAL_MS,
65
+ keepaliveCountMax: 3,
66
+ };
67
+ // Host key verification
68
+ if (this.config.hostKeyFingerprint) {
69
+ const expectedFingerprint = this.config.hostKeyFingerprint;
70
+ connectConfig.hostVerifier = (keyHash) => {
71
+ const matches = keyHash === expectedFingerprint;
72
+ if (!matches) {
73
+ logger.error({ expected: expectedFingerprint, received: keyHash }, 'SSH host key fingerprint mismatch');
74
+ }
75
+ return matches;
76
+ };
77
+ }
78
+ conn
79
+ .on('ready', () => {
80
+ logger.info({ host: this.config.host, port: this.config.port }, 'SSH connection established');
81
+ this.conn = conn;
82
+ this.connectPromise = null;
83
+ this.resetIdleTimer();
84
+ resolve(conn);
85
+ })
86
+ .on('error', (err) => {
87
+ logger.error({ err }, 'SSH connection error');
88
+ this.conn = null;
89
+ this.connectPromise = null;
90
+ reject(new Error(`SSH connection failed: ${err.message}`));
91
+ })
92
+ .on('close', () => {
93
+ logger.info('SSH connection closed');
94
+ this.conn = null;
95
+ this.connectPromise = null;
96
+ })
97
+ .connect(connectConfig);
98
+ });
99
+ }
100
+ execOnConnection(conn, command, timeoutSeconds) {
101
+ return new Promise((resolve, reject) => {
102
+ const timeoutMs = timeoutSeconds * 1000;
103
+ let stdoutBuf = '';
104
+ let stderrBuf = '';
105
+ let stdoutTruncated = false;
106
+ let stderrTruncated = false;
107
+ let settled = false;
108
+ const timer = setTimeout(() => {
109
+ if (!settled) {
110
+ settled = true;
111
+ // Connection may be in bad state after timeout — destroy it
112
+ this.conn = null;
113
+ conn.end();
114
+ reject(new Error(`Command timed out after ${timeoutSeconds}s`));
115
+ }
116
+ }, timeoutMs);
117
+ conn.exec(command, (err, stream) => {
118
+ if (err) {
119
+ clearTimeout(timer);
120
+ if (!settled) {
121
+ settled = true;
122
+ reject(new Error(`SSH exec failed: ${err.message}`));
123
+ }
124
+ return;
125
+ }
126
+ stream.on('data', (data) => {
127
+ if (!stdoutTruncated) {
128
+ const chunk = data.toString('utf-8');
129
+ if (stdoutBuf.length + chunk.length > MAX_OUTPUT_BYTES) {
130
+ stdoutBuf += chunk.slice(0, MAX_OUTPUT_BYTES - stdoutBuf.length);
131
+ stdoutTruncated = true;
132
+ }
133
+ else {
134
+ stdoutBuf += chunk;
135
+ }
136
+ }
137
+ });
138
+ stream.stderr.on('data', (data) => {
139
+ if (!stderrTruncated) {
140
+ const chunk = data.toString('utf-8');
141
+ if (stderrBuf.length + chunk.length > MAX_OUTPUT_BYTES) {
142
+ stderrBuf += chunk.slice(0, MAX_OUTPUT_BYTES - stderrBuf.length);
143
+ stderrTruncated = true;
144
+ }
145
+ else {
146
+ stderrBuf += chunk;
147
+ }
148
+ }
149
+ });
150
+ stream.on('close', (code) => {
151
+ clearTimeout(timer);
152
+ if (!settled) {
153
+ settled = true;
154
+ let stdout = stdoutBuf;
155
+ let stderr = stderrBuf;
156
+ if (stdoutTruncated) {
157
+ stdout += '\n... [stdout truncated at 64KB]';
158
+ }
159
+ if (stderrTruncated) {
160
+ stderr += '\n... [stderr truncated at 64KB]';
161
+ }
162
+ resolve({
163
+ stdout,
164
+ stderr,
165
+ exitCode: code ?? 0,
166
+ });
167
+ }
168
+ });
169
+ stream.on('error', (streamErr) => {
170
+ clearTimeout(timer);
171
+ if (!settled) {
172
+ settled = true;
173
+ reject(new Error(`SSH stream error: ${streamErr.message}`));
174
+ }
175
+ });
176
+ });
177
+ });
178
+ }
179
+ resetIdleTimer() {
180
+ this.clearIdleTimer();
181
+ this.idleTimer = setTimeout(() => {
182
+ logger.info('SSH connection idle timeout — closing');
183
+ this.close();
184
+ }, IDLE_TIMEOUT_MS);
185
+ }
186
+ clearIdleTimer() {
187
+ if (this.idleTimer) {
188
+ clearTimeout(this.idleTimer);
189
+ this.idleTimer = null;
190
+ }
191
+ }
192
+ }
193
+ let sshClientInstance = null;
194
+ export function getSshClient(config) {
195
+ if (!sshClientInstance) {
196
+ sshClientInstance = new SshClient(config);
197
+ }
198
+ return sshClientInstance;
199
+ }
200
+ export function closeSshClient() {
201
+ if (sshClientInstance) {
202
+ sshClientInstance.close();
203
+ sshClientInstance = null;
204
+ }
205
+ }
206
+ /**
207
+ * Shell-quote a string for safe use in `sh -c '...'`.
208
+ * Escapes single quotes by ending the quoted string, adding an escaped quote, and reopening.
209
+ * Example: "hello'world" → "'hello'\\''world'"
210
+ */
211
+ export function shellQuote(s) {
212
+ // Normalize newlines and carriage returns to prevent injection via line breaks
213
+ const normalized = s.replace(/\r\n/g, '\n').replace(/\r/g, '\n');
214
+ return "'" + normalized.replace(/'/g, "'\\''") + "'";
215
+ }
216
+ //# sourceMappingURL=ssh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ssh.js","sourceRoot":"","sources":["../../src/client/ssh.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
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"}
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,CAgCnC"}
@@ -20,6 +20,14 @@ export function loadConfig() {
20
20
  allowElevated: process.env.PROXMOX_ALLOW_ELEVATED === 'true',
21
21
  sslMode: parseSslMode(process.env.PROXMOX_SSL_MODE),
22
22
  sslCaCert: process.env.PROXMOX_SSL_CA_CERT || undefined,
23
+ sshEnabled: process.env.PROXMOX_SSH_ENABLED === 'true',
24
+ sshHost: process.env.PROXMOX_SSH_HOST || undefined,
25
+ sshPort: process.env.PROXMOX_SSH_PORT ? parseInt(process.env.PROXMOX_SSH_PORT, 10) : undefined,
26
+ sshUser: process.env.PROXMOX_SSH_USER || undefined,
27
+ sshKeyPath: process.env.PROXMOX_SSH_KEY_PATH || undefined,
28
+ sshNode: process.env.PROXMOX_SSH_NODE || undefined,
29
+ sshHostKeyFingerprint: process.env.PROXMOX_SSH_HOST_KEY_FINGERPRINT || undefined,
30
+ allowUnsafeCommands: process.env.PROXMOX_ALLOW_UNSAFE_COMMANDS === 'true',
23
31
  };
24
32
  const result = configSchema.safeParse(rawConfig);
25
33
  if (!result.success) {
@@ -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,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"}
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;QACvD,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,MAAM;QACtD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,SAAS;QAClD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QAC9F,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,SAAS;QAClD,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,SAAS;QACzD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,SAAS;QAClD,qBAAqB,EAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,SAAS;QAChF,mBAAmB,EAAE,OAAO,CAAC,GAAG,CAAC,6BAA6B,KAAK,MAAM;KAC1E,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"}
@@ -10,6 +10,14 @@ export declare const configSchema: z.ZodObject<{
10
10
  allowElevated: z.ZodDefault<z.ZodBoolean>;
11
11
  sslMode: z.ZodDefault<z.ZodEnum<["strict", "verify", "insecure"]>>;
12
12
  sslCaCert: z.ZodOptional<z.ZodString>;
13
+ sshEnabled: z.ZodDefault<z.ZodBoolean>;
14
+ sshHost: z.ZodOptional<z.ZodString>;
15
+ sshPort: z.ZodDefault<z.ZodNumber>;
16
+ sshUser: z.ZodDefault<z.ZodString>;
17
+ sshKeyPath: z.ZodOptional<z.ZodString>;
18
+ sshNode: z.ZodOptional<z.ZodString>;
19
+ sshHostKeyFingerprint: z.ZodOptional<z.ZodString>;
20
+ allowUnsafeCommands: z.ZodDefault<z.ZodBoolean>;
13
21
  }, "strip", z.ZodTypeAny, {
14
22
  host: string;
15
23
  port: number;
@@ -18,7 +26,15 @@ export declare const configSchema: z.ZodObject<{
18
26
  tokenValue: string;
19
27
  allowElevated: boolean;
20
28
  sslMode: "strict" | "verify" | "insecure";
29
+ sshEnabled: boolean;
30
+ sshPort: number;
31
+ sshUser: string;
32
+ allowUnsafeCommands: boolean;
21
33
  sslCaCert?: string | undefined;
34
+ sshHost?: string | undefined;
35
+ sshKeyPath?: string | undefined;
36
+ sshNode?: string | undefined;
37
+ sshHostKeyFingerprint?: string | undefined;
22
38
  }, {
23
39
  host: string;
24
40
  tokenName: string;
@@ -28,6 +44,14 @@ export declare const configSchema: z.ZodObject<{
28
44
  allowElevated?: boolean | undefined;
29
45
  sslMode?: "strict" | "verify" | "insecure" | undefined;
30
46
  sslCaCert?: string | undefined;
47
+ sshEnabled?: boolean | undefined;
48
+ sshHost?: string | undefined;
49
+ sshPort?: number | undefined;
50
+ sshUser?: string | undefined;
51
+ sshKeyPath?: string | undefined;
52
+ sshNode?: string | undefined;
53
+ sshHostKeyFingerprint?: string | undefined;
54
+ allowUnsafeCommands?: boolean | undefined;
31
55
  }>;
32
56
  export type Config = z.infer<typeof configSchema>;
33
57
  //# sourceMappingURL=schema.d.ts.map
@@ -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,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"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuDvB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
@@ -27,5 +27,33 @@ export const configSchema = z.object({
27
27
  sslCaCert: z
28
28
  .string()
29
29
  .optional(),
30
+ sshEnabled: z
31
+ .boolean()
32
+ .default(false),
33
+ sshHost: z
34
+ .string()
35
+ .optional(),
36
+ sshPort: z
37
+ .number()
38
+ .int()
39
+ .min(1)
40
+ .max(65535)
41
+ .default(22),
42
+ sshUser: z
43
+ .string()
44
+ .min(1)
45
+ .default('root'),
46
+ sshKeyPath: z
47
+ .string()
48
+ .optional(),
49
+ sshNode: z
50
+ .string()
51
+ .optional(),
52
+ sshHostKeyFingerprint: z
53
+ .string()
54
+ .optional(),
55
+ allowUnsafeCommands: z
56
+ .boolean()
57
+ .default(false),
30
58
  });
31
59
  //# sourceMappingURL=schema.js.map
@@ -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,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
+ {"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;IACb,UAAU,EAAE,CAAC;SACV,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;IACjB,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;IACb,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,KAAK,CAAC;SACV,OAAO,CAAC,EAAE,CAAC;IACd,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,OAAO,CAAC,MAAM,CAAC;IAClB,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;IACb,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;IACb,qBAAqB,EAAE,CAAC;SACrB,MAAM,EAAE;SACR,QAAQ,EAAE;IACb,mBAAmB,EAAE,CAAC;SACnB,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;CAClB,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { z } from 'zod';
2
+ export declare const lxcExecSchema: z.ZodObject<{
3
+ node: z.ZodString;
4
+ vmid: z.ZodNumber;
5
+ command: z.ZodString;
6
+ timeout: z.ZodDefault<z.ZodNumber>;
7
+ }, "strip", z.ZodTypeAny, {
8
+ timeout: number;
9
+ node: string;
10
+ vmid: number;
11
+ command: string;
12
+ }, {
13
+ node: string;
14
+ vmid: number;
15
+ command: string;
16
+ timeout?: number | undefined;
17
+ }>;
18
+ export type LxcExecInput = z.infer<typeof lxcExecSchema>;
19
+ //# sourceMappingURL=lxc-exec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lxc-exec.d.ts","sourceRoot":"","sources":["../../src/schemas/lxc-exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;EAoBxB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { z } from 'zod';
2
+ export const lxcExecSchema = z.object({
3
+ node: z.string().min(1).describe('Proxmox node name where the LXC container runs'),
4
+ vmid: z
5
+ .number()
6
+ .int()
7
+ .min(100)
8
+ .max(999999999)
9
+ .describe('LXC container ID'),
10
+ command: z
11
+ .string()
12
+ .min(1)
13
+ .max(1000)
14
+ .describe('Command to execute inside the container'),
15
+ timeout: z
16
+ .number()
17
+ .int()
18
+ .min(1)
19
+ .max(120)
20
+ .default(30)
21
+ .describe('Execution timeout in seconds (default: 30, max: 120)'),
22
+ });
23
+ //# sourceMappingURL=lxc-exec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lxc-exec.js","sourceRoot":"","sources":["../../src/schemas/lxc-exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gDAAgD,CAAC;IAClF,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,GAAG,CAAC;SACR,GAAG,CAAC,SAAS,CAAC;SACd,QAAQ,CAAC,kBAAkB,CAAC;IAC/B,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,CAAC,yCAAyC,CAAC;IACtD,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CAAC,sDAAsD,CAAC;CACpE,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAQnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AA6JhD,wBAAgB,YAAY,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CA8F7E"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAQnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AA+JhD,wBAAgB,YAAY,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CA8F7E"}
package/dist/server.js CHANGED
@@ -125,6 +125,7 @@ const TOOL_DESCRIPTIONS = {
125
125
  proxmox_acme_account: 'Manage ACME accounts. action=list|get: query accounts | action=create|update|delete: manage accounts (requires elevated)',
126
126
  proxmox_acme_info: 'Query ACME information. action=list_plugins|get_plugin|directories',
127
127
  proxmox_notification: 'Manage notification targets. action=list|get: query targets | action=create|delete|test: manage targets (requires elevated)',
128
+ proxmox_lxc_exec: 'Execute a command inside an LXC container via SSH + pct exec (requires elevated + PROXMOX_SSH_ENABLED=true)',
128
129
  };
129
130
  export function createServer(client, config) {
130
131
  const server = new Server({
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ export async function executeVMCommand(client, config, input) {
8
8
  const validated = executeVmCommandSchema.parse(input);
9
9
  const safeNode = validateNodeName(validated.node);
10
10
  const safeVmid = validateVMID(validated.vmid);
11
- const safeCommand = validateCommand(validated.command);
11
+ const safeCommand = validateCommand(validated.command, { allowUnsafe: config.allowUnsafeCommands });
12
12
  const type = validated.type || 'qemu';
13
13
  const result = (await client.request(`/nodes/${safeNode}/${type}/${safeVmid}/agent/exec`, 'POST', { command: ['sh', '-c', safeCommand] }));
14
14
  const output = `⚡ **Command Execution Started**\n\n` +
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/tools/command.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAG1D,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAwB,EACxB,MAAc,EACd,KAA4B;IAE5B,IAAI,CAAC;QACH,eAAe,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;QAE9C,MAAM,SAAS,GAAG,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,MAAM,CAAC;QAEtC,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CACnC,UAAU,QAAQ,IAAI,IAAI,IAAI,QAAQ,aAAa,EACnD,MAAM,EACN,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,CACvC,CAAoB,CAAC;QAEtB,MAAM,MAAM,GACV,qCAAqC;YACrC,gBAAgB,QAAQ,IAAI;YAC5B,eAAe,IAAI,CAAC,WAAW,EAAE,IAAI;YACrC,oBAAoB,WAAW,MAAM;YACrC,cAAc,MAAM,CAAC,GAAG,MAAM;YAC9B,6DAA6D,CAAC;QAEhE,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,mBAAmB,CAAC,KAAc,EAAE,oBAAoB,CAAC,CAAC;IACnE,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/tools/command.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAG1D,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAwB,EACxB,MAAc,EACd,KAA4B;IAE5B,IAAI,CAAC;QACH,eAAe,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;QAE9C,MAAM,SAAS,GAAG,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,eAAe,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC;QACpG,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,MAAM,CAAC;QAEtC,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CACnC,UAAU,QAAQ,IAAI,IAAI,IAAI,QAAQ,aAAa,EACnD,MAAM,EACN,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,CACvC,CAAoB,CAAC;QAEtB,MAAM,MAAM,GACV,qCAAqC;YACrC,gBAAgB,QAAQ,IAAI;YAC5B,eAAe,IAAI,CAAC,WAAW,EAAE,IAAI;YACrC,oBAAoB,WAAW,MAAM;YACrC,cAAc,MAAM,CAAC,GAAG,MAAM;YAC9B,6DAA6D,CAAC;QAEhE,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,mBAAmB,CAAC,KAAc,EAAE,oBAAoB,CAAC,CAAC;IACnE,CAAC;AACH,CAAC"}
@@ -27,4 +27,5 @@ export { handleCertificate, handleAcmeCert } from './certificate.js';
27
27
  export { handleAcmeAccount, handleAcmeInfo } from './acme.js';
28
28
  export { agentFileRead, agentFileWrite, agentGetHostname, agentGetUsers, agentSetUserPassword, agentShutdown, agentFsfreezeStatus, agentFsfreezeFreeze, agentFsfreezeThaw, agentFstrim, agentGetMemoryBlockInfo, agentSuspendDisk, agentSuspendRam, agentSuspendHybrid, } from './vm-advanced.js';
29
29
  export { handleNotification } from './notifications.js';
30
+ export { handleLxcExec } from './lxc-exec.js';
30
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
@@ -52,4 +52,6 @@ export { handleAcmeAccount, handleAcmeInfo } from './acme.js';
52
52
  export { agentFileRead, agentFileWrite, agentGetHostname, agentGetUsers, agentSetUserPassword, agentShutdown, agentFsfreezeStatus, agentFsfreezeFreeze, agentFsfreezeThaw, agentFstrim, agentGetMemoryBlockInfo, agentSuspendDisk, agentSuspendRam, agentSuspendHybrid, } from './vm-advanced.js';
53
53
  // Notification Management tools (consolidated)
54
54
  export { handleNotification } from './notifications.js';
55
+ // LXC Exec (SSH-based)
56
+ export { handleLxcExec } from './lxc-exec.js';
55
57
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { ProxmoxApiClient } from '../client/proxmox.js';
2
+ import type { Config } from '../config/index.js';
3
+ import type { ToolResponse } from '../types/index.js';
4
+ import type { LxcExecInput } from '../schemas/lxc-exec.js';
5
+ export declare function handleLxcExec(_client: ProxmoxApiClient, config: Config, input: LxcExecInput): Promise<ToolResponse>;
6
+ //# sourceMappingURL=lxc-exec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lxc-exec.d.ts","sourceRoot":"","sources":["../../src/tools/lxc-exec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAMtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,wBAAsB,aAAa,CACjC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,YAAY,CAAC,CA0EvB"}
@@ -0,0 +1,62 @@
1
+ import { formatErrorResponse } from '../formatters/index.js';
2
+ import { requireElevated } from '../middleware/index.js';
3
+ import { validateNodeName, validateVMID, validateCommand } from '../validators/index.js';
4
+ import { getSshClient, shellQuote } from '../client/ssh.js';
5
+ import { lxcExecSchema } from '../schemas/lxc-exec.js';
6
+ export async function handleLxcExec(_client, config, input) {
7
+ try {
8
+ requireElevated(config, 'LXC exec');
9
+ if (!config.sshEnabled) {
10
+ throw new Error('SSH is not enabled. Set PROXMOX_SSH_ENABLED=true, PROXMOX_SSH_KEY_PATH, ' +
11
+ 'and PROXMOX_SSH_NODE to use LXC exec.');
12
+ }
13
+ if (!config.sshKeyPath) {
14
+ throw new Error('PROXMOX_SSH_KEY_PATH is required when SSH is enabled');
15
+ }
16
+ if (!config.sshNode) {
17
+ throw new Error('PROXMOX_SSH_NODE is required when SSH is enabled (the Proxmox node name reachable via SSH)');
18
+ }
19
+ const validated = lxcExecSchema.parse(input);
20
+ const safeNode = validateNodeName(validated.node);
21
+ const safeVmid = validateVMID(validated.vmid);
22
+ const safeCommand = validateCommand(validated.command, { allowUnsafe: config.allowUnsafeCommands });
23
+ if (safeNode !== config.sshNode) {
24
+ throw new Error(`Node mismatch: requested "${safeNode}" but SSH is configured for "${config.sshNode}". ` +
25
+ 'LXC exec can only target containers on the SSH-connected node.');
26
+ }
27
+ const sshHost = config.sshHost ?? config.host;
28
+ const ssh = getSshClient({
29
+ host: sshHost,
30
+ port: config.sshPort,
31
+ username: config.sshUser,
32
+ privateKeyPath: config.sshKeyPath,
33
+ hostKeyFingerprint: config.sshHostKeyFingerprint,
34
+ });
35
+ // Fixed command template: only `pct exec` is allowed via SSH
36
+ const pctCommand = `/usr/sbin/pct exec ${safeVmid} -- /bin/sh -c ${shellQuote(safeCommand)}`;
37
+ const result = await ssh.exec(pctCommand, validated.timeout);
38
+ const parts = [
39
+ `**LXC Command Result**\n`,
40
+ `* **Node**: ${safeNode}`,
41
+ `* **Container**: ${safeVmid}`,
42
+ `* **Command**: \`${safeCommand}\``,
43
+ `* **Exit Code**: ${result.exitCode}`,
44
+ ];
45
+ if (result.stdout.trim()) {
46
+ parts.push(`\n**stdout**:\n\`\`\`\n${result.stdout.trim()}\n\`\`\``);
47
+ }
48
+ if (result.stderr.trim()) {
49
+ parts.push(`\n**stderr**:\n\`\`\`\n${result.stderr.trim()}\n\`\`\``);
50
+ }
51
+ const isError = result.exitCode !== 0;
52
+ const output = parts.join('\n');
53
+ return {
54
+ content: [{ type: 'text', text: isError ? `${output}` : output }],
55
+ isError,
56
+ };
57
+ }
58
+ catch (error) {
59
+ return formatErrorResponse(error, 'LXC Exec');
60
+ }
61
+ }
62
+ //# sourceMappingURL=lxc-exec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lxc-exec.js","sourceRoot":"","sources":["../../src/tools/lxc-exec.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEhE,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiO7B,MAAM,MAAM,WAAW,GAAG,CACxB,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,GAAG,KACP,OAAO,CAAC,YAAY,CAAC,CAAC;AAG3B,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC;CACrB;AAGD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CA0K5D,CAAC;AAGF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,iBAAiB,GAAG,SAAS,CAEhF"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEhE,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmO7B,MAAM,MAAM,WAAW,GAAG,CACxB,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,GAAG,KACP,OAAO,CAAC,YAAY,CAAC,CAAC;AAG3B,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC;CACrB;AAGD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CA6K5D,CAAC;AAGF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,iBAAiB,GAAG,SAAS,CAEhF"}
@@ -2,7 +2,7 @@ import { TOOL_NAMES } from '../types/index.js';
2
2
  // Import all tool handlers
3
3
  import { handleGuestList, handleGuestStatus, handleGuestConfig, handleGuestPending, handleGuestFeature, handleGuestRrddata, } from './guest-query.js';
4
4
  import { guestListSchema, guestStatusSchema, guestConfigSchema, guestPendingSchema, guestFeatureSchema, guestRrddataSchema, guestStartSchema, guestStopSchema, guestRebootSchema, guestShutdownSchema, guestDeleteSchema, guestPauseSchema, guestResumeSchema, guestCloneSchema, guestResizeSchema, guestConfigUpdateSchema, guestMigrateSchema, guestTemplateSchema, } from '../schemas/guest.js';
5
- import { handleNodeTool, handleNodeService, handleNodeLog, handleNodeTask, handleNodeInfo, handleNodeConfig, handleNodeSubscription, handleApt, handleNodeBulk, handleNodePower, handleNodeReplication, handleClusterTool, getNextVMID, handleNodeNetworkIface, handleHaResourceTool, handleHaGroupTool, handleClusterFirewallRuleTool, handleClusterFirewallGroupTool, handleClusterFirewallTool, handleClusterFirewallAliasTool, handleClusterFirewallIpsetTool, handleClusterFirewallIpsetEntryTool, handleClusterBackupJobTool, handleClusterReplicationJobTool, handleClusterConfigTool, handleSdnVnetTool, handleSdnZoneTool, handleSdnControllerTool, handleSdnSubnetTool, handleUserTool, handleGroupTool, handleRoleTool, handleAclTool, handleDomainTool, handleUserTokenTool, handlePoolTool, handleStorageConfigTool, handleStorageContentTool, handleFileRestore, handleCephTool, handleCephOsdTool, handleCephMonTool, handleCephMdsTool, handleCephPoolTool, handleCephFsTool, handleGuestStart, handleGuestStop, handleGuestReboot, handleGuestShutdown, handleGuestDelete, handleGuestPause, handleGuestResume, handleGuestClone, handleGuestResize, handleGuestConfigUpdate, handleGuestMigrate, handleGuestTemplate, handleAgentInfo, handleAgentHw, handleAgentExec, handleAgentFile, handleAgentFreeze, handleAgentPower, handleAgentUser, handleGuestFirewallRule, handleConsoleVnc, handleConsoleTerm, getSpiceProxy, handleGuestSnapshot, handleBackup, handleVmDisk, handleLxcMountpoint, handleGuestDiskResize, handleGuestDiskMove, handleNodeDisk, handleNodeDiskAdmin, handleGuestNetwork, createLxc, createVM, handleCloudInit, handleCertificate, handleAcmeCert, handleAcmeAccount, handleAcmeInfo, handleNotification, } from './index.js';
5
+ import { handleNodeTool, handleNodeService, handleNodeLog, handleNodeTask, handleNodeInfo, handleNodeConfig, handleNodeSubscription, handleApt, handleNodeBulk, handleNodePower, handleNodeReplication, handleClusterTool, getNextVMID, handleNodeNetworkIface, handleHaResourceTool, handleHaGroupTool, handleClusterFirewallRuleTool, handleClusterFirewallGroupTool, handleClusterFirewallTool, handleClusterFirewallAliasTool, handleClusterFirewallIpsetTool, handleClusterFirewallIpsetEntryTool, handleClusterBackupJobTool, handleClusterReplicationJobTool, handleClusterConfigTool, handleSdnVnetTool, handleSdnZoneTool, handleSdnControllerTool, handleSdnSubnetTool, handleUserTool, handleGroupTool, handleRoleTool, handleAclTool, handleDomainTool, handleUserTokenTool, handlePoolTool, handleStorageConfigTool, handleStorageContentTool, handleFileRestore, handleCephTool, handleCephOsdTool, handleCephMonTool, handleCephMdsTool, handleCephPoolTool, handleCephFsTool, handleGuestStart, handleGuestStop, handleGuestReboot, handleGuestShutdown, handleGuestDelete, handleGuestPause, handleGuestResume, handleGuestClone, handleGuestResize, handleGuestConfigUpdate, handleGuestMigrate, handleGuestTemplate, handleAgentInfo, handleAgentHw, handleAgentExec, handleAgentFile, handleAgentFreeze, handleAgentPower, handleAgentUser, handleGuestFirewallRule, handleConsoleVnc, handleConsoleTerm, getSpiceProxy, handleGuestSnapshot, handleBackup, handleVmDisk, handleLxcMountpoint, handleGuestDiskResize, handleGuestDiskMove, handleNodeDisk, handleNodeDiskAdmin, handleGuestNetwork, createLxc, createVM, handleCloudInit, handleCertificate, handleAcmeCert, handleAcmeAccount, handleAcmeInfo, handleNotification, handleLxcExec, } from './index.js';
6
6
  // Import all schemas
7
7
  import { nodeToolSchema, clusterToolSchema, nodeServiceToolSchema, nodeLogToolSchema, nodeTaskToolSchema, nodeInfoToolSchema, nodeDiskSchema, getNextVmidSchema, } from '../schemas/node.js';
8
8
  import { nodeNetworkIfaceToolSchema, } from '../schemas/node-network.js';
@@ -25,6 +25,7 @@ import { cloudInitSchema } from '../schemas/cloud-init.js';
25
25
  import { certificateSchema, acmeCertSchema } from '../schemas/certificate.js';
26
26
  import { acmeAccountSchema, acmeInfoSchema } from '../schemas/acme.js';
27
27
  import { notificationSchema } from '../schemas/notifications.js';
28
+ import { lxcExecSchema } from '../schemas/lxc-exec.js';
28
29
  // Tool registry mapping tool names to handlers and schemas
29
30
  export const toolRegistry = {
30
31
  // Node & Cluster (consolidated)
@@ -173,6 +174,8 @@ export const toolRegistry = {
173
174
  proxmox_acme_info: { handler: handleAcmeInfo, schema: acmeInfoSchema },
174
175
  // Notification Management (consolidated)
175
176
  proxmox_notification: { handler: handleNotification, schema: notificationSchema },
177
+ // LXC Exec (SSH-based)
178
+ proxmox_lxc_exec: { handler: handleLxcExec, schema: lxcExecSchema },
176
179
  };
177
180
  // Helper to get tool handler
178
181
  export function getToolHandler(toolName) {
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export declare const TOOL_NAMES: readonly ["proxmox_node", "proxmox_cluster", "proxmox_node_service", "proxmox_node_log", "proxmox_node_task", "proxmox_node_info", "proxmox_node_config", "proxmox_node_subscription", "proxmox_apt", "proxmox_node_bulk", "proxmox_node_power", "proxmox_node_replication", "proxmox_node_network_iface", "proxmox_guest_list", "proxmox_guest_status", "proxmox_guest_config", "proxmox_guest_pending", "proxmox_guest_feature", "proxmox_guest_rrddata", "proxmox_create_lxc", "proxmox_create_vm", "proxmox_get_next_vmid", "proxmox_ha_resource", "proxmox_ha_group", "proxmox_cluster_firewall_rule", "proxmox_cluster_firewall_group", "proxmox_cluster_firewall", "proxmox_cluster_firewall_alias", "proxmox_cluster_firewall_ipset", "proxmox_cluster_firewall_ipset_entry", "proxmox_cluster_backup_job", "proxmox_cluster_replication_job", "proxmox_cluster_config", "proxmox_sdn_vnet", "proxmox_sdn_zone", "proxmox_sdn_controller", "proxmox_sdn_subnet", "proxmox_user", "proxmox_group", "proxmox_role", "proxmox_acl", "proxmox_domain", "proxmox_user_token", "proxmox_pool", "proxmox_storage_config", "proxmox_storage_content", "proxmox_file_restore", "proxmox_ceph", "proxmox_ceph_osd", "proxmox_ceph_mon", "proxmox_ceph_mds", "proxmox_ceph_pool", "proxmox_ceph_fs", "proxmox_guest_start", "proxmox_guest_stop", "proxmox_guest_reboot", "proxmox_guest_shutdown", "proxmox_guest_delete", "proxmox_guest_pause", "proxmox_guest_resume", "proxmox_guest_clone", "proxmox_guest_resize", "proxmox_guest_config_update", "proxmox_guest_migrate", "proxmox_guest_template", "proxmox_agent_info", "proxmox_agent_hw", "proxmox_agent_exec", "proxmox_agent_file", "proxmox_agent_freeze", "proxmox_agent_power", "proxmox_agent_user", "proxmox_guest_firewall_rule", "proxmox_console_vnc", "proxmox_console_term", "proxmox_console_spice", "proxmox_guest_snapshot", "proxmox_backup", "proxmox_vm_disk", "proxmox_lxc_mountpoint", "proxmox_guest_disk_resize", "proxmox_guest_disk_move", "proxmox_guest_network", "proxmox_node_disk", "proxmox_node_disk_admin", "proxmox_cloudinit", "proxmox_certificate", "proxmox_acme_cert", "proxmox_acme_account", "proxmox_acme_info", "proxmox_notification"];
1
+ export declare const TOOL_NAMES: readonly ["proxmox_node", "proxmox_cluster", "proxmox_node_service", "proxmox_node_log", "proxmox_node_task", "proxmox_node_info", "proxmox_node_config", "proxmox_node_subscription", "proxmox_apt", "proxmox_node_bulk", "proxmox_node_power", "proxmox_node_replication", "proxmox_node_network_iface", "proxmox_guest_list", "proxmox_guest_status", "proxmox_guest_config", "proxmox_guest_pending", "proxmox_guest_feature", "proxmox_guest_rrddata", "proxmox_create_lxc", "proxmox_create_vm", "proxmox_get_next_vmid", "proxmox_ha_resource", "proxmox_ha_group", "proxmox_cluster_firewall_rule", "proxmox_cluster_firewall_group", "proxmox_cluster_firewall", "proxmox_cluster_firewall_alias", "proxmox_cluster_firewall_ipset", "proxmox_cluster_firewall_ipset_entry", "proxmox_cluster_backup_job", "proxmox_cluster_replication_job", "proxmox_cluster_config", "proxmox_sdn_vnet", "proxmox_sdn_zone", "proxmox_sdn_controller", "proxmox_sdn_subnet", "proxmox_user", "proxmox_group", "proxmox_role", "proxmox_acl", "proxmox_domain", "proxmox_user_token", "proxmox_pool", "proxmox_storage_config", "proxmox_storage_content", "proxmox_file_restore", "proxmox_ceph", "proxmox_ceph_osd", "proxmox_ceph_mon", "proxmox_ceph_mds", "proxmox_ceph_pool", "proxmox_ceph_fs", "proxmox_guest_start", "proxmox_guest_stop", "proxmox_guest_reboot", "proxmox_guest_shutdown", "proxmox_guest_delete", "proxmox_guest_pause", "proxmox_guest_resume", "proxmox_guest_clone", "proxmox_guest_resize", "proxmox_guest_config_update", "proxmox_guest_migrate", "proxmox_guest_template", "proxmox_agent_info", "proxmox_agent_hw", "proxmox_agent_exec", "proxmox_agent_file", "proxmox_agent_freeze", "proxmox_agent_power", "proxmox_agent_user", "proxmox_guest_firewall_rule", "proxmox_console_vnc", "proxmox_console_term", "proxmox_console_spice", "proxmox_guest_snapshot", "proxmox_backup", "proxmox_vm_disk", "proxmox_lxc_mountpoint", "proxmox_guest_disk_resize", "proxmox_guest_disk_move", "proxmox_guest_network", "proxmox_node_disk", "proxmox_node_disk_admin", "proxmox_cloudinit", "proxmox_certificate", "proxmox_acme_cert", "proxmox_acme_account", "proxmox_acme_info", "proxmox_notification", "proxmox_lxc_exec"];
2
2
  export type ToolName = (typeof TOOL_NAMES)[number];
3
3
  export type PermissionLevel = 'basic' | 'elevated';
4
4
  export interface ToolResponse {
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/types/tools.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,4mEA8Fb,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,UAAU,CAAC;AAEnD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,UAAQ,GAAG,YAAY,CAK9E"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/types/tools.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,goEA+Fb,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,UAAU,CAAC;AAEnD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,UAAQ,GAAG,YAAY,CAK9E"}
@@ -90,6 +90,7 @@ export const TOOL_NAMES = [
90
90
  'proxmox_acme_account',
91
91
  'proxmox_acme_info',
92
92
  'proxmox_notification',
93
+ 'proxmox_lxc_exec',
93
94
  ];
94
95
  export function createToolResponse(text, isError = false) {
95
96
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/types/tools.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,cAAc;IACd,iBAAiB;IACjB,sBAAsB;IACtB,kBAAkB;IAClB,mBAAmB;IACnB,mBAAmB;IACnB,qBAAqB;IACrB,2BAA2B;IAC3B,aAAa;IACb,mBAAmB;IACnB,oBAAoB;IACpB,0BAA0B;IAC1B,4BAA4B;IAC5B,oBAAoB;IACpB,sBAAsB;IACtB,sBAAsB;IACtB,uBAAuB;IACvB,uBAAuB;IACvB,uBAAuB;IACvB,oBAAoB;IACpB,mBAAmB;IACnB,uBAAuB;IACvB,qBAAqB;IACrB,kBAAkB;IAClB,+BAA+B;IAC/B,gCAAgC;IAChC,0BAA0B;IAC1B,gCAAgC;IAChC,gCAAgC;IAChC,sCAAsC;IACtC,4BAA4B;IAC5B,iCAAiC;IACjC,wBAAwB;IACxB,kBAAkB;IAClB,kBAAkB;IAClB,wBAAwB;IACxB,oBAAoB;IACpB,cAAc;IACd,eAAe;IACf,cAAc;IACd,aAAa;IACb,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;IACd,wBAAwB;IACxB,yBAAyB;IACzB,sBAAsB;IACtB,cAAc;IACd,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;IAClB,mBAAmB;IACnB,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB;IACpB,sBAAsB;IACtB,wBAAwB;IACxB,sBAAsB;IACtB,qBAAqB;IACrB,sBAAsB;IACtB,qBAAqB;IACrB,sBAAsB;IACtB,6BAA6B;IAC7B,uBAAuB;IACvB,wBAAwB;IAExB,oBAAoB;IACpB,kBAAkB;IAClB,oBAAoB;IACpB,oBAAoB;IACpB,sBAAsB;IACtB,qBAAqB;IACrB,oBAAoB;IACpB,6BAA6B;IAC7B,qBAAqB;IACrB,sBAAsB;IACtB,uBAAuB;IACvB,wBAAwB;IACxB,gBAAgB;IAChB,iBAAiB;IACjB,wBAAwB;IACxB,2BAA2B;IAE3B,yBAAyB;IACzB,uBAAuB;IACvB,mBAAmB;IACnB,yBAAyB;IACzB,mBAAmB;IACnB,qBAAqB;IACrB,mBAAmB;IACnB,sBAAsB;IACtB,mBAAmB;IACnB,sBAAsB;CACd,CAAC;AAcX,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,OAAO,GAAG,KAAK;IAC9D,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACjC,OAAO;KACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/types/tools.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,cAAc;IACd,iBAAiB;IACjB,sBAAsB;IACtB,kBAAkB;IAClB,mBAAmB;IACnB,mBAAmB;IACnB,qBAAqB;IACrB,2BAA2B;IAC3B,aAAa;IACb,mBAAmB;IACnB,oBAAoB;IACpB,0BAA0B;IAC1B,4BAA4B;IAC5B,oBAAoB;IACpB,sBAAsB;IACtB,sBAAsB;IACtB,uBAAuB;IACvB,uBAAuB;IACvB,uBAAuB;IACvB,oBAAoB;IACpB,mBAAmB;IACnB,uBAAuB;IACvB,qBAAqB;IACrB,kBAAkB;IAClB,+BAA+B;IAC/B,gCAAgC;IAChC,0BAA0B;IAC1B,gCAAgC;IAChC,gCAAgC;IAChC,sCAAsC;IACtC,4BAA4B;IAC5B,iCAAiC;IACjC,wBAAwB;IACxB,kBAAkB;IAClB,kBAAkB;IAClB,wBAAwB;IACxB,oBAAoB;IACpB,cAAc;IACd,eAAe;IACf,cAAc;IACd,aAAa;IACb,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;IACd,wBAAwB;IACxB,yBAAyB;IACzB,sBAAsB;IACtB,cAAc;IACd,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;IAClB,mBAAmB;IACnB,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB;IACpB,sBAAsB;IACtB,wBAAwB;IACxB,sBAAsB;IACtB,qBAAqB;IACrB,sBAAsB;IACtB,qBAAqB;IACrB,sBAAsB;IACtB,6BAA6B;IAC7B,uBAAuB;IACvB,wBAAwB;IAExB,oBAAoB;IACpB,kBAAkB;IAClB,oBAAoB;IACpB,oBAAoB;IACpB,sBAAsB;IACtB,qBAAqB;IACrB,oBAAoB;IACpB,6BAA6B;IAC7B,qBAAqB;IACrB,sBAAsB;IACtB,uBAAuB;IACvB,wBAAwB;IACxB,gBAAgB;IAChB,iBAAiB;IACjB,wBAAwB;IACxB,2BAA2B;IAE3B,yBAAyB;IACzB,uBAAuB;IACvB,mBAAmB;IACnB,yBAAyB;IACzB,mBAAmB;IACnB,qBAAqB;IACrB,mBAAmB;IACnB,sBAAsB;IACtB,mBAAmB;IACnB,sBAAsB;IACtB,kBAAkB;CACV,CAAC;AAcX,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,OAAO,GAAG,KAAK;IAC9D,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACjC,OAAO;KACR,CAAC;AACJ,CAAC"}
@@ -65,14 +65,21 @@ export declare function validateReplicationJobId(id: unknown): string;
65
65
  * @throws {Error} If VMID is invalid
66
66
  */
67
67
  export declare function validateVMID(vmid: unknown): string;
68
+ export interface ValidateCommandOptions {
69
+ /** When true, skip dangerous character validation (PROXMOX_ALLOW_UNSAFE_COMMANDS) */
70
+ allowUnsafe?: boolean;
71
+ }
68
72
  /**
69
73
  * Validates a shell command for execution.
70
74
  * Blocks dangerous characters that could be used for command injection.
71
- * Maximum length: 1000 characters.
75
+ * Maximum length: 1000 characters (4000 when allowUnsafe is true).
76
+ *
77
+ * When `allowUnsafe` is true, the dangerous character check is skipped
78
+ * but the command must still be a non-empty string within the length limit.
72
79
  *
73
80
  * @throws {Error} If command contains dangerous characters or is too long
74
81
  */
75
- export declare function validateCommand(command: unknown): string;
82
+ export declare function validateCommand(command: unknown, options?: ValidateCommandOptions): string;
76
83
  /**
77
84
  * Validates a storage name.
78
85
  * Only allows alphanumeric characters, hyphens, underscores, and dots.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validators/index.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAiBtD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAgB5D;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAgBlD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAczD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAcxD;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAchE;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAW5D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAcvD;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAU5D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAWlD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAmBxD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAiB5D;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAqBpD;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAiB9D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAapD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAWtD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAW1D;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAa5D;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAqBtD;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAyB1D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAU/C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validators/index.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAiBtD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAgB5D;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAgBlD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAczD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAcxD;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAchE;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAW5D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAcvD;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAU5D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAWlD;AAED,MAAM,WAAW,sBAAsB;IACrC,qFAAqF;IACrF,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,MAAM,CAwB1F;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAiB5D;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAqBpD;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAiB9D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAapD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAWtD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAW1D;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAa5D;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAqBtD;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAyB1D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAU/C"}
@@ -173,22 +173,29 @@ export function validateVMID(vmid) {
173
173
  /**
174
174
  * Validates a shell command for execution.
175
175
  * Blocks dangerous characters that could be used for command injection.
176
- * Maximum length: 1000 characters.
176
+ * Maximum length: 1000 characters (4000 when allowUnsafe is true).
177
+ *
178
+ * When `allowUnsafe` is true, the dangerous character check is skipped
179
+ * but the command must still be a non-empty string within the length limit.
177
180
  *
178
181
  * @throws {Error} If command contains dangerous characters or is too long
179
182
  */
180
- export function validateCommand(command) {
183
+ export function validateCommand(command, options) {
181
184
  if (!command || typeof command !== 'string') {
182
185
  throw new Error('Command is required and must be a string');
183
186
  }
187
+ const allowUnsafe = options?.allowUnsafe === true;
184
188
  // Check for dangerous characters that could be used for command injection
185
- const dangerousChars = /[;&|`$(){}[\]<>\\]/g;
186
- if (dangerousChars.test(command)) {
187
- throw new Error('Command contains potentially dangerous characters: ; & | ` $ ( ) { } [ ] < > \\');
188
- }
189
- // Limit command length
190
- if (command.length > 1000) {
191
- throw new Error('Command exceeds maximum allowed length (1000 characters)');
189
+ if (!allowUnsafe) {
190
+ const dangerousChars = /[;&|`$(){}[\]<>\\]/g;
191
+ if (dangerousChars.test(command)) {
192
+ throw new Error('Command contains potentially dangerous characters: ; & | ` $ ( ) { } [ ] < > \\\n' +
193
+ 'Set PROXMOX_ALLOW_UNSAFE_COMMANDS=true to allow these characters.');
194
+ }
195
+ }
196
+ const maxLength = allowUnsafe ? 4000 : 1000;
197
+ if (command.length > maxLength) {
198
+ throw new Error(`Command exceeds maximum allowed length (${maxLength} characters)`);
192
199
  }
193
200
  return command;
194
201
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validators/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validators/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bldg-7/proxmox-mcp",
3
- "version": "1.0.4",
3
+ "version": "1.2.0",
4
4
  "description": "Proxmox MCP Server - TypeScript rewrite",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -27,12 +27,14 @@
27
27
  "@modelcontextprotocol/sdk": "^1.25.3",
28
28
  "dotenv": "^16.4.5",
29
29
  "pino": "^9.6.0",
30
+ "ssh2": "^1.17.0",
30
31
  "undici": "^7.20.0",
31
32
  "zod": "^3.23.8"
32
33
  },
33
34
  "devDependencies": {
34
35
  "@changesets/cli": "^2.29.8",
35
36
  "@types/node": "^25.2.0",
37
+ "@types/ssh2": "^1.15.5",
36
38
  "@typescript-eslint/eslint-plugin": "^7.18.0",
37
39
  "@typescript-eslint/parser": "^7.18.0",
38
40
  "@vitest/coverage-v8": "^2.1.9",