github TypeScript analyzed 38db22b

NANDI-Services/proxmox-mcp

github

Open source MCP server for Proxmox VE. Automate, monitor, and operate clusters, VMs, and containers with 140+ tools, built-in guardrails, and real-world workflows.

maintainer
NANDI-Services
licence
MIT
first seen
2026-06-03
last seen
2026-08-14
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 0 tools
transport stdio · streamable-http · http verified reported listed in the official MCP registry counts 0 tools · 0 res · 0 prompts permission surface via code analysis

No tools enumerated yet for this server.

skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 38db22b · analyzer v33 · 1w ago

skills & prompt files 2

code evidence vv0.3.3 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 102

filesystem 23

  • fs NANDI-Services-proxmox-mcp-38db22b/emulator/fake-pve/gen-cert.mjs :10 import { existsSync, mkdirSync } from "node:fs";
  • fs NANDI-Services-proxmox-mcp-38db22b/emulator/fake-pve/server.mjs :15 import { readFileSync } from "node:fs";
  • fs (weak) NANDI-Services-proxmox-mcp-38db22b/scripts/check-mcp-descriptor-sync.mjs :1 import { readFile } from "node:fs/promises";
  • fs (weak) NANDI-Services-proxmox-mcp-38db22b/scripts/generate-tools-doc.mjs :1 import { writeFileSync } from "node:fs";
  • fs (weak) NANDI-Services-proxmox-mcp-38db22b/scripts/next-version.mjs :19 import { readFileSync } from "node:fs";
  • fs (weak) NANDI-Services-proxmox-mcp-38db22b/scripts/set-version.mjs :15 import { readFileSync, writeFileSync } from "node:fs";
  • fs (weak) NANDI-Services-proxmox-mcp-38db22b/scripts/validate-live-tools.mjs :1 import { readFileSync, writeFileSync } from "node:fs";
  • fs (weak) NANDI-Services-proxmox-mcp-38db22b/scripts/validate-manifest.mjs :1 import { readFile } from "node:fs/promises";
  • fs (weak) NANDI-Services-proxmox-mcp-38db22b/scripts/validate-package-metadata.mjs :1 import { readFile } from "node:fs/promises";
  • fs (weak) NANDI-Services-proxmox-mcp-38db22b/scripts/verify-registry-entry.mjs :1 import { readFile } from "node:fs/promises";
  • fs (weak) NANDI-Services-proxmox-mcp-38db22b/scripts/write-changelog.mjs :13 import { readFileSync, writeFileSync } from "node:fs";
  • fs NANDI-Services-proxmox-mcp-38db22b/src/cli/bootstrap.ts :2 import { existsSync, readFileSync } from "node:fs";
show 11 more
  • fs NANDI-Services-proxmox-mcp-38db22b/src/cli/doctor.ts :1 import { readFile } from "node:fs/promises";
  • fs NANDI-Services-proxmox-mcp-38db22b/src/cli/setup.ts :1 import { mkdir, readFile, writeFile } from "node:fs/promises";
  • fs NANDI-Services-proxmox-mcp-38db22b/src/config/fileConfig.ts :1 import { readFile, stat } from "node:fs/promises";
  • fs NANDI-Services-proxmox-mcp-38db22b/src/config/permissions.ts :1 import { mkdir, readFile, writeFile } from "node:fs/promises";
  • fs (weak) NANDI-Services-proxmox-mcp-38db22b/tests/e2e/globalSetup.ts :2 import { mkdtempSync, readFileSync, rmSync } from "node:fs";
  • fs (weak) NANDI-Services-proxmox-mcp-38db22b/tests/unit/bootstrap.test.ts :1 import { mkdtempSync, writeFileSync } from "node:fs";
  • fs (weak) NANDI-Services-proxmox-mcp-38db22b/tests/unit/catalog-policy.test.ts :1 import { readFileSync } from "node:fs";
  • fs (weak) NANDI-Services-proxmox-mcp-38db22b/tests/unit/configDiscovery.test.ts :1 import { mkdirSync, mkdtempSync, writeFileSync } from "node:fs";
  • fs (weak) NANDI-Services-proxmox-mcp-38db22b/tests/unit/harden.test.ts :1 import { mkdtempSync, readFileSync, writeFileSync, mkdirSync } from "node:fs";
  • fs (weak) NANDI-Services-proxmox-mcp-38db22b/tests/unit/instances.test.ts :1 import { mkdtempSync, mkdirSync, writeFileSync } from "node:fs";
  • fs (weak) NANDI-Services-proxmox-mcp-38db22b/tests/unit/permissions.test.ts :1 import { mkdtempSync, readFileSync, writeFileSync } from "node:fs";

shell / exec 6

  • shell NANDI-Services-proxmox-mcp-38db22b/emulator/fake-pve/gen-cert.mjs :9 import { spawnSync } from "node:child_process";
  • shell (weak) NANDI-Services-proxmox-mcp-38db22b/scripts/next-version.mjs :18 import { execFileSync } from "node:child_process";
  • shell NANDI-Services-proxmox-mcp-38db22b/src/cli/bootstrap.ts :1 import { spawnSync } from "node:child_process";
  • shell NANDI-Services-proxmox-mcp-38db22b/src/cli/setup.ts :5 import { spawnSync } from "node:child_process";
  • shell NANDI-Services-proxmox-mcp-38db22b/src/utils/safeExec.ts :1 import { spawn } from "node:child_process";
  • shell (weak) NANDI-Services-proxmox-mcp-38db22b/tests/e2e/globalSetup.ts :1 import { spawnSync } from "node:child_process";

network 7

  • net NANDI-Services-proxmox-mcp-38db22b/emulator/fake-pve/server.mjs :13 import { createServer as createHttpsServer } from "node:https";
  • net (weak) NANDI-Services-proxmox-mcp-38db22b/scripts/verify-registry-entry.mjs :37 const response = await fetch(`${registryUrl}?search=${encodeURIComponent(expected.name)}`, {
  • net NANDI-Services-proxmox-mcp-38db22b/src/proxmox/client.ts :1 import { Agent, fetch } from "undici";
  • net NANDI-Services-proxmox-mcp-38db22b/src/server/mcpServer.ts :1 import type { Server as HttpServer } from "node:http";
  • net (weak) NANDI-Services-proxmox-mcp-38db22b/tests/e2e/error-matrix.e2e.test.ts :1 import { createServer } from "node:net";
  • net (weak) NANDI-Services-proxmox-mcp-38db22b/tests/e2e/mcpHarness.ts :97 const response = await fetch(`http://127.0.0.1:${emulator.ctrlPort}/_control/fault`, {
  • net (weak) NANDI-Services-proxmox-mcp-38db22b/tests/integration/http-transport.test.ts :1 import { request as httpRequest } from "node:http";

secrets 1

  • secrets NANDI-Services-proxmox-mcp-38db22b/src/config/env.ts :11 tokenSecret: process.env.PROXMOX_TOKEN_SECRET,

install hooks 1

  • prepare NANDI-Services-proxmox-mcp-38db22b/package.json :81 npm run build

declared dependencies 13

  • @modelcontextprotocol/sdk@1.27.1
  • commander@13.1.0
  • express@5.2.1
  • express-rate-limit@8.6.2
  • undici@7.29.0
  • zod@3.25.76
  • @eslint/js@9.39.1
  • @types/express@5.0.5
  • @types/node@22.18.12
  • eslint@9.39.4
  • typescript@5.9.2
  • typescript-eslint@8.57.1
show 1 more
  • vitest@3.2.7

obfuscation 2

  • dynamic require()/import() NANDI-Services-proxmox-mcp-38db22b/scripts/generate-tools-doc.mjs :6 const { toolCatalog, toolCountByCategory } = await import(`file://${modulePath.replaceAll("\\", "/")}`);
  • dynamic require()/import() NANDI-Services-proxmox-mcp-38db22b/scripts/validate-live-tools.mjs :7 const distCatalog = await import(`file://${resolve(root, "dist/src/tools/catalog.js").replaceAll("\\", "/")}`);

transport_posture 1

  • binds all interfaces (0.0.0.0) NANDI-Services-proxmox-mcp-38db22b/emulator/fake-pve/server.mjs :216 host = "0.0.0.0",