@hypnosis/docker-mcp-server 1.0.1 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -1
- package/dist/adapters/adapter-registry.d.ts +5 -5
- package/dist/adapters/adapter-registry.js +5 -5
- package/dist/adapters/database-adapter.d.ts +8 -8
- package/dist/adapters/database-adapter.js +1 -1
- package/dist/adapters/postgresql.d.ts +8 -8
- package/dist/adapters/postgresql.js +26 -26
- package/dist/adapters/postgresql.js.map +1 -1
- package/dist/adapters/redis.d.ts +9 -9
- package/dist/adapters/redis.js +23 -23
- package/dist/adapters/redis.js.map +1 -1
- package/dist/adapters/sqlite.d.ts +6 -6
- package/dist/adapters/sqlite.js +14 -14
- package/dist/adapters/sqlite.js.map +1 -1
- package/dist/adapters/types.d.ts +6 -6
- package/dist/adapters/types.js +1 -1
- package/dist/discovery/project-discovery.d.ts.map +1 -1
- package/dist/discovery/project-discovery.js +17 -3
- package/dist/discovery/project-discovery.js.map +1 -1
- package/dist/index.js +56 -18
- package/dist/index.js.map +1 -1
- package/dist/managers/compose-manager.d.ts.map +1 -1
- package/dist/managers/compose-manager.js +33 -4
- package/dist/managers/compose-manager.js.map +1 -1
- package/dist/managers/container-manager.d.ts +57 -13
- package/dist/managers/container-manager.d.ts.map +1 -1
- package/dist/managers/container-manager.js +140 -28
- package/dist/managers/container-manager.js.map +1 -1
- package/dist/tools/container-tools.d.ts +6 -4
- package/dist/tools/container-tools.d.ts.map +1 -1
- package/dist/tools/container-tools.js +87 -8
- package/dist/tools/container-tools.js.map +1 -1
- package/dist/tools/database-tools.d.ts +3 -3
- package/dist/tools/database-tools.js +4 -4
- package/dist/tools/database-tools.js.map +1 -1
- package/dist/tools/env-tools.d.ts +4 -4
- package/dist/tools/env-tools.js +9 -9
- package/dist/tools/env-tools.js.map +1 -1
- package/dist/tools/executor-tool.d.ts +3 -3
- package/dist/tools/executor-tool.js +6 -6
- package/dist/tools/executor-tool.js.map +1 -1
- package/dist/tools/mcp-health-tool.d.ts +4 -4
- package/dist/tools/mcp-health-tool.js +5 -5
- package/dist/tools/mcp-health-tool.js.map +1 -1
- package/dist/utils/compose-exec.d.ts.map +1 -1
- package/dist/utils/compose-exec.js +16 -1
- package/dist/utils/compose-exec.js.map +1 -1
- package/dist/utils/port-utils.d.ts +24 -0
- package/dist/utils/port-utils.d.ts.map +1 -0
- package/dist/utils/port-utils.js +89 -0
- package/dist/utils/port-utils.js.map +1 -0
- package/dist/utils/workspace.d.ts +34 -0
- package/dist/utils/workspace.d.ts.map +1 -0
- package/dist/utils/workspace.js +52 -0
- package/dist/utils/workspace.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Container Manager
|
|
3
|
-
*
|
|
3
|
+
* Docker container management
|
|
4
4
|
*/
|
|
5
5
|
export interface ContainerInfo {
|
|
6
6
|
id: string;
|
|
@@ -22,36 +22,64 @@ export interface ContainerHealthStatus {
|
|
|
22
22
|
checks: number;
|
|
23
23
|
failures: number;
|
|
24
24
|
}
|
|
25
|
+
export interface ImageInfo {
|
|
26
|
+
id: string;
|
|
27
|
+
tags: string[];
|
|
28
|
+
size: number;
|
|
29
|
+
created: string;
|
|
30
|
+
}
|
|
31
|
+
export interface VolumeInfo {
|
|
32
|
+
name: string;
|
|
33
|
+
driver: string;
|
|
34
|
+
mountpoint: string;
|
|
35
|
+
created: string;
|
|
36
|
+
}
|
|
37
|
+
export interface NetworkInfo {
|
|
38
|
+
id: string;
|
|
39
|
+
name: string;
|
|
40
|
+
driver: string;
|
|
41
|
+
scope: string;
|
|
42
|
+
created: string;
|
|
43
|
+
}
|
|
44
|
+
export interface ContainerStats {
|
|
45
|
+
id: string;
|
|
46
|
+
name: string;
|
|
47
|
+
cpuPercent: string;
|
|
48
|
+
memoryUsage: string;
|
|
49
|
+
memoryPercent: string;
|
|
50
|
+
netIO: string;
|
|
51
|
+
blockIO: string;
|
|
52
|
+
}
|
|
25
53
|
export declare class ContainerManager {
|
|
26
54
|
private docker;
|
|
27
55
|
constructor();
|
|
28
56
|
/**
|
|
29
|
-
*
|
|
57
|
+
* List project containers
|
|
30
58
|
*/
|
|
31
59
|
listContainers(projectName: string, composeFile?: string, projectDir?: string): Promise<ContainerInfo[]>;
|
|
32
60
|
/**
|
|
33
|
-
*
|
|
61
|
+
* Start container
|
|
34
62
|
*/
|
|
35
63
|
startContainer(serviceName: string, projectName: string, composeFile?: string, projectDir?: string): Promise<void>;
|
|
36
64
|
/**
|
|
37
|
-
*
|
|
65
|
+
* Stop container
|
|
38
66
|
*/
|
|
39
67
|
stopContainer(serviceName: string, projectName: string, timeout?: number, composeFile?: string, projectDir?: string): Promise<void>;
|
|
40
68
|
/**
|
|
41
|
-
*
|
|
69
|
+
* Restart container
|
|
42
70
|
*/
|
|
43
71
|
restartContainer(serviceName: string, projectName: string, timeout?: number, composeFile?: string, projectDir?: string): Promise<void>;
|
|
44
72
|
/**
|
|
45
|
-
*
|
|
46
|
-
*
|
|
73
|
+
* Get container logs
|
|
74
|
+
* Returns string for normal mode or stream for follow mode
|
|
47
75
|
*/
|
|
48
76
|
getLogs(serviceName: string, projectName: string, options?: LogOptions, composeFile?: string, projectDir?: string): Promise<string | NodeJS.ReadableStream>;
|
|
49
77
|
/**
|
|
50
|
-
*
|
|
78
|
+
* Get container health status
|
|
51
79
|
*/
|
|
52
80
|
getHealthStatus(serviceName: string, projectName: string, composeFile?: string, projectDir?: string): Promise<ContainerHealthStatus>;
|
|
53
81
|
/**
|
|
54
|
-
*
|
|
82
|
+
* Execute command in container
|
|
55
83
|
*/
|
|
56
84
|
exec(serviceName: string, projectName: string, command: string[], options?: {
|
|
57
85
|
user?: string;
|
|
@@ -60,22 +88,38 @@ export declare class ContainerManager {
|
|
|
60
88
|
interactive?: boolean;
|
|
61
89
|
}, composeFile?: string, projectDir?: string): Promise<string>;
|
|
62
90
|
/**
|
|
63
|
-
*
|
|
91
|
+
* Find container by service name
|
|
64
92
|
*/
|
|
65
93
|
private findContainer;
|
|
66
94
|
/**
|
|
67
|
-
*
|
|
95
|
+
* Map Docker ContainerInfo → our format
|
|
68
96
|
*/
|
|
69
97
|
private mapContainerInfo;
|
|
70
98
|
/**
|
|
71
|
-
*
|
|
99
|
+
* Extract ports from Docker container info
|
|
72
100
|
*/
|
|
73
101
|
private extractPorts;
|
|
74
102
|
/**
|
|
75
|
-
*
|
|
103
|
+
* Extract service name from container name
|
|
76
104
|
* project_service_1 → service
|
|
77
105
|
* project-service-1 → service
|
|
78
106
|
*/
|
|
79
107
|
private extractServiceName;
|
|
108
|
+
/**
|
|
109
|
+
* List Docker images
|
|
110
|
+
*/
|
|
111
|
+
listImages(): Promise<ImageInfo[]>;
|
|
112
|
+
/**
|
|
113
|
+
* List Docker volumes
|
|
114
|
+
*/
|
|
115
|
+
listVolumes(): Promise<VolumeInfo[]>;
|
|
116
|
+
/**
|
|
117
|
+
* List Docker networks
|
|
118
|
+
*/
|
|
119
|
+
listNetworks(): Promise<NetworkInfo[]>;
|
|
120
|
+
/**
|
|
121
|
+
* Get container stats (CPU, Memory, Network, Block I/O)
|
|
122
|
+
*/
|
|
123
|
+
getContainerStats(serviceName: string, projectName: string, composeFile?: string, projectDir?: string): Promise<ContainerStats>;
|
|
80
124
|
}
|
|
81
125
|
//# sourceMappingURL=container-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container-manager.d.ts","sourceRoot":"","sources":["../../src/managers/container-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,GAAG,aAAa,CAAC;IACtE,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAS;;IAOvB;;OAEG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA+E9G;;OAEG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxH;;OAEG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,SAAK,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrI;;OAEG;IACG,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,SAAK,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxI;;;OAGG;IACG,OAAO,CACX,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,UAAe,EACxB,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC;IAiC1C;;OAEG;IACG,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAuC1I;;OAEG;IACG,IAAI,CACR,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,GAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAO,EACxF,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC;IAiClB;;OAEG;YACW,aAAa;IAgB3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAoBxB;;OAEG;IACH,OAAO,CAAC,YAAY;IAcpB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;
|
|
1
|
+
{"version":3,"file":"container-manager.d.ts","sourceRoot":"","sources":["../../src/managers/container-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Container Manager
|
|
3
|
-
*
|
|
3
|
+
* Docker container management
|
|
4
4
|
*/
|
|
5
5
|
import { logger } from '../utils/logger.js';
|
|
6
6
|
import { getDockerClient } from '../utils/docker-client.js';
|
|
@@ -11,11 +11,11 @@ export class ContainerManager {
|
|
|
11
11
|
this.docker = client.getClient();
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
14
|
+
* List project containers
|
|
15
15
|
*/
|
|
16
16
|
async listContainers(projectName, composeFile, projectDir) {
|
|
17
17
|
logger.debug(`Listing containers for project: ${projectName}`);
|
|
18
|
-
//
|
|
18
|
+
// Option 1: Use Docker Compose labels (direct Docker API call)
|
|
19
19
|
try {
|
|
20
20
|
const containers = await this.docker.listContainers({
|
|
21
21
|
all: true,
|
|
@@ -32,7 +32,7 @@ export class ContainerManager {
|
|
|
32
32
|
catch (error) {
|
|
33
33
|
logger.debug('Failed to list containers via labels:', error);
|
|
34
34
|
}
|
|
35
|
-
// Fallback 1:
|
|
35
|
+
// Fallback 1: Use docker-compose ps CLI (if composeFile exists)
|
|
36
36
|
if (composeFile && projectDir) {
|
|
37
37
|
try {
|
|
38
38
|
const { ComposeExec } = await import('../utils/compose-exec.js');
|
|
@@ -53,7 +53,7 @@ export class ContainerManager {
|
|
|
53
53
|
.filter(c => c && c.Name);
|
|
54
54
|
if (composeContainers.length > 0) {
|
|
55
55
|
logger.debug(`Found ${composeContainers.length} containers via docker-compose ps`);
|
|
56
|
-
//
|
|
56
|
+
// Get full container information via Docker API
|
|
57
57
|
const containerNames = composeContainers.map(c => c.Name);
|
|
58
58
|
const allContainers = await this.docker.listContainers({ all: true });
|
|
59
59
|
const projectContainers = allContainers.filter(c => {
|
|
@@ -73,7 +73,7 @@ export class ContainerManager {
|
|
|
73
73
|
logger.debug('Failed to use docker-compose ps:', error);
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
|
-
// Fallback 2:
|
|
76
|
+
// Fallback 2: Filter by project name in container name
|
|
77
77
|
logger.debug('Using name-based filter as final fallback');
|
|
78
78
|
const containers = await this.docker.listContainers({
|
|
79
79
|
all: true,
|
|
@@ -84,7 +84,7 @@ export class ContainerManager {
|
|
|
84
84
|
return containers.map((c) => this.mapContainerInfo(c, projectName));
|
|
85
85
|
}
|
|
86
86
|
/**
|
|
87
|
-
*
|
|
87
|
+
* Start container
|
|
88
88
|
*/
|
|
89
89
|
async startContainer(serviceName, projectName, composeFile, projectDir) {
|
|
90
90
|
const container = await this.findContainer(serviceName, projectName, composeFile, projectDir);
|
|
@@ -93,7 +93,7 @@ export class ContainerManager {
|
|
|
93
93
|
logger.info(`Container ${serviceName} started successfully`);
|
|
94
94
|
}
|
|
95
95
|
/**
|
|
96
|
-
*
|
|
96
|
+
* Stop container
|
|
97
97
|
*/
|
|
98
98
|
async stopContainer(serviceName, projectName, timeout = 10, composeFile, projectDir) {
|
|
99
99
|
const container = await this.findContainer(serviceName, projectName, composeFile, projectDir);
|
|
@@ -102,7 +102,7 @@ export class ContainerManager {
|
|
|
102
102
|
logger.info(`Container ${serviceName} stopped successfully`);
|
|
103
103
|
}
|
|
104
104
|
/**
|
|
105
|
-
*
|
|
105
|
+
* Restart container
|
|
106
106
|
*/
|
|
107
107
|
async restartContainer(serviceName, projectName, timeout = 10, composeFile, projectDir) {
|
|
108
108
|
const container = await this.findContainer(serviceName, projectName, composeFile, projectDir);
|
|
@@ -111,13 +111,13 @@ export class ContainerManager {
|
|
|
111
111
|
logger.info(`Container ${serviceName} restarted successfully`);
|
|
112
112
|
}
|
|
113
113
|
/**
|
|
114
|
-
*
|
|
115
|
-
*
|
|
114
|
+
* Get container logs
|
|
115
|
+
* Returns string for normal mode or stream for follow mode
|
|
116
116
|
*/
|
|
117
117
|
async getLogs(serviceName, projectName, options = {}, composeFile, projectDir) {
|
|
118
118
|
const container = await this.findContainer(serviceName, projectName, composeFile, projectDir);
|
|
119
119
|
logger.debug(`Getting logs for: ${serviceName}`, options);
|
|
120
|
-
//
|
|
120
|
+
// If follow mode → return stream
|
|
121
121
|
if (options.follow) {
|
|
122
122
|
logger.debug('Returning stream for follow mode');
|
|
123
123
|
const logs = await container.logs({
|
|
@@ -130,7 +130,7 @@ export class ContainerManager {
|
|
|
130
130
|
});
|
|
131
131
|
return logs;
|
|
132
132
|
}
|
|
133
|
-
//
|
|
133
|
+
// Otherwise → return string
|
|
134
134
|
const logs = await container.logs({
|
|
135
135
|
stdout: true,
|
|
136
136
|
stderr: true,
|
|
@@ -139,17 +139,17 @@ export class ContainerManager {
|
|
|
139
139
|
timestamps: options.timestamps || false,
|
|
140
140
|
since: options.since,
|
|
141
141
|
});
|
|
142
|
-
// logs
|
|
142
|
+
// logs is now Buffer, convert to string
|
|
143
143
|
return Buffer.isBuffer(logs) ? logs.toString('utf-8') : logs.toString('utf-8');
|
|
144
144
|
}
|
|
145
145
|
/**
|
|
146
|
-
*
|
|
146
|
+
* Get container health status
|
|
147
147
|
*/
|
|
148
148
|
async getHealthStatus(serviceName, projectName, composeFile, projectDir) {
|
|
149
149
|
const container = await this.findContainer(serviceName, projectName, composeFile, projectDir);
|
|
150
150
|
try {
|
|
151
151
|
const info = await container.inspect();
|
|
152
|
-
//
|
|
152
|
+
// If container is not running
|
|
153
153
|
if (info.State.Status !== 'running') {
|
|
154
154
|
return {
|
|
155
155
|
status: 'not_running',
|
|
@@ -157,7 +157,7 @@ export class ContainerManager {
|
|
|
157
157
|
failures: 0,
|
|
158
158
|
};
|
|
159
159
|
}
|
|
160
|
-
//
|
|
160
|
+
// If healthcheck is not defined
|
|
161
161
|
if (!info.State.Health) {
|
|
162
162
|
return {
|
|
163
163
|
status: 'none',
|
|
@@ -165,7 +165,7 @@ export class ContainerManager {
|
|
|
165
165
|
failures: 0,
|
|
166
166
|
};
|
|
167
167
|
}
|
|
168
|
-
// Healthcheck
|
|
168
|
+
// Healthcheck is defined
|
|
169
169
|
const health = info.State.Health;
|
|
170
170
|
const status = health.Status;
|
|
171
171
|
return {
|
|
@@ -180,7 +180,7 @@ export class ContainerManager {
|
|
|
180
180
|
}
|
|
181
181
|
}
|
|
182
182
|
/**
|
|
183
|
-
*
|
|
183
|
+
* Execute command in container
|
|
184
184
|
*/
|
|
185
185
|
async exec(serviceName, projectName, command, options = {}, composeFile, projectDir) {
|
|
186
186
|
const container = await this.findContainer(serviceName, projectName, composeFile, projectDir);
|
|
@@ -210,7 +210,7 @@ export class ContainerManager {
|
|
|
210
210
|
});
|
|
211
211
|
}
|
|
212
212
|
/**
|
|
213
|
-
*
|
|
213
|
+
* Find container by service name
|
|
214
214
|
*/
|
|
215
215
|
async findContainer(serviceName, projectName, composeFile, projectDir) {
|
|
216
216
|
const containers = await this.listContainers(projectName, composeFile, projectDir);
|
|
@@ -223,12 +223,12 @@ export class ContainerManager {
|
|
|
223
223
|
return this.docker.getContainer(found.id);
|
|
224
224
|
}
|
|
225
225
|
/**
|
|
226
|
-
*
|
|
226
|
+
* Map Docker ContainerInfo → our format
|
|
227
227
|
*/
|
|
228
228
|
mapContainerInfo(container, projectName, serviceNameOverride) {
|
|
229
|
-
//
|
|
229
|
+
// Container name: /project_service_1 → extract service
|
|
230
230
|
const fullName = container.Names[0]?.replace(/^\//, '') || '';
|
|
231
|
-
//
|
|
231
|
+
// Priority: override → label → extraction from name
|
|
232
232
|
const serviceName = serviceNameOverride
|
|
233
233
|
|| container.Labels?.['com.docker.compose.service']
|
|
234
234
|
|| this.extractServiceName(fullName, projectName);
|
|
@@ -243,7 +243,7 @@ export class ContainerManager {
|
|
|
243
243
|
};
|
|
244
244
|
}
|
|
245
245
|
/**
|
|
246
|
-
*
|
|
246
|
+
* Extract ports from Docker container info
|
|
247
247
|
*/
|
|
248
248
|
extractPorts(ports) {
|
|
249
249
|
if (!ports || ports.length === 0)
|
|
@@ -259,20 +259,132 @@ export class ContainerManager {
|
|
|
259
259
|
}).filter((p) => p.length > 0);
|
|
260
260
|
}
|
|
261
261
|
/**
|
|
262
|
-
*
|
|
262
|
+
* Extract service name from container name
|
|
263
263
|
* project_service_1 → service
|
|
264
264
|
* project-service-1 → service
|
|
265
265
|
*/
|
|
266
266
|
extractServiceName(containerName, projectName) {
|
|
267
|
-
//
|
|
267
|
+
// Remove project name from beginning
|
|
268
268
|
let name = containerName;
|
|
269
269
|
if (name.startsWith(projectName)) {
|
|
270
270
|
name = name.slice(projectName.length);
|
|
271
271
|
}
|
|
272
|
-
//
|
|
272
|
+
// Remove separators and number at the end
|
|
273
273
|
// project_service_1 → _service_1 → service_1 → service
|
|
274
274
|
name = name.replace(/^[_-]/, '').replace(/[_-]\d+$/, '');
|
|
275
|
-
return name || containerName; // Fallback
|
|
275
|
+
return name || containerName; // Fallback to full name
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* List Docker images
|
|
279
|
+
*/
|
|
280
|
+
async listImages() {
|
|
281
|
+
logger.debug('Listing Docker images');
|
|
282
|
+
try {
|
|
283
|
+
const images = await this.docker.listImages({ all: false });
|
|
284
|
+
return images.map((img) => ({
|
|
285
|
+
id: img.Id.replace('sha256:', '').slice(0, 12),
|
|
286
|
+
tags: img.RepoTags || ['<none>'],
|
|
287
|
+
size: img.Size,
|
|
288
|
+
created: new Date(img.Created * 1000).toISOString(),
|
|
289
|
+
}));
|
|
290
|
+
}
|
|
291
|
+
catch (error) {
|
|
292
|
+
logger.error('Failed to list images:', error);
|
|
293
|
+
throw new Error(`Failed to list Docker images: ${error.message}`);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* List Docker volumes
|
|
298
|
+
*/
|
|
299
|
+
async listVolumes() {
|
|
300
|
+
logger.debug('Listing Docker volumes');
|
|
301
|
+
try {
|
|
302
|
+
const result = await this.docker.listVolumes();
|
|
303
|
+
const volumes = result.Volumes || [];
|
|
304
|
+
return volumes.map((vol) => ({
|
|
305
|
+
name: vol.Name,
|
|
306
|
+
driver: vol.Driver,
|
|
307
|
+
mountpoint: vol.Mountpoint,
|
|
308
|
+
created: vol.CreatedAt || 'N/A',
|
|
309
|
+
}));
|
|
310
|
+
}
|
|
311
|
+
catch (error) {
|
|
312
|
+
logger.error('Failed to list volumes:', error);
|
|
313
|
+
throw new Error(`Failed to list Docker volumes: ${error.message}`);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* List Docker networks
|
|
318
|
+
*/
|
|
319
|
+
async listNetworks() {
|
|
320
|
+
logger.debug('Listing Docker networks');
|
|
321
|
+
try {
|
|
322
|
+
const networks = await this.docker.listNetworks();
|
|
323
|
+
return networks.map((net) => ({
|
|
324
|
+
id: net.Id.slice(0, 12),
|
|
325
|
+
name: net.Name,
|
|
326
|
+
driver: net.Driver,
|
|
327
|
+
scope: net.Scope,
|
|
328
|
+
created: net.Created || 'N/A',
|
|
329
|
+
}));
|
|
330
|
+
}
|
|
331
|
+
catch (error) {
|
|
332
|
+
logger.error('Failed to list networks:', error);
|
|
333
|
+
throw new Error(`Failed to list Docker networks: ${error.message}`);
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
/**
|
|
337
|
+
* Get container stats (CPU, Memory, Network, Block I/O)
|
|
338
|
+
*/
|
|
339
|
+
async getContainerStats(serviceName, projectName, composeFile, projectDir) {
|
|
340
|
+
const container = await this.findContainer(serviceName, projectName, composeFile, projectDir);
|
|
341
|
+
logger.debug(`Getting stats for: ${serviceName}`);
|
|
342
|
+
try {
|
|
343
|
+
const stats = await container.stats({ stream: false });
|
|
344
|
+
// Calculate CPU percentage
|
|
345
|
+
const cpuDelta = stats.cpu_stats.cpu_usage.total_usage - stats.precpu_stats.cpu_usage.total_usage;
|
|
346
|
+
const systemDelta = stats.cpu_stats.system_cpu_usage - stats.precpu_stats.system_cpu_usage;
|
|
347
|
+
const cpuPercent = systemDelta > 0 && cpuDelta > 0
|
|
348
|
+
? ((cpuDelta / systemDelta) * stats.cpu_stats.online_cpus * 100).toFixed(2)
|
|
349
|
+
: '0.00';
|
|
350
|
+
// Calculate memory usage
|
|
351
|
+
const memoryUsage = stats.memory_stats.usage || 0;
|
|
352
|
+
const memoryLimit = stats.memory_stats.limit || 0;
|
|
353
|
+
const memoryPercent = memoryLimit > 0
|
|
354
|
+
? ((memoryUsage / memoryLimit) * 100).toFixed(2)
|
|
355
|
+
: '0.00';
|
|
356
|
+
// Format memory usage (MB)
|
|
357
|
+
const memoryUsageMB = (memoryUsage / 1024 / 1024).toFixed(2);
|
|
358
|
+
const memoryLimitMB = (memoryLimit / 1024 / 1024).toFixed(2);
|
|
359
|
+
// Network I/O
|
|
360
|
+
const networks = stats.networks || {};
|
|
361
|
+
let rxBytes = 0;
|
|
362
|
+
let txBytes = 0;
|
|
363
|
+
Object.values(networks).forEach((net) => {
|
|
364
|
+
rxBytes += net.rx_bytes || 0;
|
|
365
|
+
txBytes += net.tx_bytes || 0;
|
|
366
|
+
});
|
|
367
|
+
const netIO = `${(rxBytes / 1024 / 1024).toFixed(2)}MB / ${(txBytes / 1024 / 1024).toFixed(2)}MB`;
|
|
368
|
+
// Block I/O
|
|
369
|
+
const blkRead = stats.blkio_stats?.io_service_bytes_recursive?.find((item) => item.op === 'read')?.value || 0;
|
|
370
|
+
const blkWrite = stats.blkio_stats?.io_service_bytes_recursive?.find((item) => item.op === 'write')?.value || 0;
|
|
371
|
+
const blockIO = `${(blkRead / 1024 / 1024).toFixed(2)}MB / ${(blkWrite / 1024 / 1024).toFixed(2)}MB`;
|
|
372
|
+
const containerInfo = await container.inspect();
|
|
373
|
+
const containerName = containerInfo.Name.replace(/^\//, '');
|
|
374
|
+
return {
|
|
375
|
+
id: container.id.slice(0, 12),
|
|
376
|
+
name: containerName,
|
|
377
|
+
cpuPercent: `${cpuPercent}%`,
|
|
378
|
+
memoryUsage: `${memoryUsageMB}MB / ${memoryLimitMB}MB`,
|
|
379
|
+
memoryPercent: `${memoryPercent}%`,
|
|
380
|
+
netIO,
|
|
381
|
+
blockIO,
|
|
382
|
+
};
|
|
383
|
+
}
|
|
384
|
+
catch (error) {
|
|
385
|
+
logger.error(`Failed to get stats for ${serviceName}:`, error);
|
|
386
|
+
throw new Error(`Failed to get container stats: ${error.message}`);
|
|
387
|
+
}
|
|
276
388
|
}
|
|
277
389
|
}
|
|
278
390
|
//# sourceMappingURL=container-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container-manager.js","sourceRoot":"","sources":["../../src/managers/container-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"container-manager.js","sourceRoot":"","sources":["../../src/managers/container-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Container Tools
|
|
3
|
-
* MCP Tools
|
|
3
|
+
* MCP Tools for Docker container management
|
|
4
4
|
*/
|
|
5
5
|
import { CallToolRequest, Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
6
6
|
export declare class ContainerTools {
|
|
@@ -9,11 +9,11 @@ export declare class ContainerTools {
|
|
|
9
9
|
private projectDiscovery;
|
|
10
10
|
constructor();
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* Register all container tools
|
|
13
13
|
*/
|
|
14
14
|
getTools(): Tool[];
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* Handle tool call
|
|
17
17
|
*/
|
|
18
18
|
handleCall(request: CallToolRequest): Promise<any>;
|
|
19
19
|
private handleList;
|
|
@@ -23,8 +23,10 @@ export declare class ContainerTools {
|
|
|
23
23
|
private handleLogs;
|
|
24
24
|
private handleComposeUp;
|
|
25
25
|
private handleComposeDown;
|
|
26
|
+
private handleResourceList;
|
|
27
|
+
private handleStats;
|
|
26
28
|
/**
|
|
27
|
-
* Helper:
|
|
29
|
+
* Helper: get project config (auto-detect or explicit)
|
|
28
30
|
*/
|
|
29
31
|
private getProject;
|
|
30
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container-tools.d.ts","sourceRoot":"","sources":["../../src/tools/container-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,eAAe,EACf,IAAI,EACL,MAAM,oCAAoC,CAAC;AAM5C,qBAAa,cAAc;IACzB,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,gBAAgB,CAAmB;;IAQ3C;;OAEG;IACH,QAAQ,IAAI,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"container-tools.d.ts","sourceRoot":"","sources":["../../src/tools/container-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,eAAe,EACf,IAAI,EACL,MAAM,oCAAoC,CAAC;AAM5C,qBAAa,cAAc;IACzB,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,gBAAgB,CAAmB;;IAQ3C;;OAEG;IACH,QAAQ,IAAI,IAAI,EAAE;IAwMlB;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;YAiD1C,UAAU;YAcV,WAAW;YAkBX,UAAU;YAwBV,aAAa;YAwBb,UAAU;YAyDV,eAAe;YAkBf,iBAAiB;YAiBjB,kBAAkB;YA8BlB,WAAW;IAkBzB;;OAEG;YACW,UAAU;CAKzB"}
|