@hypnosis/docker-mcp-server 1.0.4 → 1.2.1

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.
Files changed (79) hide show
  1. package/README.md +87 -28
  2. package/dist/adapters/redis.d.ts.map +1 -1
  3. package/dist/adapters/redis.js +18 -6
  4. package/dist/adapters/redis.js.map +1 -1
  5. package/dist/discovery/compose-parser.d.ts +4 -0
  6. package/dist/discovery/compose-parser.d.ts.map +1 -1
  7. package/dist/discovery/compose-parser.js +25 -0
  8. package/dist/discovery/compose-parser.js.map +1 -1
  9. package/dist/discovery/project-discovery.d.ts.map +1 -1
  10. package/dist/discovery/project-discovery.js +24 -0
  11. package/dist/discovery/project-discovery.js.map +1 -1
  12. package/dist/discovery/remote-discovery.d.ts +99 -0
  13. package/dist/discovery/remote-discovery.d.ts.map +1 -0
  14. package/dist/discovery/remote-discovery.js +410 -0
  15. package/dist/discovery/remote-discovery.js.map +1 -0
  16. package/dist/discovery/types.d.ts +4 -0
  17. package/dist/discovery/types.d.ts.map +1 -1
  18. package/dist/index.js +85 -12
  19. package/dist/index.js.map +1 -1
  20. package/dist/managers/compose-manager.d.ts +3 -1
  21. package/dist/managers/compose-manager.d.ts.map +1 -1
  22. package/dist/managers/compose-manager.js +10 -1
  23. package/dist/managers/compose-manager.js.map +1 -1
  24. package/dist/managers/container-manager.d.ts +9 -1
  25. package/dist/managers/container-manager.d.ts.map +1 -1
  26. package/dist/managers/container-manager.js +67 -75
  27. package/dist/managers/container-manager.js.map +1 -1
  28. package/dist/tools/container-tools.d.ts +7 -1
  29. package/dist/tools/container-tools.d.ts.map +1 -1
  30. package/dist/tools/container-tools.js +156 -18
  31. package/dist/tools/container-tools.js.map +1 -1
  32. package/dist/tools/database-tools.d.ts.map +1 -1
  33. package/dist/tools/database-tools.js +36 -4
  34. package/dist/tools/database-tools.js.map +1 -1
  35. package/dist/tools/discovery-tools.d.ts +29 -0
  36. package/dist/tools/discovery-tools.d.ts.map +1 -0
  37. package/dist/tools/discovery-tools.js +173 -0
  38. package/dist/tools/discovery-tools.js.map +1 -0
  39. package/dist/tools/env-tools.d.ts +5 -0
  40. package/dist/tools/env-tools.d.ts.map +1 -1
  41. package/dist/tools/env-tools.js +158 -15
  42. package/dist/tools/env-tools.js.map +1 -1
  43. package/dist/tools/executor-tool.d.ts +5 -0
  44. package/dist/tools/executor-tool.d.ts.map +1 -1
  45. package/dist/tools/executor-tool.js +60 -5
  46. package/dist/tools/executor-tool.js.map +1 -1
  47. package/dist/tools/mcp-health-tool.d.ts +11 -0
  48. package/dist/tools/mcp-health-tool.d.ts.map +1 -1
  49. package/dist/tools/mcp-health-tool.js +25 -4
  50. package/dist/tools/mcp-health-tool.js.map +1 -1
  51. package/dist/tools/profile-tool.d.ts +46 -0
  52. package/dist/tools/profile-tool.d.ts.map +1 -0
  53. package/dist/tools/profile-tool.js +91 -0
  54. package/dist/tools/profile-tool.js.map +1 -0
  55. package/dist/utils/compose-exec.d.ts +28 -3
  56. package/dist/utils/compose-exec.d.ts.map +1 -1
  57. package/dist/utils/compose-exec.js +100 -26
  58. package/dist/utils/compose-exec.js.map +1 -1
  59. package/dist/utils/docker-client.d.ts +73 -8
  60. package/dist/utils/docker-client.d.ts.map +1 -1
  61. package/dist/utils/docker-client.js +492 -16
  62. package/dist/utils/docker-client.js.map +1 -1
  63. package/dist/utils/profiles-file.d.ts +57 -0
  64. package/dist/utils/profiles-file.d.ts.map +1 -0
  65. package/dist/utils/profiles-file.js +167 -0
  66. package/dist/utils/profiles-file.js.map +1 -0
  67. package/dist/utils/retry.d.ts +49 -0
  68. package/dist/utils/retry.d.ts.map +1 -0
  69. package/dist/utils/retry.js +120 -0
  70. package/dist/utils/retry.js.map +1 -0
  71. package/dist/utils/ssh-config.d.ts +104 -0
  72. package/dist/utils/ssh-config.d.ts.map +1 -0
  73. package/dist/utils/ssh-config.js +346 -0
  74. package/dist/utils/ssh-config.js.map +1 -0
  75. package/dist/utils/ssh-exec.d.ts +59 -0
  76. package/dist/utils/ssh-exec.d.ts.map +1 -0
  77. package/dist/utils/ssh-exec.js +156 -0
  78. package/dist/utils/ssh-exec.js.map +1 -0
  79. package/package.json +21 -3
@@ -6,13 +6,14 @@ import { ContainerManager } from '../managers/container-manager.js';
6
6
  import { ComposeManager } from '../managers/compose-manager.js';
7
7
  import { ProjectDiscovery } from '../discovery/project-discovery.js';
8
8
  import { logger } from '../utils/logger.js';
9
+ import { loadProfilesFile, profileDataToSSHConfig } from '../utils/profiles-file.js';
9
10
  export class ContainerTools {
10
11
  containerManager;
11
12
  composeManager;
12
13
  projectDiscovery;
13
- constructor() {
14
- this.containerManager = new ContainerManager();
15
- this.composeManager = new ComposeManager();
14
+ constructor(sshConfig) {
15
+ this.containerManager = new ContainerManager(sshConfig);
16
+ this.composeManager = new ComposeManager(sshConfig);
16
17
  this.projectDiscovery = new ProjectDiscovery();
17
18
  }
18
19
  /**
@@ -30,6 +31,10 @@ export class ContainerTools {
30
31
  type: 'string',
31
32
  description: 'Project name (auto-detected if not provided)',
32
33
  },
34
+ profile: {
35
+ type: 'string',
36
+ description: 'Profile name from profiles.json (default: local Docker)',
37
+ },
33
38
  },
34
39
  },
35
40
  },
@@ -47,6 +52,10 @@ export class ContainerTools {
47
52
  type: 'string',
48
53
  description: 'Project name (auto-detected if not provided)',
49
54
  },
55
+ profile: {
56
+ type: 'string',
57
+ description: 'Profile name from profiles.json (default: local Docker)',
58
+ },
50
59
  },
51
60
  required: ['service'],
52
61
  },
@@ -70,6 +79,10 @@ export class ContainerTools {
70
79
  description: 'Timeout in seconds',
71
80
  default: 10,
72
81
  },
82
+ profile: {
83
+ type: 'string',
84
+ description: 'Profile name from profiles.json (default: local Docker)',
85
+ },
73
86
  },
74
87
  required: ['service'],
75
88
  },
@@ -88,6 +101,10 @@ export class ContainerTools {
88
101
  type: 'string',
89
102
  description: 'Project name (auto-detected if not provided)',
90
103
  },
104
+ profile: {
105
+ type: 'string',
106
+ description: 'Profile name from profiles.json (default: local Docker)',
107
+ },
91
108
  timeout: {
92
109
  type: 'number',
93
110
  description: 'Timeout in seconds',
@@ -111,6 +128,10 @@ export class ContainerTools {
111
128
  type: 'string',
112
129
  description: 'Project name (auto-detected if not provided)',
113
130
  },
131
+ profile: {
132
+ type: 'string',
133
+ description: 'Profile name from profiles.json (default: local Docker)',
134
+ },
114
135
  lines: {
115
136
  type: 'number',
116
137
  description: 'Number of lines to show',
@@ -136,6 +157,10 @@ export class ContainerTools {
136
157
  inputSchema: {
137
158
  type: 'object',
138
159
  properties: {
160
+ profile: {
161
+ type: 'string',
162
+ description: 'Profile name from profiles.json (default: local Docker)',
163
+ },
139
164
  build: {
140
165
  type: 'boolean',
141
166
  description: 'Build images before starting',
@@ -164,6 +189,10 @@ export class ContainerTools {
164
189
  inputSchema: {
165
190
  type: 'object',
166
191
  properties: {
192
+ profile: {
193
+ type: 'string',
194
+ description: 'Profile name from profiles.json (default: local Docker)',
195
+ },
167
196
  volumes: {
168
197
  type: 'boolean',
169
198
  description: 'Remove volumes',
@@ -193,6 +222,10 @@ export class ContainerTools {
193
222
  enum: ['images', 'volumes', 'networks'],
194
223
  description: 'Type of resource to list',
195
224
  },
225
+ profile: {
226
+ type: 'string',
227
+ description: 'Profile name from profiles.json (default: local Docker)',
228
+ },
196
229
  },
197
230
  required: ['type'],
198
231
  },
@@ -207,6 +240,10 @@ export class ContainerTools {
207
240
  type: 'string',
208
241
  description: 'Service name from docker-compose.yml',
209
242
  },
243
+ profile: {
244
+ type: 'string',
245
+ description: 'Profile name from profiles.json (default: local Docker)',
246
+ },
210
247
  project: {
211
248
  type: 'string',
212
249
  description: 'Project name (auto-detected if not provided)',
@@ -260,13 +297,56 @@ export class ContainerTools {
260
297
  }
261
298
  }
262
299
  async handleList(args) {
263
- const project = await this.getProject(args?.project);
264
- const containers = await this.containerManager.listContainers(project.name, project.composeFile, project.projectDir);
300
+ const profile = args?.profile;
301
+ const sshConfig = this.getSSHConfigForProfile(profile);
302
+ const containerManager = new ContainerManager(sshConfig);
303
+ // REST API approach:
304
+ // - No project parameter: show ALL containers with compose labels
305
+ // - With project: show only that project's containers
306
+ const projectName = args?.project || '';
307
+ const containers = await containerManager.listContainers(projectName);
308
+ if (containers.length === 0) {
309
+ return {
310
+ content: [
311
+ {
312
+ type: 'text',
313
+ text: 'No containers found with Docker Compose labels.',
314
+ },
315
+ ],
316
+ };
317
+ }
318
+ // Group by project if no project specified
319
+ if (!args?.project) {
320
+ const grouped = new Map();
321
+ containers.forEach(c => {
322
+ const projectName = c.project || 'unknown';
323
+ if (!grouped.has(projectName)) {
324
+ grouped.set(projectName, []);
325
+ }
326
+ grouped.get(projectName).push(c);
327
+ });
328
+ const output = Array.from(grouped.entries()).map(([proj, conts]) => {
329
+ const containersList = conts.map(c => ` - ${c.name} (${c.status})`).join('\n');
330
+ return `📦 ${proj} (${conts.length} containers)\n${containersList}`;
331
+ }).join('\n\n');
332
+ return {
333
+ content: [
334
+ {
335
+ type: 'text',
336
+ text: output,
337
+ },
338
+ ],
339
+ };
340
+ }
341
+ // Single project: simple list
342
+ const containerList = containers.map(c => {
343
+ return `${c.name} (${c.status}) - ${c.image}`;
344
+ }).join('\n');
265
345
  return {
266
346
  content: [
267
347
  {
268
348
  type: 'text',
269
- text: JSON.stringify(containers, null, 2),
349
+ text: containerList,
270
350
  },
271
351
  ],
272
352
  };
@@ -275,8 +355,10 @@ export class ContainerTools {
275
355
  if (!args.service) {
276
356
  throw new Error('service parameter is required');
277
357
  }
358
+ const sshConfig = this.getSSHConfigForProfile(args?.profile);
359
+ const containerManager = new ContainerManager(sshConfig);
278
360
  const project = await this.getProject(args?.project);
279
- await this.containerManager.startContainer(args.service, project.name, project.composeFile, project.projectDir);
361
+ await containerManager.startContainer(args.service, project.name, project.composeFile, project.projectDir);
280
362
  return {
281
363
  content: [
282
364
  {
@@ -290,8 +372,10 @@ export class ContainerTools {
290
372
  if (!args.service) {
291
373
  throw new Error('service parameter is required');
292
374
  }
375
+ const sshConfig = this.getSSHConfigForProfile(args?.profile);
376
+ const containerManager = new ContainerManager(sshConfig);
293
377
  const project = await this.getProject(args?.project);
294
- await this.containerManager.stopContainer(args.service, project.name, args?.timeout || 10, project.composeFile, project.projectDir);
378
+ await containerManager.stopContainer(args.service, project.name, args?.timeout || 10, project.composeFile, project.projectDir);
295
379
  return {
296
380
  content: [
297
381
  {
@@ -305,8 +389,10 @@ export class ContainerTools {
305
389
  if (!args.service) {
306
390
  throw new Error('service parameter is required');
307
391
  }
392
+ const sshConfig = this.getSSHConfigForProfile(args?.profile);
393
+ const containerManager = new ContainerManager(sshConfig);
308
394
  const project = await this.getProject(args?.project);
309
- await this.containerManager.restartContainer(args.service, project.name, args?.timeout || 10, project.composeFile, project.projectDir);
395
+ await containerManager.restartContainer(args.service, project.name, args?.timeout || 10, project.composeFile, project.projectDir);
310
396
  return {
311
397
  content: [
312
398
  {
@@ -320,8 +406,10 @@ export class ContainerTools {
320
406
  if (!args.service) {
321
407
  throw new Error('service parameter is required');
322
408
  }
409
+ const sshConfig = this.getSSHConfigForProfile(args?.profile);
410
+ const containerManager = new ContainerManager(sshConfig);
323
411
  const project = await this.getProject(args?.project);
324
- const logs = await this.containerManager.getLogs(args.service, project.name, {
412
+ const logs = await containerManager.getLogs(args.service, project.name, {
325
413
  lines: args?.lines || 100,
326
414
  timestamps: args?.timestamps || false,
327
415
  follow: args?.follow || false,
@@ -361,7 +449,9 @@ export class ContainerTools {
361
449
  };
362
450
  }
363
451
  async handleComposeUp(args) {
364
- await this.composeManager.composeUp({
452
+ const sshConfig = this.getSSHConfigForProfile(args?.profile);
453
+ const composeManager = new ComposeManager(sshConfig);
454
+ await composeManager.composeUp({
365
455
  build: args?.build || false,
366
456
  detach: args?.detach !== false, // default: true
367
457
  services: args?.services,
@@ -377,7 +467,9 @@ export class ContainerTools {
377
467
  };
378
468
  }
379
469
  async handleComposeDown(args) {
380
- await this.composeManager.composeDown({
470
+ const sshConfig = this.getSSHConfigForProfile(args?.profile);
471
+ const composeManager = new ComposeManager(sshConfig);
472
+ await composeManager.composeDown({
381
473
  volumes: args?.volumes || false,
382
474
  removeOrphans: args?.removeOrphans || false,
383
475
  timeout: args?.timeout || 10,
@@ -395,16 +487,18 @@ export class ContainerTools {
395
487
  if (!args.type) {
396
488
  throw new Error('type parameter is required (images, volumes, or networks)');
397
489
  }
490
+ const sshConfig = this.getSSHConfigForProfile(args?.profile);
491
+ const containerManager = new ContainerManager(sshConfig);
398
492
  let resources;
399
493
  switch (args.type) {
400
494
  case 'images':
401
- resources = await this.containerManager.listImages();
495
+ resources = await containerManager.listImages();
402
496
  break;
403
497
  case 'volumes':
404
- resources = await this.containerManager.listVolumes();
498
+ resources = await containerManager.listVolumes();
405
499
  break;
406
500
  case 'networks':
407
- resources = await this.containerManager.listNetworks();
501
+ resources = await containerManager.listNetworks();
408
502
  break;
409
503
  default:
410
504
  throw new Error(`Invalid resource type: ${args.type}. Must be one of: images, volumes, networks`);
@@ -422,8 +516,10 @@ export class ContainerTools {
422
516
  if (!args.service) {
423
517
  throw new Error('service parameter is required');
424
518
  }
519
+ const sshConfig = this.getSSHConfigForProfile(args?.profile);
520
+ const containerManager = new ContainerManager(sshConfig);
425
521
  const project = await this.getProject(args?.project);
426
- const stats = await this.containerManager.getContainerStats(args.service, project.name, project.composeFile, project.projectDir);
522
+ const stats = await containerManager.getContainerStats(args.service, project.name, project.composeFile, project.projectDir);
427
523
  return {
428
524
  content: [
429
525
  {
@@ -437,9 +533,51 @@ export class ContainerTools {
437
533
  * Helper: get project config (auto-detect or explicit)
438
534
  */
439
535
  async getProject(explicitName) {
440
- // Currently always use auto-detect
441
- // In the future, can add caching by explicit name
536
+ // If explicit name provided, use it (for remote Docker)
537
+ if (explicitName) {
538
+ return this.projectDiscovery.findProject({
539
+ explicitProjectName: explicitName,
540
+ });
541
+ }
542
+ // Otherwise, use auto-detect (local Docker)
442
543
  return this.projectDiscovery.findProject();
443
544
  }
545
+ /**
546
+ * Helper: get SSH config for profile
547
+ * Returns null for local profile or undefined profile
548
+ */
549
+ getSSHConfigForProfile(profile) {
550
+ if (!profile) {
551
+ return null; // Local Docker
552
+ }
553
+ // Load profile configuration
554
+ const profilesFile = process.env.DOCKER_MCP_PROFILES_FILE;
555
+ if (!profilesFile) {
556
+ logger.warn('DOCKER_MCP_PROFILES_FILE not set, using local Docker');
557
+ return null;
558
+ }
559
+ try {
560
+ const fileResult = loadProfilesFile(profilesFile);
561
+ if (fileResult.errors.length > 0 || !fileResult.config) {
562
+ logger.warn(`Failed to load profiles file: ${fileResult.errors.join(', ')}`);
563
+ return null;
564
+ }
565
+ const profileData = fileResult.config.profiles[profile];
566
+ if (!profileData) {
567
+ logger.warn(`Profile "${profile}" not found, using local Docker`);
568
+ return null;
569
+ }
570
+ // Check if local mode
571
+ if (profileData.mode === 'local') {
572
+ return null;
573
+ }
574
+ // Convert to SSHConfig
575
+ return profileDataToSSHConfig(profileData);
576
+ }
577
+ catch (error) {
578
+ logger.warn(`Failed to load profile "${profile}": ${error.message}`);
579
+ return null;
580
+ }
581
+ }
444
582
  }
445
583
  //# sourceMappingURL=container-tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"container-tools.js","sourceRoot":"","sources":["../../src/tools/container-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container-tools.js","sourceRoot":"","sources":["../../src/tools/container-tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"database-tools.d.ts","sourceRoot":"","sources":["../../src/tools/database-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,eAAe,EACf,IAAI,EACL,MAAM,oCAAoC,CAAC;AAK5C,qBAAa,aAAa;IACxB,OAAO,CAAC,gBAAgB,CAAmB;;IAM3C;;OAEG;IACH,QAAQ,IAAI,IAAI,EAAE;IAyHlB;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;YAkC1C,WAAW;YA+BX,YAAY;YA+BZ,aAAa;YA+Bb,YAAY;CAyB3B"}
1
+ {"version":3,"file":"database-tools.d.ts","sourceRoot":"","sources":["../../src/tools/database-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,eAAe,EACf,IAAI,EACL,MAAM,oCAAoC,CAAC;AAK5C,qBAAa,aAAa;IACxB,OAAO,CAAC,gBAAgB,CAAmB;;IAM3C;;OAEG;IACH,QAAQ,IAAI,IAAI,EAAE;IAyJlB;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;YAkC1C,WAAW;YAiCX,YAAY;YAiCZ,aAAa;YAiCb,YAAY;CA2B3B"}
@@ -25,6 +25,14 @@ export class DatabaseTools {
25
25
  type: 'string',
26
26
  description: 'Database service name from docker-compose.yml',
27
27
  },
28
+ profile: {
29
+ type: 'string',
30
+ description: 'Profile name from profiles.json (default: local Docker)',
31
+ },
32
+ project: {
33
+ type: 'string',
34
+ description: 'Project name (auto-detected if not provided)',
35
+ },
28
36
  query: {
29
37
  type: 'string',
30
38
  description: 'SQL query or database command',
@@ -57,6 +65,14 @@ export class DatabaseTools {
57
65
  type: 'string',
58
66
  description: 'Database service name',
59
67
  },
68
+ profile: {
69
+ type: 'string',
70
+ description: 'Profile name from profiles.json (default: local Docker)',
71
+ },
72
+ project: {
73
+ type: 'string',
74
+ description: 'Project name (auto-detected if not provided)',
75
+ },
60
76
  output: {
61
77
  type: 'string',
62
78
  description: 'Output file path (auto-generated if not provided)',
@@ -90,6 +106,14 @@ export class DatabaseTools {
90
106
  type: 'string',
91
107
  description: 'Database service name',
92
108
  },
109
+ profile: {
110
+ type: 'string',
111
+ description: 'Profile name from profiles.json (default: local Docker)',
112
+ },
113
+ project: {
114
+ type: 'string',
115
+ description: 'Project name (auto-detected if not provided)',
116
+ },
93
117
  backupPath: {
94
118
  type: 'string',
95
119
  description: 'Path to backup file',
@@ -127,6 +151,14 @@ export class DatabaseTools {
127
151
  type: 'string',
128
152
  description: 'Database service name',
129
153
  },
154
+ profile: {
155
+ type: 'string',
156
+ description: 'Profile name from profiles.json (default: local Docker)',
157
+ },
158
+ project: {
159
+ type: 'string',
160
+ description: 'Project name (auto-detected if not provided)',
161
+ },
130
162
  },
131
163
  required: ['service'],
132
164
  },
@@ -169,7 +201,7 @@ export class DatabaseTools {
169
201
  if (!args.service || !args.query) {
170
202
  throw new Error('service and query parameters are required');
171
203
  }
172
- const project = await this.projectDiscovery.findProject();
204
+ const project = await this.projectDiscovery.findProject(args.project ? { explicitProjectName: args.project } : {});
173
205
  const serviceConfig = project.services[args.service];
174
206
  if (!serviceConfig) {
175
207
  throw new Error(`Service '${args.service}' not found in project`);
@@ -194,7 +226,7 @@ export class DatabaseTools {
194
226
  if (!args.service) {
195
227
  throw new Error('service parameter is required');
196
228
  }
197
- const project = await this.projectDiscovery.findProject();
229
+ const project = await this.projectDiscovery.findProject(args.project ? { explicitProjectName: args.project } : {});
198
230
  const serviceConfig = project.services[args.service];
199
231
  if (!serviceConfig) {
200
232
  throw new Error(`Service '${args.service}' not found in project`);
@@ -219,7 +251,7 @@ export class DatabaseTools {
219
251
  if (!args.service || !args.backupPath) {
220
252
  throw new Error('service and backupPath parameters are required');
221
253
  }
222
- const project = await this.projectDiscovery.findProject();
254
+ const project = await this.projectDiscovery.findProject(args.project ? { explicitProjectName: args.project } : {});
223
255
  const serviceConfig = project.services[args.service];
224
256
  if (!serviceConfig) {
225
257
  throw new Error(`Service '${args.service}' not found in project`);
@@ -244,7 +276,7 @@ export class DatabaseTools {
244
276
  if (!args.service) {
245
277
  throw new Error('service parameter is required');
246
278
  }
247
- const project = await this.projectDiscovery.findProject();
279
+ const project = await this.projectDiscovery.findProject(args.project ? { explicitProjectName: args.project } : {});
248
280
  const serviceConfig = project.services[args.service];
249
281
  if (!serviceConfig) {
250
282
  throw new Error(`Service '${args.service}' not found in project`);
@@ -1 +1 @@
1
- {"version":3,"file":"database-tools.js","sourceRoot":"","sources":["../../src/tools/database-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database-tools.js","sourceRoot":"","sources":["../../src/tools/database-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Discovery Tools
3
+ * Tools for discovering Docker projects on remote servers
4
+ */
5
+ import { CallToolRequest, Tool } from '@modelcontextprotocol/sdk/types.js';
6
+ import type { SSHConfig } from '../utils/ssh-config.js';
7
+ export declare class DiscoveryTools {
8
+ private sshConfig;
9
+ constructor(sshConfig?: SSHConfig | null);
10
+ /**
11
+ * Register discovery tools
12
+ */
13
+ getTools(): Tool[];
14
+ /**
15
+ * Handle tool call
16
+ */
17
+ handleCall(request: CallToolRequest): Promise<any>;
18
+ /**
19
+ * Helper: get SSH config for profile
20
+ * Returns null for local profile or undefined profile
21
+ */
22
+ private getSSHConfigForProfile;
23
+ /**
24
+ * Handle projects list
25
+ * Works for both local and remote Docker using Docker Compose labels
26
+ */
27
+ private handleProjects;
28
+ }
29
+ //# sourceMappingURL=discovery-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery-tools.d.ts","sourceRoot":"","sources":["../../src/tools/discovery-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,eAAe,EACf,IAAI,EACL,MAAM,oCAAoC,CAAC;AAE5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAIxD,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAmB;gBAExB,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI;IAIxC;;OAEG;IACH,QAAQ,IAAI,IAAI,EAAE;IAsBlB;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;IAyBxD;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAwC9B;;;OAGG;YACW,cAAc;CAkF7B"}