docker-mcp
Version:
A Model Context Protocol (MCP) server that enables AI agents to interact with Docker containers locally or remotely via SSH. Provides comprehensive Docker management capabilities including container operations, logs, monitoring, and cleanup.
56 lines • 2.53 kB
TypeScript
import Docker from "dockerode";
import { ContainerRestartInfo, CleanupResult, CleanupSummary } from "../types/docker.js";
export declare class DockerService {
private docker;
constructor(options?: Docker.DockerOptions);
listContainers(options?: {
all?: boolean;
filters?: Record<string, string>;
}): Promise<any[]>;
inspectContainer(containerId: string): Promise<any>;
startContainer(containerId: string): Promise<void>;
stopContainer(containerId: string, timeout?: number): Promise<void>;
restartContainer(containerId: string, timeout?: number): Promise<void>;
removeContainer(containerId: string, options?: {
force?: boolean;
v?: boolean;
}): Promise<void>;
createContainer(options: Docker.ContainerCreateOptions): Promise<Docker.Container>;
getContainerLogs(containerId: string, options?: {
tail?: number;
since?: string;
until?: string;
timestamps?: boolean;
}): Promise<string>;
private parseDockerLogs;
getContainerStats(containerId: string, stream?: boolean): Promise<any>;
execInContainer(containerId: string, command: string[], options?: any): Promise<{
output: string;
exitCode: number;
}>;
getContainerProcesses(containerId: string): Promise<any>;
getContainerChanges(containerId: string): Promise<any>;
listImages(options?: {
all?: boolean;
}): Promise<any[]>;
inspectImage(imageId: string): Promise<any>;
pullImage(imageName: string, options?: any): Promise<string>;
removeImage(imageId: string, options?: {
force?: boolean;
noprune?: boolean;
}): Promise<any>;
listNetworks(filters?: Record<string, string>): Promise<any[]>;
inspectNetwork(networkId: string): Promise<any>;
listVolumes(filters?: Record<string, string>): Promise<any>;
inspectVolume(volumeName: string): Promise<any>;
getSystemInfo(): Promise<any>;
getVersion(): Promise<any>;
getDiskUsage(): Promise<any>;
pruneContainers(filters?: Record<string, string>): Promise<CleanupResult>;
pruneImages(filters?: Record<string, string>): Promise<CleanupResult>;
pruneVolumes(filters?: Record<string, string>): Promise<CleanupResult>;
pruneNetworks(filters?: Record<string, string>): Promise<CleanupResult>;
detectRestartLoops(timeWindowMinutes?: number, maxRestarts?: number): Promise<ContainerRestartInfo[]>;
getCleanupSummary(): Promise<CleanupSummary>;
}
//# sourceMappingURL=DockerService.d.ts.map