export type McpServerEntry = { command: string; args: string[]; env?: Record; }; export type McpConfigFile = { servers: Record; }; export type McpManifest = { schema_version: string; id: string; display_name: string; description: string; transport: "stdio"; runtime: McpServerEntry; docs: { quickstart: string; security: string; troubleshooting: string; }; }; export declare const serverId = "nandi-proxmox-mcp"; export declare const buildWorkspaceMcpConfig: (configPath: string) => McpConfigFile; export type PolicyEnvOptions = { accessTier?: string; moduleMode?: string; }; /** * Builds the server entry written into a client's MCP config. * * PVE_ACCESS_TIER and PVE_MODULE_MODE are read from the environment at * registration time and are not part of the JSON runtime config, so emitting * them here is the only way a generated config can pin the tool surface. * The access tier defaults to `full` inside the server, which is why setup * writes it explicitly rather than leaving it implicit. */ export declare const buildServerEntry: (configPath: string, policy?: PolicyEnvOptions) => McpServerEntry; export declare const normalizeMcpConfigDocument: (raw: string) => { normalized: McpConfigFile; migratedLegacy: boolean; }; export type McpConfigRootKey = "servers" | "mcpServers"; export type ValidateMcpConfigOptions = { /** `servers` for VS Code, `mcpServers` for Claude Code. */ rootKey?: McpConfigRootKey; /** * When true (the default, used for configs this tool generates) the launcher * must be exactly `npx nandi-proxmox-mcp run`. Reading a user's existing file * should pass false: `node dist/...`, `docker run` and `pnpm dlx` are all * legitimate ways to launch the server, and rejecting them would make * `doctor` fail on a perfectly working setup. */ strictLauncher?: boolean; /** Which server key to validate. Defaults to the single-instance name. */ serverKey?: string; }; export declare const validateMcpConfig: (value: unknown, options?: ValidateMcpConfigOptions) => { ok: boolean; errors: string[]; warnings: string[]; }; export declare const validateMcpManifest: (value: unknown) => { ok: boolean; errors: string[]; }; //# sourceMappingURL=installDescriptor.d.ts.map