import { MCPServer } from '../server/MCPServer.js'; import { KubernetesClient, KubernetesClientConfig } from '../kubernetes/KubernetesClient.js'; import { type BaseTool } from '../tools/kubernetes/index.js'; import { BaseToolsPlugin } from './BaseToolsPlugin.js'; /** * Plugin that registers Kubernetes tools with the MCP server */ export declare class KubernetesToolsPlugin extends BaseToolsPlugin { private config?; name: string; private clientCacheByContext; private lastUsedAtByContext; private clientTtlMs; constructor(config?: KubernetesClientConfig | undefined); /** * Create the list of all available tool instances * This is the single source of truth for all tools in the plugin */ protected createToolInstances(): BaseTool[]; /** * Get all command names from the tool instances */ static getCommandNames(): string[]; /** * Create a Winston logger for CLI usage only if LOG_LEVEL is set */ private static createLogger; /** * Static method to directly execute a command from CLI without starting the MCP server * @param commandName The name of the command to execute * @param params Parameters for the command * @returns The result of the command execution */ static executeCommand(commandName: string, params: Record): Promise; /** * Get or create a Kubernetes client, reusing cached instances when possible. * This method can be called by other plugins to share the same client instance. */ createOrReuseClient(): Promise; /** Build Kubernetes client config from environment variables */ private buildConfigFromEnv; initialize(server: MCPServer): Promise; /** * Re-initialize Kubernetes context for a new conversation by clearing * any cached clients so the next tool execution constructs a fresh client * from the current kubeconfig context. */ onNewConversation(): Promise; /** * Get a function that executes a specific tool by name * @param toolName The name of the tool to execute * @returns A function that takes parameters and executes the tool, or undefined if the tool doesn't exist */ getToolFunction(toolName: string): ((params: any) => Promise) | undefined; shutdown(): Promise; } //# sourceMappingURL=KubernetesToolsPlugin.d.ts.map