mcp-server-kubernetes
Version:
MCP server for interacting with Kubernetes clusters via kubectl
60 lines (59 loc) • 2.28 kB
TypeScript
import { KubernetesManager } from "../types.js";
export declare const kubectlListSchema: {
readonly name: "kubectl_list";
readonly description: "List Kubernetes resources by resource type and optionally namespace";
readonly inputSchema: {
readonly type: "object";
readonly properties: {
readonly resourceType: {
readonly type: "string";
readonly description: "Type of resource to list (e.g., pods, deployments, services, configmaps, etc.)";
};
readonly namespace: {
readonly type: "string";
readonly description: "Namespace of the resources (optional - defaults to 'default' for namespaced resources)";
readonly default: "default";
};
readonly output: {
readonly type: "string";
readonly enum: readonly ["json", "yaml", "wide", "name", "custom", "formatted"];
readonly description: "Output format - 'formatted' uses a resource-specific format with key information";
readonly default: "formatted";
};
readonly allNamespaces: {
readonly type: "boolean";
readonly description: "If true, list resources across all namespaces";
readonly default: false;
};
readonly labelSelector: {
readonly type: "string";
readonly description: "Filter resources by label selector (e.g. 'app=nginx')";
};
readonly fieldSelector: {
readonly type: "string";
readonly description: "Filter resources by field selector (e.g. 'metadata.name=my-pod')";
};
};
readonly required: readonly ["resourceType", "namespace"];
};
};
export declare function kubectlList(k8sManager: KubernetesManager, input: {
resourceType: string;
namespace?: string;
output?: string;
allNamespaces?: boolean;
labelSelector?: string;
fieldSelector?: string;
}): Promise<{
content: {
type: string;
text: string;
}[];
isError?: undefined;
} | {
content: {
type: string;
text: string;
}[];
isError: boolean;
}>;