mcp-server-kubernetes
Version:
MCP server for interacting with Kubernetes clusters via kubectl
95 lines (94 loc) • 2.09 kB
TypeScript
import { z } from "zod";
export declare const ResourceSchema: z.ZodObject<{
uri: z.ZodString;
name: z.ZodString;
description: z.ZodString;
}, "strip", z.ZodTypeAny, {
name: string;
uri: string;
description: string;
}, {
name: string;
uri: string;
description: string;
}>;
export declare const ListResourcesResponseSchema: z.ZodObject<{
resources: z.ZodArray<z.ZodObject<{
uri: z.ZodString;
name: z.ZodString;
description: z.ZodString;
}, "strip", z.ZodTypeAny, {
name: string;
uri: string;
description: string;
}, {
name: string;
uri: string;
description: string;
}>, "many">;
}, "strip", z.ZodTypeAny, {
resources: {
name: string;
uri: string;
description: string;
}[];
}, {
resources: {
name: string;
uri: string;
description: string;
}[];
}>;
export declare const ReadResourceResponseSchema: z.ZodObject<{
contents: z.ZodArray<z.ZodObject<{
uri: z.ZodString;
mimeType: z.ZodString;
text: z.ZodString;
}, "strip", z.ZodTypeAny, {
text: string;
uri: string;
mimeType: string;
}, {
text: string;
uri: string;
mimeType: string;
}>, "many">;
}, "strip", z.ZodTypeAny, {
contents: {
text: string;
uri: string;
mimeType: string;
}[];
}, {
contents: {
text: string;
uri: string;
mimeType: string;
}[];
}>;
export type K8sResource = z.infer<typeof ResourceSchema>;
export interface ResourceTracker {
kind: string;
name: string;
namespace: string;
createdAt: Date;
}
export interface PortForwardTracker {
id: string;
server: {
stop: () => Promise<void>;
};
resourceType: string;
name: string;
namespace: string;
ports: {
local: number;
remote: number;
}[];
}
export interface WatchTracker {
id: string;
abort: AbortController;
resourceType: string;
namespace: string;
}