@tmhs/docker-mcp 0.7.0 → 0.9.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 (124) hide show
  1. package/README.md +53 -3
  2. package/dist/index.js +61 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/tools/composeConfig.d.ts +3 -0
  5. package/dist/tools/composeConfig.d.ts.map +1 -0
  6. package/dist/tools/composeConfig.js +30 -0
  7. package/dist/tools/composeConfig.js.map +1 -0
  8. package/dist/tools/composeCp.d.ts +3 -0
  9. package/dist/tools/composeCp.d.ts.map +1 -0
  10. package/dist/tools/composeCp.js +33 -0
  11. package/dist/tools/composeCp.js.map +1 -0
  12. package/dist/tools/composeCreate.d.ts +3 -0
  13. package/dist/tools/composeCreate.d.ts.map +1 -0
  14. package/dist/tools/composeCreate.js +36 -0
  15. package/dist/tools/composeCreate.js.map +1 -0
  16. package/dist/tools/composeEvents.d.ts +3 -0
  17. package/dist/tools/composeEvents.d.ts.map +1 -0
  18. package/dist/tools/composeEvents.js +31 -0
  19. package/dist/tools/composeEvents.js.map +1 -0
  20. package/dist/tools/composeImages.d.ts +3 -0
  21. package/dist/tools/composeImages.d.ts.map +1 -0
  22. package/dist/tools/composeImages.js +25 -0
  23. package/dist/tools/composeImages.js.map +1 -0
  24. package/dist/tools/composeKill.d.ts +3 -0
  25. package/dist/tools/composeKill.d.ts.map +1 -0
  26. package/dist/tools/composeKill.js +30 -0
  27. package/dist/tools/composeKill.js.map +1 -0
  28. package/dist/tools/composeLs.d.ts +3 -0
  29. package/dist/tools/composeLs.d.ts.map +1 -0
  30. package/dist/tools/composeLs.js +24 -0
  31. package/dist/tools/composeLs.js.map +1 -0
  32. package/dist/tools/composePause.d.ts +3 -0
  33. package/dist/tools/composePause.d.ts.map +1 -0
  34. package/dist/tools/composePause.js +27 -0
  35. package/dist/tools/composePause.js.map +1 -0
  36. package/dist/tools/composePort.d.ts +3 -0
  37. package/dist/tools/composePort.d.ts.map +1 -0
  38. package/dist/tools/composePort.js +30 -0
  39. package/dist/tools/composePort.js.map +1 -0
  40. package/dist/tools/composeRm.d.ts +3 -0
  41. package/dist/tools/composeRm.d.ts.map +1 -0
  42. package/dist/tools/composeRm.js +33 -0
  43. package/dist/tools/composeRm.js.map +1 -0
  44. package/dist/tools/composeRun.d.ts +3 -0
  45. package/dist/tools/composeRun.d.ts.map +1 -0
  46. package/dist/tools/composeRun.js +49 -0
  47. package/dist/tools/composeRun.js.map +1 -0
  48. package/dist/tools/composeScale.d.ts +3 -0
  49. package/dist/tools/composeScale.d.ts.map +1 -0
  50. package/dist/tools/composeScale.js +28 -0
  51. package/dist/tools/composeScale.js.map +1 -0
  52. package/dist/tools/composeStart.d.ts +3 -0
  53. package/dist/tools/composeStart.d.ts.map +1 -0
  54. package/dist/tools/composeStart.js +27 -0
  55. package/dist/tools/composeStart.js.map +1 -0
  56. package/dist/tools/composeStop.d.ts +3 -0
  57. package/dist/tools/composeStop.d.ts.map +1 -0
  58. package/dist/tools/composeStop.js +30 -0
  59. package/dist/tools/composeStop.js.map +1 -0
  60. package/dist/tools/composeTop.d.ts +3 -0
  61. package/dist/tools/composeTop.d.ts.map +1 -0
  62. package/dist/tools/composeTop.js +27 -0
  63. package/dist/tools/composeTop.js.map +1 -0
  64. package/dist/tools/composeUnpause.d.ts +3 -0
  65. package/dist/tools/composeUnpause.d.ts.map +1 -0
  66. package/dist/tools/composeUnpause.js +27 -0
  67. package/dist/tools/composeUnpause.js.map +1 -0
  68. package/dist/tools/contextCreate.d.ts +3 -0
  69. package/dist/tools/contextCreate.d.ts.map +1 -0
  70. package/dist/tools/contextCreate.js +25 -0
  71. package/dist/tools/contextCreate.js.map +1 -0
  72. package/dist/tools/contextInspect.d.ts +3 -0
  73. package/dist/tools/contextInspect.d.ts.map +1 -0
  74. package/dist/tools/contextInspect.js +17 -0
  75. package/dist/tools/contextInspect.js.map +1 -0
  76. package/dist/tools/contextLs.d.ts +3 -0
  77. package/dist/tools/contextLs.d.ts.map +1 -0
  78. package/dist/tools/contextLs.js +17 -0
  79. package/dist/tools/contextLs.js.map +1 -0
  80. package/dist/tools/contextRm.d.ts +3 -0
  81. package/dist/tools/contextRm.d.ts.map +1 -0
  82. package/dist/tools/contextRm.js +22 -0
  83. package/dist/tools/contextRm.js.map +1 -0
  84. package/dist/tools/contextShow.d.ts +3 -0
  85. package/dist/tools/contextShow.d.ts.map +1 -0
  86. package/dist/tools/contextShow.js +14 -0
  87. package/dist/tools/contextShow.js.map +1 -0
  88. package/dist/tools/contextUse.d.ts +3 -0
  89. package/dist/tools/contextUse.d.ts.map +1 -0
  90. package/dist/tools/contextUse.js +17 -0
  91. package/dist/tools/contextUse.js.map +1 -0
  92. package/dist/tools/diff.d.ts +3 -0
  93. package/dist/tools/diff.d.ts.map +1 -0
  94. package/dist/tools/diff.js +17 -0
  95. package/dist/tools/diff.js.map +1 -0
  96. package/dist/tools/export.d.ts +3 -0
  97. package/dist/tools/export.d.ts.map +1 -0
  98. package/dist/tools/export.js +18 -0
  99. package/dist/tools/export.js.map +1 -0
  100. package/dist/tools/imageHistory.d.ts +3 -0
  101. package/dist/tools/imageHistory.d.ts.map +1 -0
  102. package/dist/tools/imageHistory.js +23 -0
  103. package/dist/tools/imageHistory.js.map +1 -0
  104. package/dist/tools/import.d.ts +3 -0
  105. package/dist/tools/import.d.ts.map +1 -0
  106. package/dist/tools/import.js +35 -0
  107. package/dist/tools/import.js.map +1 -0
  108. package/dist/tools/login.d.ts +3 -0
  109. package/dist/tools/login.d.ts.map +1 -0
  110. package/dist/tools/login.js +38 -0
  111. package/dist/tools/login.js.map +1 -0
  112. package/dist/tools/logout.d.ts +3 -0
  113. package/dist/tools/logout.d.ts.map +1 -0
  114. package/dist/tools/logout.js +20 -0
  115. package/dist/tools/logout.js.map +1 -0
  116. package/dist/tools/port.d.ts +3 -0
  117. package/dist/tools/port.d.ts.map +1 -0
  118. package/dist/tools/port.js +26 -0
  119. package/dist/tools/port.js.map +1 -0
  120. package/dist/tools/rename.d.ts +3 -0
  121. package/dist/tools/rename.d.ts.map +1 -0
  122. package/dist/tools/rename.js +18 -0
  123. package/dist/tools/rename.js.map +1 -0
  124. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composeRm.d.ts","sourceRoot":"","sources":["../../src/tools/composeRm.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAWzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAsBhD"}
@@ -0,0 +1,33 @@
1
+ import { z } from "zod";
2
+ import { execDocker, errorResponse } from "../utils/docker-api.js";
3
+ const inputSchema = {
4
+ file: z.string().optional().describe("Path to compose file"),
5
+ projectDir: z.string().optional().describe("Working directory for the compose project"),
6
+ services: z.array(z.string()).optional().describe("Specific services to remove (default: all stopped)"),
7
+ volumes: z.boolean().optional().default(false).describe("Remove anonymous volumes attached to containers"),
8
+ stop: z.boolean().optional().default(false).describe("Stop running containers before removing"),
9
+ };
10
+ export function register(server) {
11
+ server.tool("docker_composeRm", "Remove stopped Docker Compose service containers", inputSchema, async (args) => {
12
+ try {
13
+ const cmdArgs = ["compose"];
14
+ if (args.file)
15
+ cmdArgs.push("-f", args.file);
16
+ if (args.projectDir)
17
+ cmdArgs.push("--project-directory", args.projectDir);
18
+ cmdArgs.push("rm", "-f");
19
+ if (args.stop)
20
+ cmdArgs.push("--stop");
21
+ if (args.volumes)
22
+ cmdArgs.push("-v");
23
+ if (args.services)
24
+ cmdArgs.push(...args.services);
25
+ const output = await execDocker(cmdArgs);
26
+ return { content: [{ type: "text", text: output.trim() || "Stopped containers removed" }] };
27
+ }
28
+ catch (error) {
29
+ return errorResponse(error);
30
+ }
31
+ });
32
+ }
33
+ //# sourceMappingURL=composeRm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composeRm.js","sourceRoot":"","sources":["../../src/tools/composeRm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEnE,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAC5D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACvF,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;IACvG,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,iDAAiD,CAAC;IAC1G,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,yCAAyC,CAAC;CAChG,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,kDAAkD,EAClD,WAAW,EACX,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,IAAI,CAAC,UAAU;gBAAE,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACzB,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;YAElD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;YACzC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,4BAA4B,EAAE,CAAC,EAAE,CAAC;QACvG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function register(server: McpServer): void;
3
+ //# sourceMappingURL=composeRun.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composeRun.d.ts","sourceRoot":"","sources":["../../src/tools/composeRun.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAgBzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA6BhD"}
@@ -0,0 +1,49 @@
1
+ import { z } from "zod";
2
+ import { execDocker, errorResponse } from "../utils/docker-api.js";
3
+ const inputSchema = {
4
+ file: z.string().optional().describe("Path to compose file"),
5
+ projectDir: z.string().optional().describe("Working directory for the compose project"),
6
+ service: z.string().min(1).describe("Service to run the command on"),
7
+ command: z.array(z.string()).optional().describe("Command and arguments to run"),
8
+ rm: z.boolean().optional().default(true).describe("Remove container after exit (default: true)"),
9
+ detach: z.boolean().optional().default(false).describe("Run in background"),
10
+ user: z.string().optional().describe("Run as specified user (e.g. 'root', '1000:1000')"),
11
+ env: z.array(z.string()).optional().describe("Environment variables (e.g. ['KEY=value'])"),
12
+ workdir: z.string().optional().describe("Working directory inside the container"),
13
+ noDeps: z.boolean().optional().default(false).describe("Don't start linked services"),
14
+ };
15
+ export function register(server) {
16
+ server.tool("docker_composeRun", "Run a one-off command on a Docker Compose service", inputSchema, async (args) => {
17
+ try {
18
+ const cmdArgs = ["compose"];
19
+ if (args.file)
20
+ cmdArgs.push("-f", args.file);
21
+ if (args.projectDir)
22
+ cmdArgs.push("--project-directory", args.projectDir);
23
+ cmdArgs.push("run", "--no-TTY");
24
+ if (args.rm)
25
+ cmdArgs.push("--rm");
26
+ if (args.detach)
27
+ cmdArgs.push("-d");
28
+ if (args.user)
29
+ cmdArgs.push("--user", args.user);
30
+ if (args.env) {
31
+ for (const e of args.env)
32
+ cmdArgs.push("-e", e);
33
+ }
34
+ if (args.workdir)
35
+ cmdArgs.push("-w", args.workdir);
36
+ if (args.noDeps)
37
+ cmdArgs.push("--no-deps");
38
+ cmdArgs.push(args.service);
39
+ if (args.command)
40
+ cmdArgs.push(...args.command);
41
+ const output = await execDocker(cmdArgs, { timeout: 300_000 });
42
+ return { content: [{ type: "text", text: output.trim() || "Command completed" }] };
43
+ }
44
+ catch (error) {
45
+ return errorResponse(error);
46
+ }
47
+ });
48
+ }
49
+ //# sourceMappingURL=composeRun.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composeRun.js","sourceRoot":"","sources":["../../src/tools/composeRun.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function register(server: McpServer): void;
3
+ //# sourceMappingURL=composeScale.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composeScale.d.ts","sourceRoot":"","sources":["../../src/tools/composeScale.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AASzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAsBhD"}
@@ -0,0 +1,28 @@
1
+ import { z } from "zod";
2
+ import { execDocker, errorResponse } from "../utils/docker-api.js";
3
+ const inputSchema = {
4
+ file: z.string().optional().describe("Path to compose file"),
5
+ projectDir: z.string().optional().describe("Working directory for the compose project"),
6
+ scales: z.array(z.string()).min(1).describe("Scale specifications (e.g. ['web=3', 'worker=2'])"),
7
+ };
8
+ export function register(server) {
9
+ server.tool("docker_composeScale", "Scale Docker Compose services to a specified number of replicas", inputSchema, async (args) => {
10
+ try {
11
+ const cmdArgs = ["compose"];
12
+ if (args.file)
13
+ cmdArgs.push("-f", args.file);
14
+ if (args.projectDir)
15
+ cmdArgs.push("--project-directory", args.projectDir);
16
+ cmdArgs.push("up", "-d");
17
+ for (const s of args.scales) {
18
+ cmdArgs.push("--scale", s);
19
+ }
20
+ const output = await execDocker(cmdArgs, { timeout: 300_000 });
21
+ return { content: [{ type: "text", text: output.trim() || `Scaled services: ${args.scales.join(", ")}` }] };
22
+ }
23
+ catch (error) {
24
+ return errorResponse(error);
25
+ }
26
+ });
27
+ }
28
+ //# sourceMappingURL=composeScale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composeScale.js","sourceRoot":"","sources":["../../src/tools/composeScale.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEnE,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAC5D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACvF,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC;CACjG,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB,iEAAiE,EACjE,WAAW,EACX,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,IAAI,CAAC,UAAU;gBAAE,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACzB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC5B,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAC7B,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAC/D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACvH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function register(server: McpServer): void;
3
+ //# sourceMappingURL=composeStart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composeStart.d.ts","sourceRoot":"","sources":["../../src/tools/composeStart.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AASzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoBhD"}
@@ -0,0 +1,27 @@
1
+ import { z } from "zod";
2
+ import { execDocker, errorResponse } from "../utils/docker-api.js";
3
+ const inputSchema = {
4
+ file: z.string().optional().describe("Path to compose file"),
5
+ projectDir: z.string().optional().describe("Working directory for the compose project"),
6
+ services: z.array(z.string()).optional().describe("Specific services to start (default: all)"),
7
+ };
8
+ export function register(server) {
9
+ server.tool("docker_composeStart", "Start existing Docker Compose service containers", inputSchema, async (args) => {
10
+ try {
11
+ const cmdArgs = ["compose"];
12
+ if (args.file)
13
+ cmdArgs.push("-f", args.file);
14
+ if (args.projectDir)
15
+ cmdArgs.push("--project-directory", args.projectDir);
16
+ cmdArgs.push("start");
17
+ if (args.services)
18
+ cmdArgs.push(...args.services);
19
+ const output = await execDocker(cmdArgs);
20
+ return { content: [{ type: "text", text: output.trim() || "Services started" }] };
21
+ }
22
+ catch (error) {
23
+ return errorResponse(error);
24
+ }
25
+ });
26
+ }
27
+ //# sourceMappingURL=composeStart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composeStart.js","sourceRoot":"","sources":["../../src/tools/composeStart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEnE,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAC5D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACvF,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;CAC/F,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB,kDAAkD,EAClD,WAAW,EACX,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,IAAI,CAAC,UAAU;gBAAE,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;YAElD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;YACzC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,kBAAkB,EAAE,CAAC,EAAE,CAAC;QAC7F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function register(server: McpServer): void;
3
+ //# sourceMappingURL=composeStop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composeStop.d.ts","sourceRoot":"","sources":["../../src/tools/composeStop.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAUzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqBhD"}
@@ -0,0 +1,30 @@
1
+ import { z } from "zod";
2
+ import { execDocker, errorResponse } from "../utils/docker-api.js";
3
+ const inputSchema = {
4
+ file: z.string().optional().describe("Path to compose file"),
5
+ projectDir: z.string().optional().describe("Working directory for the compose project"),
6
+ services: z.array(z.string()).optional().describe("Specific services to stop (default: all)"),
7
+ timeout: z.number().optional().describe("Seconds to wait for graceful stop before killing"),
8
+ };
9
+ export function register(server) {
10
+ server.tool("docker_composeStop", "Stop Docker Compose services without removing containers", inputSchema, async (args) => {
11
+ try {
12
+ const cmdArgs = ["compose"];
13
+ if (args.file)
14
+ cmdArgs.push("-f", args.file);
15
+ if (args.projectDir)
16
+ cmdArgs.push("--project-directory", args.projectDir);
17
+ cmdArgs.push("stop");
18
+ if (args.timeout !== undefined)
19
+ cmdArgs.push("-t", String(args.timeout));
20
+ if (args.services)
21
+ cmdArgs.push(...args.services);
22
+ const output = await execDocker(cmdArgs);
23
+ return { content: [{ type: "text", text: output.trim() || "Services stopped" }] };
24
+ }
25
+ catch (error) {
26
+ return errorResponse(error);
27
+ }
28
+ });
29
+ }
30
+ //# sourceMappingURL=composeStop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composeStop.js","sourceRoot":"","sources":["../../src/tools/composeStop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEnE,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAC5D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACvF,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IAC7F,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;CAC5F,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,IAAI,CACT,oBAAoB,EACpB,0DAA0D,EAC1D,WAAW,EACX,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,IAAI,CAAC,UAAU;gBAAE,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;gBAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACzE,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;YAElD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;YACzC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,kBAAkB,EAAE,CAAC,EAAE,CAAC;QAC7F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function register(server: McpServer): void;
3
+ //# sourceMappingURL=composeTop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composeTop.d.ts","sourceRoot":"","sources":["../../src/tools/composeTop.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AASzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoBhD"}
@@ -0,0 +1,27 @@
1
+ import { z } from "zod";
2
+ import { execDocker, errorResponse } from "../utils/docker-api.js";
3
+ const inputSchema = {
4
+ file: z.string().optional().describe("Path to compose file"),
5
+ projectDir: z.string().optional().describe("Working directory for the compose project"),
6
+ services: z.array(z.string()).optional().describe("Specific services to display processes for (default: all)"),
7
+ };
8
+ export function register(server) {
9
+ server.tool("docker_composeTop", "Display running processes in Docker Compose service containers", inputSchema, async (args) => {
10
+ try {
11
+ const cmdArgs = ["compose"];
12
+ if (args.file)
13
+ cmdArgs.push("-f", args.file);
14
+ if (args.projectDir)
15
+ cmdArgs.push("--project-directory", args.projectDir);
16
+ cmdArgs.push("top");
17
+ if (args.services)
18
+ cmdArgs.push(...args.services);
19
+ const output = await execDocker(cmdArgs);
20
+ return { content: [{ type: "text", text: output.trim() || "No running processes found" }] };
21
+ }
22
+ catch (error) {
23
+ return errorResponse(error);
24
+ }
25
+ });
26
+ }
27
+ //# sourceMappingURL=composeTop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composeTop.js","sourceRoot":"","sources":["../../src/tools/composeTop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEnE,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAC5D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACvF,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;CAC/G,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,gEAAgE,EAChE,WAAW,EACX,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,IAAI,CAAC,UAAU;gBAAE,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;YAElD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;YACzC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,4BAA4B,EAAE,CAAC,EAAE,CAAC;QACvG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function register(server: McpServer): void;
3
+ //# sourceMappingURL=composeUnpause.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composeUnpause.d.ts","sourceRoot":"","sources":["../../src/tools/composeUnpause.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AASzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoBhD"}
@@ -0,0 +1,27 @@
1
+ import { z } from "zod";
2
+ import { execDocker, errorResponse } from "../utils/docker-api.js";
3
+ const inputSchema = {
4
+ file: z.string().optional().describe("Path to compose file"),
5
+ projectDir: z.string().optional().describe("Working directory for the compose project"),
6
+ services: z.array(z.string()).optional().describe("Specific services to unpause (default: all)"),
7
+ };
8
+ export function register(server) {
9
+ server.tool("docker_composeUnpause", "Unpause Docker Compose services", inputSchema, async (args) => {
10
+ try {
11
+ const cmdArgs = ["compose"];
12
+ if (args.file)
13
+ cmdArgs.push("-f", args.file);
14
+ if (args.projectDir)
15
+ cmdArgs.push("--project-directory", args.projectDir);
16
+ cmdArgs.push("unpause");
17
+ if (args.services)
18
+ cmdArgs.push(...args.services);
19
+ const output = await execDocker(cmdArgs);
20
+ return { content: [{ type: "text", text: output.trim() || "Services unpaused" }] };
21
+ }
22
+ catch (error) {
23
+ return errorResponse(error);
24
+ }
25
+ });
26
+ }
27
+ //# sourceMappingURL=composeUnpause.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composeUnpause.js","sourceRoot":"","sources":["../../src/tools/composeUnpause.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEnE,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAC5D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACvF,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;CACjG,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,iCAAiC,EACjC,WAAW,EACX,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,IAAI,CAAC,UAAU;gBAAE,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxB,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;YAElD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;YACzC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,mBAAmB,EAAE,CAAC,EAAE,CAAC;QAC9F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function register(server: McpServer): void;
3
+ //# sourceMappingURL=contextCreate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextCreate.d.ts","sourceRoot":"","sources":["../../src/tools/contextCreate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAUzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAiBhD"}
@@ -0,0 +1,25 @@
1
+ import { z } from "zod";
2
+ import { execDocker, errorResponse } from "../utils/docker-api.js";
3
+ const inputSchema = {
4
+ name: z.string().min(1).describe("Context name"),
5
+ description: z.string().optional().describe("Description for the context"),
6
+ dockerEndpoint: z.string().min(1).describe("Docker endpoint (e.g. 'ssh://user@host', 'tcp://host:2376')"),
7
+ defaultStack: z.string().optional().describe("Default stack orchestrator"),
8
+ };
9
+ export function register(server) {
10
+ server.tool("docker_contextCreate", "Create a Docker context for connecting to remote Docker hosts", inputSchema, async (args) => {
11
+ try {
12
+ const cmdArgs = ["context", "create", args.name, "--docker", `host=${args.dockerEndpoint}`];
13
+ if (args.description)
14
+ cmdArgs.push("--description", args.description);
15
+ if (args.defaultStack)
16
+ cmdArgs.push("--default-stack-orchestrator", args.defaultStack);
17
+ const output = await execDocker(cmdArgs);
18
+ return { content: [{ type: "text", text: output.trim() || `Context '${args.name}' created` }] };
19
+ }
20
+ catch (error) {
21
+ return errorResponse(error);
22
+ }
23
+ });
24
+ }
25
+ //# sourceMappingURL=contextCreate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextCreate.js","sourceRoot":"","sources":["../../src/tools/contextCreate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEnE,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;IAChD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC1E,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,6DAA6D,CAAC;IACzG,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;CAC3E,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,+DAA+D,EAC/D,WAAW,EACX,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;YAC5F,IAAI,IAAI,CAAC,WAAW;gBAAE,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACtE,IAAI,IAAI,CAAC,YAAY;gBAAE,OAAO,CAAC,IAAI,CAAC,8BAA8B,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACvF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;YACzC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,YAAY,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC,EAAE,CAAC;QAC3G,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function register(server: McpServer): void;
3
+ //# sourceMappingURL=contextInspect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextInspect.d.ts","sourceRoot":"","sources":["../../src/tools/contextInspect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAchD"}
@@ -0,0 +1,17 @@
1
+ import { z } from "zod";
2
+ import { execDocker, errorResponse } from "../utils/docker-api.js";
3
+ const inputSchema = {
4
+ name: z.string().min(1).describe("Context name to inspect"),
5
+ };
6
+ export function register(server) {
7
+ server.tool("docker_contextInspect", "Display detailed information on a Docker context", inputSchema, async (args) => {
8
+ try {
9
+ const output = await execDocker(["context", "inspect", args.name]);
10
+ return { content: [{ type: "text", text: output.trim() }] };
11
+ }
12
+ catch (error) {
13
+ return errorResponse(error);
14
+ }
15
+ });
16
+ }
17
+ //# sourceMappingURL=contextInspect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextInspect.js","sourceRoot":"","sources":["../../src/tools/contextInspect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEnE,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;CAC5D,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,kDAAkD,EAClD,WAAW,EACX,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACnE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;QACvE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function register(server: McpServer): void;
3
+ //# sourceMappingURL=contextLs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextLs.d.ts","sourceRoot":"","sources":["../../src/tools/contextLs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAchD"}
@@ -0,0 +1,17 @@
1
+ import { z } from "zod";
2
+ import { execDocker, errorResponse } from "../utils/docker-api.js";
3
+ const inputSchema = {
4
+ format: z.string().optional().default("json").describe("Output format (default: json)"),
5
+ };
6
+ export function register(server) {
7
+ server.tool("docker_contextLs", "List available Docker contexts", inputSchema, async (args) => {
8
+ try {
9
+ const output = await execDocker(["context", "ls", "--format", args.format ?? "json"]);
10
+ return { content: [{ type: "text", text: output.trim() || "No contexts found" }] };
11
+ }
12
+ catch (error) {
13
+ return errorResponse(error);
14
+ }
15
+ });
16
+ }
17
+ //# sourceMappingURL=contextLs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextLs.js","sourceRoot":"","sources":["../../src/tools/contextLs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEnE,MAAM,WAAW,GAAG;IAClB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;CACxF,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,gCAAgC,EAChC,WAAW,EACX,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC;YACtF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,mBAAmB,EAAE,CAAC,EAAE,CAAC;QAC9F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function register(server: McpServer): void;
3
+ //# sourceMappingURL=contextRm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextRm.d.ts","sourceRoot":"","sources":["../../src/tools/contextRm.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAiBhD"}
@@ -0,0 +1,22 @@
1
+ import { z } from "zod";
2
+ import { execDocker, errorResponse } from "../utils/docker-api.js";
3
+ const inputSchema = {
4
+ names: z.array(z.string()).min(1).describe("Context names to remove"),
5
+ force: z.boolean().optional().default(false).describe("Force removal of a context in use"),
6
+ };
7
+ export function register(server) {
8
+ server.tool("docker_contextRm", "Remove one or more Docker contexts", inputSchema, async (args) => {
9
+ try {
10
+ const cmdArgs = ["context", "rm"];
11
+ if (args.force)
12
+ cmdArgs.push("--force");
13
+ cmdArgs.push(...args.names);
14
+ const output = await execDocker(cmdArgs);
15
+ return { content: [{ type: "text", text: output.trim() || `Removed contexts: ${args.names.join(", ")}` }] };
16
+ }
17
+ catch (error) {
18
+ return errorResponse(error);
19
+ }
20
+ });
21
+ }
22
+ //# sourceMappingURL=contextRm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextRm.js","sourceRoot":"","sources":["../../src/tools/contextRm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEnE,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACrE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;CAC3F,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,oCAAoC,EACpC,WAAW,EACX,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAClC,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;YACzC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,qBAAqB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACvH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function register(server: McpServer): void;
3
+ //# sourceMappingURL=contextShow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextShow.d.ts","sourceRoot":"","sources":["../../src/tools/contextShow.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAchD"}
@@ -0,0 +1,14 @@
1
+ import { execDocker, errorResponse } from "../utils/docker-api.js";
2
+ const inputSchema = {};
3
+ export function register(server) {
4
+ server.tool("docker_contextShow", "Print the name of the current Docker context", inputSchema, async () => {
5
+ try {
6
+ const output = await execDocker(["context", "show"]);
7
+ return { content: [{ type: "text", text: output.trim() }] };
8
+ }
9
+ catch (error) {
10
+ return errorResponse(error);
11
+ }
12
+ });
13
+ }
14
+ //# sourceMappingURL=contextShow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextShow.js","sourceRoot":"","sources":["../../src/tools/contextShow.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEnE,MAAM,WAAW,GAAG,EAAE,CAAC;AAEvB,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,IAAI,CACT,oBAAoB,EACpB,8CAA8C,EAC9C,WAAW,EACX,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;YACrD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;QACvE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function register(server: McpServer): void;
3
+ //# sourceMappingURL=contextUse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextUse.d.ts","sourceRoot":"","sources":["../../src/tools/contextUse.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAchD"}
@@ -0,0 +1,17 @@
1
+ import { z } from "zod";
2
+ import { execDocker, errorResponse } from "../utils/docker-api.js";
3
+ const inputSchema = {
4
+ name: z.string().min(1).describe("Context name to set as active"),
5
+ };
6
+ export function register(server) {
7
+ server.tool("docker_contextUse", "Set the current active Docker context", inputSchema, async (args) => {
8
+ try {
9
+ const output = await execDocker(["context", "use", args.name]);
10
+ return { content: [{ type: "text", text: output.trim() || `Switched to context '${args.name}'` }] };
11
+ }
12
+ catch (error) {
13
+ return errorResponse(error);
14
+ }
15
+ });
16
+ }
17
+ //# sourceMappingURL=contextUse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextUse.js","sourceRoot":"","sources":["../../src/tools/contextUse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEnE,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;CAClE,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,uCAAuC,EACvC,WAAW,EACX,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,wBAAwB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC;QAC/G,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function register(server: McpServer): void;
3
+ //# sourceMappingURL=diff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/tools/diff.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAchD"}
@@ -0,0 +1,17 @@
1
+ import { z } from "zod";
2
+ import { execDocker, errorResponse } from "../utils/docker-api.js";
3
+ const inputSchema = {
4
+ containerId: z.string().min(1).describe("Container name or ID"),
5
+ };
6
+ export function register(server) {
7
+ server.tool("docker_diff", "Inspect filesystem changes in a container (added, changed, deleted files)", inputSchema, async (args) => {
8
+ try {
9
+ const output = await execDocker(["diff", args.containerId]);
10
+ return { content: [{ type: "text", text: output.trim() || "No filesystem changes detected" }] };
11
+ }
12
+ catch (error) {
13
+ return errorResponse(error);
14
+ }
15
+ });
16
+ }
17
+ //# sourceMappingURL=diff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/tools/diff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEnE,MAAM,WAAW,GAAG;IAClB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;CAChE,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,IAAI,CACT,aAAa,EACb,2EAA2E,EAC3E,WAAW,EACX,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YAC5D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,gCAAgC,EAAE,CAAC,EAAE,CAAC;QAC3G,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function register(server: McpServer): void;
3
+ //# sourceMappingURL=export.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/tools/export.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAchD"}
@@ -0,0 +1,18 @@
1
+ import { z } from "zod";
2
+ import { execDocker, errorResponse } from "../utils/docker-api.js";
3
+ const inputSchema = {
4
+ containerId: z.string().min(1).describe("Container name or ID"),
5
+ output: z.string().min(1).describe("Output file path for the tar archive"),
6
+ };
7
+ export function register(server) {
8
+ server.tool("docker_export", "Export a container's filesystem as a tar archive", inputSchema, async (args) => {
9
+ try {
10
+ const output = await execDocker(["export", "-o", args.output, args.containerId], { timeout: 300_000 });
11
+ return { content: [{ type: "text", text: output.trim() || `Exported ${args.containerId} to ${args.output}` }] };
12
+ }
13
+ catch (error) {
14
+ return errorResponse(error);
15
+ }
16
+ });
17
+ }
18
+ //# sourceMappingURL=export.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/tools/export.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEnE,MAAM,WAAW,GAAG;IAClB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAC/D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;CAC3E,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,IAAI,CACT,eAAe,EACf,kDAAkD,EAClD,WAAW,EACX,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YACvG,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,YAAY,IAAI,CAAC,WAAW,OAAO,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAC3H,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function register(server: McpServer): void;
3
+ //# sourceMappingURL=imageHistory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageHistory.d.ts","sourceRoot":"","sources":["../../src/tools/imageHistory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AASzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAiBhD"}