@hypnosis/docker-mcp-server 1.2.1 → 1.3.0

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 (77) hide show
  1. package/README.md +12 -0
  2. package/dist/adapters/database-adapter.d.ts +9 -5
  3. package/dist/adapters/database-adapter.d.ts.map +1 -1
  4. package/dist/adapters/postgresql.d.ts +14 -5
  5. package/dist/adapters/postgresql.d.ts.map +1 -1
  6. package/dist/adapters/postgresql.js +36 -23
  7. package/dist/adapters/postgresql.js.map +1 -1
  8. package/dist/adapters/redis.d.ts +10 -1
  9. package/dist/adapters/redis.d.ts.map +1 -1
  10. package/dist/adapters/redis.js +10 -7
  11. package/dist/adapters/redis.js.map +1 -1
  12. package/dist/adapters/sqlite.d.ts +11 -1
  13. package/dist/adapters/sqlite.d.ts.map +1 -1
  14. package/dist/adapters/sqlite.js +11 -7
  15. package/dist/adapters/sqlite.js.map +1 -1
  16. package/dist/adapters/types.d.ts +7 -0
  17. package/dist/adapters/types.d.ts.map +1 -1
  18. package/dist/discovery/compose-parser.d.ts.map +1 -1
  19. package/dist/discovery/compose-parser.js +4 -7
  20. package/dist/discovery/compose-parser.js.map +1 -1
  21. package/dist/discovery/project-discovery.d.ts.map +1 -1
  22. package/dist/discovery/project-discovery.js +4 -2
  23. package/dist/discovery/project-discovery.js.map +1 -1
  24. package/dist/index.js +15 -36
  25. package/dist/index.js.map +1 -1
  26. package/dist/managers/container-manager.d.ts +2 -0
  27. package/dist/managers/container-manager.d.ts.map +1 -1
  28. package/dist/managers/container-manager.js +10 -3
  29. package/dist/managers/container-manager.js.map +1 -1
  30. package/dist/tools/container-tools.d.ts +2 -10
  31. package/dist/tools/container-tools.d.ts.map +1 -1
  32. package/dist/tools/container-tools.js +50 -74
  33. package/dist/tools/container-tools.js.map +1 -1
  34. package/dist/tools/database-tools.d.ts +15 -1
  35. package/dist/tools/database-tools.d.ts.map +1 -1
  36. package/dist/tools/database-tools.js +124 -20
  37. package/dist/tools/database-tools.js.map +1 -1
  38. package/dist/tools/discovery-tools.d.ts +1 -8
  39. package/dist/tools/discovery-tools.d.ts.map +1 -1
  40. package/dist/tools/discovery-tools.js +9 -45
  41. package/dist/tools/discovery-tools.js.map +1 -1
  42. package/dist/tools/env-tools.d.ts +1 -7
  43. package/dist/tools/env-tools.d.ts.map +1 -1
  44. package/dist/tools/env-tools.js +35 -77
  45. package/dist/tools/env-tools.js.map +1 -1
  46. package/dist/tools/executor-tool.d.ts +0 -7
  47. package/dist/tools/executor-tool.d.ts.map +1 -1
  48. package/dist/tools/executor-tool.js +8 -45
  49. package/dist/tools/executor-tool.js.map +1 -1
  50. package/dist/tools/mcp-health-tool.d.ts +1 -3
  51. package/dist/tools/mcp-health-tool.d.ts.map +1 -1
  52. package/dist/tools/mcp-health-tool.js +24 -18
  53. package/dist/tools/mcp-health-tool.js.map +1 -1
  54. package/dist/tools/profile-tool.d.ts +5 -12
  55. package/dist/tools/profile-tool.d.ts.map +1 -1
  56. package/dist/tools/profile-tool.js +12 -33
  57. package/dist/tools/profile-tool.js.map +1 -1
  58. package/dist/utils/docker-client.d.ts +9 -1
  59. package/dist/utils/docker-client.d.ts.map +1 -1
  60. package/dist/utils/docker-client.js +30 -3
  61. package/dist/utils/docker-client.js.map +1 -1
  62. package/dist/utils/profile-resolver.d.ts +58 -0
  63. package/dist/utils/profile-resolver.d.ts.map +1 -0
  64. package/dist/utils/profile-resolver.js +218 -0
  65. package/dist/utils/profile-resolver.js.map +1 -0
  66. package/dist/utils/remote-compose.d.ts +32 -0
  67. package/dist/utils/remote-compose.d.ts.map +1 -0
  68. package/dist/utils/remote-compose.js +69 -0
  69. package/dist/utils/remote-compose.js.map +1 -0
  70. package/dist/utils/schema-helpers.d.ts +96 -0
  71. package/dist/utils/schema-helpers.d.ts.map +1 -0
  72. package/dist/utils/schema-helpers.js +61 -0
  73. package/dist/utils/schema-helpers.js.map +1 -0
  74. package/dist/utils/ssh-exec.d.ts.map +1 -1
  75. package/dist/utils/ssh-exec.js +5 -2
  76. package/dist/utils/ssh-exec.js.map +1 -1
  77. package/package.json +1 -1
@@ -9,17 +9,15 @@ import { ComposeParser } from '../discovery/compose-parser.js';
9
9
  import { ComposeExec } from '../utils/compose-exec.js';
10
10
  import { stringify as stringifyYaml, parse as parseYaml } from 'yaml';
11
11
  import { logger } from '../utils/logger.js';
12
- import { readRemoteFile } from '../utils/ssh-exec.js';
13
- import { loadProfilesFile, profileDataToSSHConfig } from '../utils/profiles-file.js';
12
+ import { resolveSSHConfig } from '../utils/profile-resolver.js';
13
+ import { readRemoteComposeFile, readRemoteComposeContent } from '../utils/remote-compose.js';
14
14
  export class EnvTools {
15
+ // ❗ АРХИТЕКТУРА: Managers НЕ хранятся в конструкторе
16
+ // Они создаются при каждом вызове с правильным sshConfig из args.profile
15
17
  envManager;
16
- projectDiscovery;
17
- containerManager;
18
18
  composeParser;
19
19
  constructor() {
20
20
  this.envManager = new EnvManager();
21
- this.projectDiscovery = new ProjectDiscovery();
22
- this.containerManager = new ContainerManager();
23
21
  this.composeParser = new ComposeParser();
24
22
  }
25
23
  /**
@@ -35,7 +33,7 @@ export class EnvTools {
35
33
  properties: {
36
34
  profile: {
37
35
  type: 'string',
38
- description: 'Profile name from profiles.json (default: local Docker)',
36
+ description: 'Profile name from DOCKER_PROFILES environment variable (default: uses default profile)',
39
37
  },
40
38
  project: {
41
39
  type: 'string',
@@ -61,7 +59,7 @@ export class EnvTools {
61
59
  properties: {
62
60
  profile: {
63
61
  type: 'string',
64
- description: 'Profile name from profiles.json (default: local Docker)',
62
+ description: 'Profile name from DOCKER_PROFILES environment variable (default: uses default profile)',
65
63
  },
66
64
  project: {
67
65
  type: 'string',
@@ -90,7 +88,7 @@ export class EnvTools {
90
88
  properties: {
91
89
  profile: {
92
90
  type: 'string',
93
- description: 'Profile name from profiles.json (default: local Docker)',
91
+ description: 'Profile name from DOCKER_PROFILES environment variable (default: uses default profile)',
94
92
  },
95
93
  project: {
96
94
  type: 'string',
@@ -140,53 +138,34 @@ export class EnvTools {
140
138
  }
141
139
  /**
142
140
  * Get project (helper)
141
+ * Reads and parses remote docker-compose.yml if SSH config provided
143
142
  */
144
- async getProject(projectName) {
145
- return await this.projectDiscovery.findProject(projectName ? { explicitProjectName: projectName } : {});
146
- }
147
- /**
148
- * Helper: get SSH config for profile
149
- * Returns null for local profile or undefined profile
150
- */
151
- getSSHConfigForProfile(profile) {
152
- if (!profile) {
153
- return null; // Local Docker
154
- }
155
- // Load profile configuration
156
- const profilesFile = process.env.DOCKER_MCP_PROFILES_FILE;
157
- if (!profilesFile) {
158
- logger.warn('DOCKER_MCP_PROFILES_FILE not set, using local Docker');
159
- return null;
160
- }
161
- try {
162
- const fileResult = loadProfilesFile(profilesFile);
163
- if (fileResult.errors.length > 0 || !fileResult.config) {
164
- logger.warn(`Failed to load profiles file: ${fileResult.errors.join(', ')}`);
165
- return null;
166
- }
167
- const profileData = fileResult.config.profiles[profile];
168
- if (!profileData) {
169
- logger.warn(`Profile "${profile}" not found, using local Docker`);
170
- return null;
143
+ async getProject(projectName, sshConfig) {
144
+ // If SSH config provided (remote mode), read remote compose file
145
+ if (sshConfig) {
146
+ let finalProjectName;
147
+ if (projectName) {
148
+ finalProjectName = projectName;
171
149
  }
172
- // Check if local mode
173
- if (profileData.mode === 'local') {
174
- return null;
150
+ else {
151
+ // Use working directory name as fallback
152
+ const cwd = process.cwd();
153
+ finalProjectName = cwd.split('/').pop() || 'docker-mcp-server';
175
154
  }
176
- // Convert to SSHConfig
177
- const sshConfig = profileDataToSSHConfig(profileData);
178
- return sshConfig;
179
- }
180
- catch (error) {
181
- logger.warn(`Failed to load profile "${profile}": ${error.message}`);
182
- return null;
155
+ // FIX BUG-006: Read and parse remote docker-compose.yml
156
+ logger.info(`Reading remote compose file for project: ${finalProjectName}`);
157
+ return await readRemoteComposeFile(finalProjectName, sshConfig);
183
158
  }
159
+ // Local mode: use local discovery
160
+ const projectDiscovery = new ProjectDiscovery();
161
+ return await projectDiscovery.findProject(projectName ? { explicitProjectName: projectName } : {});
184
162
  }
185
163
  /**
186
164
  * docker_env_list handler
187
165
  */
188
166
  async handleEnvList(args) {
189
- const project = await this.getProject(args?.project);
167
+ const sshConfig = resolveSSHConfig(args);
168
+ const project = await this.getProject(args?.project, sshConfig);
190
169
  // If service is specified, load env for specific service
191
170
  let env;
192
171
  if (args?.service) {
@@ -252,7 +231,7 @@ export class EnvTools {
252
231
  */
253
232
  async handleComposeConfig(args) {
254
233
  const shouldResolve = args?.resolve === true;
255
- const sshConfig = this.getSSHConfigForProfile(args?.profile);
234
+ const sshConfig = resolveSSHConfig(args);
256
235
  // Determine project name
257
236
  let projectName;
258
237
  let project;
@@ -271,38 +250,17 @@ export class EnvTools {
271
250
  }
272
251
  else {
273
252
  // Local mode: use local discovery
274
- project = await this.getProject(args?.project);
253
+ project = await this.getProject(args?.project, sshConfig);
275
254
  projectName = project.name;
276
255
  }
277
256
  let composeFile = project.composeFile || '';
278
257
  let composeContent = null;
279
258
  // PRIORITY: If profile is specified, read REMOTE file FIRST
280
259
  if (sshConfig) {
281
- // Remote mode: read file via SSH
282
- const projectsPath = sshConfig.projectsPath || '/var/www';
283
- const possiblePaths = [
284
- `${projectsPath}/${projectName}/docker-compose.yml`,
285
- `${projectsPath}/${projectName}/compose.yml`,
286
- ];
287
- for (const remoteComposePath of possiblePaths) {
288
- try {
289
- logger.debug(`Trying to read remote compose file: ${remoteComposePath}`);
290
- composeContent = await readRemoteFile(remoteComposePath, {
291
- sshConfig,
292
- timeout: 30000,
293
- });
294
- composeFile = remoteComposePath;
295
- logger.debug(`Successfully read remote compose file from: ${remoteComposePath}`);
296
- break;
297
- }
298
- catch (error) {
299
- logger.warn(`Failed to read from ${remoteComposePath}: ${error.message}`);
300
- }
301
- }
302
- if (!composeContent) {
303
- throw new Error(`Remote compose file not found for project '${projectName}' in ${projectsPath}. ` +
304
- `Tried: docker-compose.yml, compose.yml`);
305
- }
260
+ // FIX: Use unified remote compose reader (no duplication)
261
+ const remoteResult = await readRemoteComposeContent(projectName, sshConfig);
262
+ composeContent = remoteResult.content;
263
+ composeFile = remoteResult.filePath;
306
264
  }
307
265
  else {
308
266
  // Local mode: use local file
@@ -380,9 +338,9 @@ export class EnvTools {
380
338
  * docker_healthcheck handler
381
339
  */
382
340
  async handleHealthcheck(args) {
383
- const project = await this.getProject(args?.project);
384
- // Get SSH config for profile
385
- const sshConfig = this.getSSHConfigForProfile(args?.profile);
341
+ // Get SSH config for profile first
342
+ const sshConfig = resolveSSHConfig(args);
343
+ const project = await this.getProject(args?.project, sshConfig);
386
344
  const containerManager = new ContainerManager(sshConfig);
387
345
  // Получить список всех контейнеров
388
346
  const containers = await containerManager.listContainers(project.name);
@@ -1 +1 @@
1
- {"version":3,"file":"env-tools.js","sourceRoot":"","sources":["../../src/tools/env-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env-tools.js","sourceRoot":"","sources":["../../src/tools/env-tools.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,6 @@
4
4
  */
5
5
  import { Tool, CallToolRequest } from '@modelcontextprotocol/sdk/types.js';
6
6
  export declare class ExecutorTool {
7
- private containerManager;
8
- private projectDiscovery;
9
7
  constructor();
10
8
  getTool(): Tool;
11
9
  handleCall(request: CallToolRequest): Promise<any>;
@@ -14,10 +12,5 @@ export declare class ExecutorTool {
14
12
  * TODO: improve for quoted strings in the future
15
13
  */
16
14
  private parseCommand;
17
- /**
18
- * Helper: get SSH config for profile
19
- * Returns null for local profile or undefined profile
20
- */
21
- private getSSHConfigForProfile;
22
15
  }
23
16
  //# sourceMappingURL=executor-tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"executor-tool.d.ts","sourceRoot":"","sources":["../../src/tools/executor-tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAM3E,qBAAa,YAAY;IACvB,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,gBAAgB,CAAmB;;IAO3C,OAAO,IAAI,IAAI;IA0CT,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;IAuExD;;;OAGG;IACH,OAAO,CAAC,YAAY;IAMpB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;CAuC/B"}
1
+ {"version":3,"file":"executor-tool.d.ts","sourceRoot":"","sources":["../../src/tools/executor-tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAO3E,qBAAa,YAAY;;IAOvB,OAAO,IAAI,IAAI;IA0CT,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;IAwExD;;;OAGG;IACH,OAAO,CAAC,YAAY;CAMrB"}
@@ -5,12 +5,12 @@
5
5
  import { ContainerManager } from '../managers/container-manager.js';
6
6
  import { ProjectDiscovery } from '../discovery/project-discovery.js';
7
7
  import { logger } from '../utils/logger.js';
8
+ import { resolveSSHConfig } from '../utils/profile-resolver.js';
8
9
  export class ExecutorTool {
9
- containerManager;
10
- projectDiscovery;
10
+ // ❗ АРХИТЕКТУРА: Managers НЕ хранятся в конструкторе
11
+ // Они создаются при каждом вызове с правильным sshConfig из args.profile
11
12
  constructor() {
12
- this.containerManager = new ContainerManager();
13
- this.projectDiscovery = new ProjectDiscovery();
13
+ // No shared state - managers created per request
14
14
  }
15
15
  getTool() {
16
16
  return {
@@ -25,7 +25,7 @@ export class ExecutorTool {
25
25
  },
26
26
  profile: {
27
27
  type: 'string',
28
- description: 'Profile name from profiles.json (default: local Docker)',
28
+ description: 'Profile name from DOCKER_PROFILES environment variable (default: uses default profile)',
29
29
  },
30
30
  command: {
31
31
  type: 'string',
@@ -60,9 +60,10 @@ export class ExecutorTool {
60
60
  throw new Error('service and command parameters are required');
61
61
  }
62
62
  // Get SSH config for profile
63
- const sshConfig = this.getSSHConfigForProfile(args.profile);
63
+ const sshConfig = resolveSSHConfig(args);
64
64
  const containerManager = new ContainerManager(sshConfig);
65
- const project = await this.projectDiscovery.findProject(args.project ? { explicitProjectName: args.project } : {});
65
+ const projectDiscovery = new ProjectDiscovery();
66
+ const project = await projectDiscovery.findProject(args.project ? { explicitProjectName: args.project } : {});
66
67
  // Auto-detect working_dir from docker-compose.yml if not specified
67
68
  let workdir = args.workdir;
68
69
  if (!workdir && project.services[args.service]?.working_dir) {
@@ -108,43 +109,5 @@ export class ExecutorTool {
108
109
  // In the future, can add support for quoted strings
109
110
  return command.split(' ').filter((s) => s.length > 0);
110
111
  }
111
- /**
112
- * Helper: get SSH config for profile
113
- * Returns null for local profile or undefined profile
114
- */
115
- getSSHConfigForProfile(profile) {
116
- if (!profile) {
117
- return null; // Local Docker
118
- }
119
- // Load profile configuration
120
- const profilesFile = process.env.DOCKER_MCP_PROFILES_FILE;
121
- if (!profilesFile) {
122
- logger.warn('DOCKER_MCP_PROFILES_FILE not set, using local Docker');
123
- return null;
124
- }
125
- try {
126
- const { loadProfilesFile, profileDataToSSHConfig } = require('../utils/profiles-file.js');
127
- const fileResult = loadProfilesFile(profilesFile);
128
- if (fileResult.errors.length > 0 || !fileResult.config) {
129
- logger.warn(`Failed to load profiles file: ${fileResult.errors.join(', ')}`);
130
- return null;
131
- }
132
- const profileData = fileResult.config.profiles[profile];
133
- if (!profileData) {
134
- logger.warn(`Profile "${profile}" not found, using local Docker`);
135
- return null;
136
- }
137
- // Check if local mode
138
- if (profileData.mode === 'local') {
139
- return null;
140
- }
141
- // Convert to SSHConfig
142
- return profileDataToSSHConfig(profileData);
143
- }
144
- catch (error) {
145
- logger.warn(`Failed to load profile "${profile}": ${error.message}`);
146
- return null;
147
- }
148
- }
149
112
  }
150
113
  //# sourceMappingURL=executor-tool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"executor-tool.js","sourceRoot":"","sources":["../../src/tools/executor-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor-tool.js","sourceRoot":"","sources":["../../src/tools/executor-tool.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,8 @@
3
3
  * MCP server self-diagnostics
4
4
  */
5
5
  import { CallToolRequest, Tool } from '@modelcontextprotocol/sdk/types.js';
6
- import type { SSHConfig } from '../utils/ssh-config.js';
7
6
  export declare class MCPHealthTool {
8
- private sshConfig;
9
- constructor(sshConfig?: SSHConfig | null);
7
+ constructor();
10
8
  /**
11
9
  * Register health tool
12
10
  */
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-health-tool.d.ts","sourceRoot":"","sources":["../../src/tools/mcp-health-tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,eAAe,EACf,IAAI,EACL,MAAM,oCAAoC,CAAC;AAM5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,qBAAa,aAAa;IACxB,OAAO,CAAC,SAAS,CAAmB;gBAExB,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI;IAIxC;;OAEG;IACH,OAAO,IAAI,IAAI;IAWf;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,eAAe;;;;;;;;;;;;;IA0BzC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC;QACrB,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;QAC7C,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,MAAM,EAAE,IAAI,GAAG,QAAQ,CAAC;gBACxB,OAAO,CAAC,EAAE,MAAM,CAAC;gBACjB,OAAO,CAAC,EAAE,MAAM,CAAC;gBACjB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;aAC3B,CAAC;YACF,GAAG,CAAC,EAAE;gBACJ,MAAM,EAAE,IAAI,GAAG,gBAAgB,CAAC;gBAChC,IAAI,CAAC,EAAE,MAAM,CAAC;gBACd,IAAI,CAAC,EAAE,MAAM,CAAC;gBACd,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAClB,YAAY,CAAC,EAAE,OAAO,CAAC;aACxB,CAAC;YACF,SAAS,EAAE;gBACT,MAAM,EAAE,IAAI,GAAG,QAAQ,CAAC;gBACxB,OAAO,CAAC,EAAE,MAAM,CAAC;gBACjB,YAAY,CAAC,EAAE,OAAO,CAAC;gBACvB,WAAW,CAAC,EAAE,MAAM,CAAC;aACtB,CAAC;YACF,QAAQ,EAAE;gBACR,MAAM,EAAE,IAAI,CAAC;gBACb,UAAU,EAAE,MAAM,EAAE,CAAC;gBACrB,KAAK,EAAE,MAAM,CAAC;aACf,CAAC;YACF,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI,CAAC;gBACb,IAAI,EAAE,MAAM,CAAC;gBACb,GAAG,EAAE,MAAM,CAAC;aACb,CAAC;YACF,MAAM,EAAE;gBACN,MAAM,EAAE,IAAI,GAAG,SAAS,CAAC;gBACzB,QAAQ,EAAE,MAAM,CAAC;gBACjB,SAAS,EAAE,MAAM,CAAC;gBAClB,GAAG,EAAE,MAAM,CAAC;aACb,CAAC;SACH,CAAC;KACH,CAAC;CAmGH"}
1
+ {"version":3,"file":"mcp-health-tool.d.ts","sourceRoot":"","sources":["../../src/tools/mcp-health-tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,eAAe,EACf,IAAI,EACL,MAAM,oCAAoC,CAAC;AAO5C,qBAAa,aAAa;;IAKxB;;OAEG;IACH,OAAO,IAAI,IAAI;IAWf;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,eAAe;;;;;;;;;;;;;IA0BzC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC;QACrB,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;QAC7C,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,MAAM,EAAE,IAAI,GAAG,QAAQ,CAAC;gBACxB,OAAO,CAAC,EAAE,MAAM,CAAC;gBACjB,OAAO,CAAC,EAAE,MAAM,CAAC;gBACjB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;aAC3B,CAAC;YACF,GAAG,CAAC,EAAE;gBACJ,MAAM,EAAE,IAAI,GAAG,gBAAgB,CAAC;gBAChC,IAAI,CAAC,EAAE,MAAM,CAAC;gBACd,IAAI,CAAC,EAAE,MAAM,CAAC;gBACd,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAClB,YAAY,CAAC,EAAE,OAAO,CAAC;aACxB,CAAC;YACF,SAAS,EAAE;gBACT,MAAM,EAAE,IAAI,GAAG,QAAQ,CAAC;gBACxB,OAAO,CAAC,EAAE,MAAM,CAAC;gBACjB,YAAY,CAAC,EAAE,OAAO,CAAC;gBACvB,WAAW,CAAC,EAAE,MAAM,CAAC;aACtB,CAAC;YACF,QAAQ,EAAE;gBACR,MAAM,EAAE,IAAI,CAAC;gBACb,UAAU,EAAE,MAAM,EAAE,CAAC;gBACrB,KAAK,EAAE,MAAM,CAAC;aACf,CAAC;YACF,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI,CAAC;gBACb,IAAI,EAAE,MAAM,CAAC;gBACb,GAAG,EAAE,MAAM,CAAC;aACb,CAAC;YACF,MAAM,EAAE;gBACN,MAAM,EAAE,IAAI,GAAG,SAAS,CAAC;gBACzB,QAAQ,EAAE,MAAM,CAAC;gBACjB,SAAS,EAAE,MAAM,CAAC;gBAClB,GAAG,EAAE,MAAM,CAAC;aACb,CAAC;SACH,CAAC;KACH,CAAC;CA0GH"}
@@ -8,9 +8,8 @@ import { adapterRegistry } from '../adapters/adapter-registry.js';
8
8
  import { projectConfigCache } from '../utils/cache.js';
9
9
  import { logger } from '../utils/logger.js';
10
10
  export class MCPHealthTool {
11
- sshConfig;
12
- constructor(sshConfig) {
13
- this.sshConfig = sshConfig || null;
11
+ constructor() {
12
+ // SSH config is resolved dynamically per-tool call via resolveSSHConfig()
14
13
  }
15
14
  /**
16
15
  * Register health tool
@@ -58,36 +57,43 @@ export class MCPHealthTool {
58
57
  */
59
58
  async check() {
60
59
  const checks = {};
61
- // 1. Docker Connection
60
+ // 1. Docker Connection (local only at startup)
62
61
  try {
63
62
  const start = Date.now();
64
- const docker = getDockerClient();
63
+ const docker = getDockerClient(null); // Local Docker only
65
64
  await docker.ping();
66
65
  const latency = Date.now() - start;
67
66
  checks.docker = {
68
67
  status: 'ok',
69
68
  latency,
70
- mode: this.sshConfig ? 'remote' : 'local',
69
+ mode: 'local',
71
70
  };
72
71
  }
73
72
  catch (error) {
74
73
  checks.docker = {
75
74
  status: 'failed',
76
- message: error.message || 'Docker connection failed',
77
- mode: this.sshConfig ? 'remote' : 'local',
75
+ message: error.message || 'Local Docker connection failed',
76
+ mode: 'local',
78
77
  };
79
78
  }
80
- // 2. SSH Status (if configured)
81
- if (this.sshConfig) {
82
- checks.ssh = {
83
- status: 'ok',
84
- host: this.sshConfig.host,
85
- port: this.sshConfig.port || 22,
86
- username: this.sshConfig.username,
87
- tunnelActive: checks.docker.status === 'ok',
88
- };
79
+ // 2. SSH Status (profiles loaded from DOCKER_PROFILES ENV)
80
+ try {
81
+ const { getAvailableProfiles, getDefaultProfile } = await import('../utils/profile-resolver.js');
82
+ const profiles = getAvailableProfiles();
83
+ const defaultProfile = getDefaultProfile();
84
+ if (profiles.length > 0 && defaultProfile !== 'local') {
85
+ checks.ssh = {
86
+ status: 'configured', // Profiles available but connection tested per-tool
87
+ message: `${profiles.length} profile(s) configured, default: ${defaultProfile}`,
88
+ };
89
+ }
90
+ else {
91
+ checks.ssh = {
92
+ status: 'not_configured',
93
+ };
94
+ }
89
95
  }
90
- else {
96
+ catch (error) {
91
97
  checks.ssh = {
92
98
  status: 'not_configured',
93
99
  };
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-health-tool.js","sourceRoot":"","sources":["../../src/tools/mcp-health-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-health-tool.js","sourceRoot":"","sources":["../../src/tools/mcp-health-tool.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,8 @@
3
3
  * Show and manage SSH profiles
4
4
  */
5
5
  import { CallToolRequest, Tool } from '@modelcontextprotocol/sdk/types.js';
6
- import type { SSHConfig } from '../utils/ssh-config.js';
7
6
  export declare class ProfileTool {
8
- private sshConfig;
9
- private profilesFile;
10
- constructor(sshConfig?: SSHConfig | null, profilesFile?: string);
7
+ constructor();
11
8
  /**
12
9
  * Register profile tool
13
10
  */
@@ -33,14 +30,10 @@ export declare class ProfileTool {
33
30
  */
34
31
  getProfileInfo(): Promise<{
35
32
  mode: 'local' | 'remote';
36
- current?: {
37
- host: string;
38
- port: number;
39
- username: string;
40
- };
41
- profilesFile?: string;
42
- availableProfiles?: string[];
43
- defaultProfile?: string;
33
+ availableProfiles: string[];
34
+ defaultProfile: string;
35
+ source: string;
36
+ DOCKER_PROFILES_configured: boolean;
44
37
  }>;
45
38
  }
46
39
  //# sourceMappingURL=profile-tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"profile-tool.d.ts","sourceRoot":"","sources":["../../src/tools/profile-tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,eAAe,EACf,IAAI,EACL,MAAM,oCAAoC,CAAC;AAG5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,qBAAa,WAAW;IACtB,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,YAAY,CAAqB;gBAE7B,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,EAAE,YAAY,CAAC,EAAE,MAAM;IAK/D;;OAEG;IACH,OAAO,IAAI,IAAI;IAWf;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,eAAe;;;;;;;;;;;;;IA0BzC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC;QAC9B,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;QACzB,OAAO,CAAC,EAAE;YACR,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;YACb,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC;QACF,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;CAoCH"}
1
+ {"version":3,"file":"profile-tool.d.ts","sourceRoot":"","sources":["../../src/tools/profile-tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,eAAe,EACf,IAAI,EACL,MAAM,oCAAoC,CAAC;AAI5C,qBAAa,WAAW;;IAKtB;;OAEG;IACH,OAAO,IAAI,IAAI;IAWf;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,eAAe;;;;;;;;;;;;;IA0BzC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC;QAC9B,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;QACzB,iBAAiB,EAAE,MAAM,EAAE,CAAC;QAC5B,cAAc,EAAE,MAAM,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC;QACf,0BAA0B,EAAE,OAAO,CAAC;KACrC,CAAC;CAgBH"}
@@ -3,13 +3,10 @@
3
3
  * Show and manage SSH profiles
4
4
  */
5
5
  import { logger } from '../utils/logger.js';
6
- import { loadProfilesFile } from '../utils/profiles-file.js';
6
+ import { getAvailableProfiles, getDefaultProfile } from '../utils/profile-resolver.js';
7
7
  export class ProfileTool {
8
- sshConfig;
9
- profilesFile;
10
- constructor(sshConfig, profilesFile) {
11
- this.sshConfig = sshConfig || null;
12
- this.profilesFile = profilesFile;
8
+ constructor() {
9
+ // SSH config is resolved per-tool call via resolveSSHConfig()
13
10
  }
14
11
  /**
15
12
  * Register profile tool
@@ -56,35 +53,17 @@ export class ProfileTool {
56
53
  * Get profile information
57
54
  */
58
55
  async getProfileInfo() {
59
- // Local mode
60
- if (!this.sshConfig) {
61
- return {
62
- mode: 'local',
63
- };
64
- }
65
- // Remote mode
56
+ // Load profiles from DOCKER_PROFILES ENV
57
+ const profiles = getAvailableProfiles();
58
+ const defaultProfile = getDefaultProfile();
59
+ const hasProfiles = profiles.length > 0 && (process.env.DOCKER_PROFILES || process.env.DOCKER_PROFILES_FILE);
66
60
  const result = {
67
- mode: 'remote',
68
- current: {
69
- host: this.sshConfig.host,
70
- port: this.sshConfig.port || 22,
71
- username: this.sshConfig.username,
72
- },
61
+ mode: (hasProfiles && defaultProfile !== 'local' ? 'remote' : 'local'),
62
+ availableProfiles: profiles,
63
+ defaultProfile: defaultProfile,
64
+ source: process.env.DOCKER_PROFILES_FILE ? 'DOCKER_PROFILES_FILE' : 'DOCKER_PROFILES_ENV',
65
+ DOCKER_PROFILES_configured: !!(process.env.DOCKER_PROFILES || process.env.DOCKER_PROFILES_FILE),
73
66
  };
74
- // Load profiles file if available
75
- if (this.profilesFile) {
76
- result.profilesFile = this.profilesFile;
77
- try {
78
- const profilesResult = loadProfilesFile(this.profilesFile);
79
- if (profilesResult.config) {
80
- result.availableProfiles = Object.keys(profilesResult.config.profiles);
81
- result.defaultProfile = profilesResult.config.default;
82
- }
83
- }
84
- catch (error) {
85
- logger.warn(`Failed to load profiles file: ${error.message}`);
86
- }
87
- }
88
67
  return result;
89
68
  }
90
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"profile-tool.js","sourceRoot":"","sources":["../../src/tools/profile-tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG7D,MAAM,OAAO,WAAW;IACd,SAAS,CAAmB;IAC5B,YAAY,CAAqB;IAEzC,YAAY,SAA4B,EAAE,YAAqB;QAC7D,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,IAAI,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO;YACL,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,iDAAiD;YAC9D,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,EAAE;aACf;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,OAAwB;QACvC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAEzC,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;qBACpC;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YAC5C,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU,KAAK,CAAC,OAAO,EAAE;qBAChC;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc;QAWlB,aAAa;QACb,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO;gBACL,IAAI,EAAE,OAAO;aACd,CAAC;QACJ,CAAC;QAED,cAAc;QACd,MAAM,MAAM,GAAQ;YAClB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;gBACzB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE;gBAC/B,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ;aAClC;SACF,CAAC;QAEF,kCAAkC;QAClC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAExC,IAAI,CAAC;gBACH,MAAM,cAAc,GAAG,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAE3D,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;oBAC1B,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACvE,MAAM,CAAC,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC;gBACxD,CAAC;YACH,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,iCAAiC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
1
+ {"version":3,"file":"profile-tool.js","sourceRoot":"","sources":["../../src/tools/profile-tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEvF,MAAM,OAAO,WAAW;IACtB;QACE,8DAA8D;IAChE,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO;YACL,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,iDAAiD;YAC9D,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,EAAE;aACf;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,OAAwB;QACvC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAEzC,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;qBACpC;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YAC5C,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU,KAAK,CAAC,OAAO,EAAE;qBAChC;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc;QAOlB,yCAAyC;QACzC,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAC;QACxC,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;QAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAE7G,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,CAAC,WAAW,IAAI,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAuB;YAC5F,iBAAiB,EAAE,QAAQ;YAC3B,cAAc,EAAE,cAAc;YAC9B,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,qBAAqB;YACzF,0BAA0B,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;SAChG,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -10,12 +10,20 @@ import type { SSHConfig } from './ssh-config.js';
10
10
  export declare class DockerClient {
11
11
  private docker;
12
12
  private sshConfig;
13
- private isRemote;
13
+ readonly isRemote: boolean;
14
14
  private activeSocketPath;
15
15
  private sshProcessPid;
16
16
  private tunnelCreationLock;
17
17
  private tunnelHealthCheckInterval;
18
18
  constructor(sshConfig?: SSHConfig | null);
19
+ /**
20
+ * Get SSH config for comparison
21
+ */
22
+ getSSHConfig(): SSHConfig | null;
23
+ /**
24
+ * Get SSH host for identification
25
+ */
26
+ getSSHHost(): string | null;
19
27
  /**
20
28
  * Cleanup SSH tunnel (called on shutdown)
21
29
  */