mcp-server-kubernetes
Version:
MCP server for interacting with Kubernetes clusters via kubectl
183 lines (182 loc) • 5.03 kB
TypeScript
/**
* Tool: install_helm_chart
* Install a Helm chart with support for both standard Helm install and template-based installation.
* Template mode bypasses authentication issues and kubeconfig API version mismatches.
* Supports local chart paths, remote repositories, and custom values.
*/
import { HelmInstallOperation, HelmUpgradeOperation, HelmUninstallOperation } from "../models/helm-models.js";
/**
* Schema for install_helm_chart tool.
* - name: Release name
* - chart: Chart name or path to chart directory
* - namespace: Target namespace
* - repo: (Optional) Helm repository URL
* - values: (Optional) Custom values object
* - valuesFile: (Optional) Path to values file
* - useTemplate: (Optional) Use template mode instead of helm install
* - createNamespace: (Optional) Create namespace if it doesn't exist
*/
export declare const installHelmChartSchema: {
name: string;
description: string;
inputSchema: {
type: string;
properties: {
name: {
type: string;
description: string;
};
chart: {
type: string;
description: string;
};
namespace: {
type: "string";
description: string;
default: string;
};
context: {
type: "string";
description: string;
default: string;
};
repo: {
type: string;
description: string;
};
values: {
type: string;
description: string;
};
valuesFile: {
type: string;
description: string;
};
useTemplate: {
type: string;
description: string;
default: boolean;
};
createNamespace: {
type: string;
description: string;
default: boolean;
};
};
required: string[];
};
};
/**
* Schema for upgrade_helm_chart tool.
* - name: Release name
* - chart: Chart name or path
* - namespace: Target namespace
* - repo: (Optional) Helm repository URL
* - values: (Optional) Custom values object
* - valuesFile: (Optional) Path to values file
*/
export declare const upgradeHelmChartSchema: {
name: string;
description: string;
inputSchema: {
type: string;
properties: {
name: {
type: string;
description: string;
};
chart: {
type: string;
description: string;
};
namespace: {
type: "string";
description: string;
default: string;
};
context: {
type: "string";
description: string;
default: string;
};
repo: {
type: string;
description: string;
};
values: {
type: string;
description: string;
};
valuesFile: {
type: string;
description: string;
};
};
required: string[];
};
};
/**
* Schema for uninstall_helm_chart tool.
* - name: Release name
* - namespace: Target namespace
*/
export declare const uninstallHelmChartSchema: {
name: string;
description: string;
annotations: {
destructiveHint: boolean;
};
inputSchema: {
type: string;
properties: {
name: {
type: string;
description: string;
};
namespace: {
type: "string";
description: string;
default: string;
};
context: {
type: "string";
description: string;
default: string;
};
};
required: string[];
};
};
/**
* Install a Helm chart using standard helm install command.
* @param params - Installation parameters
* @returns Promise with installation result
*/
export declare function installHelmChart(params: HelmInstallOperation): Promise<{
content: {
type: string;
text: string;
}[];
}>;
/**
* Upgrade an existing Helm chart release.
* @param params - Upgrade parameters
* @returns Promise with upgrade result
*/
export declare function upgradeHelmChart(params: HelmUpgradeOperation): Promise<{
content: {
type: string;
text: string;
}[];
}>;
/**
* Uninstall a Helm chart release.
* @param params - Uninstall parameters
* @returns Promise with uninstall result
*/
export declare function uninstallHelmChart(params: HelmUninstallOperation): Promise<{
content: {
type: string;
text: string;
}[];
}>;