@tmhs/docker-mcp 0.6.0 → 0.8.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.
- package/README.md +42 -3
- package/dist/index.js +59 -1
- package/dist/index.js.map +1 -1
- package/dist/tools/builderPrune.d.ts +3 -0
- package/dist/tools/builderPrune.d.ts.map +1 -0
- package/dist/tools/builderPrune.js +43 -0
- package/dist/tools/builderPrune.js.map +1 -0
- package/dist/tools/buildxBuild.d.ts +3 -0
- package/dist/tools/buildxBuild.d.ts.map +1 -0
- package/dist/tools/buildxBuild.js +138 -0
- package/dist/tools/buildxBuild.js.map +1 -0
- package/dist/tools/buildxCreate.d.ts +3 -0
- package/dist/tools/buildxCreate.d.ts.map +1 -0
- package/dist/tools/buildxCreate.js +66 -0
- package/dist/tools/buildxCreate.js.map +1 -0
- package/dist/tools/buildxImagetools.d.ts +3 -0
- package/dist/tools/buildxImagetools.d.ts.map +1 -0
- package/dist/tools/buildxImagetools.js +48 -0
- package/dist/tools/buildxImagetools.js.map +1 -0
- package/dist/tools/buildxInspect.d.ts +3 -0
- package/dist/tools/buildxInspect.d.ts.map +1 -0
- package/dist/tools/buildxInspect.js +36 -0
- package/dist/tools/buildxInspect.js.map +1 -0
- package/dist/tools/buildxLs.d.ts +3 -0
- package/dist/tools/buildxLs.d.ts.map +1 -0
- package/dist/tools/buildxLs.js +17 -0
- package/dist/tools/buildxLs.js.map +1 -0
- package/dist/tools/buildxRm.d.ts +3 -0
- package/dist/tools/buildxRm.d.ts.map +1 -0
- package/dist/tools/buildxRm.js +42 -0
- package/dist/tools/buildxRm.js.map +1 -0
- package/dist/tools/buildxUse.d.ts +3 -0
- package/dist/tools/buildxUse.d.ts.map +1 -0
- package/dist/tools/buildxUse.js +42 -0
- package/dist/tools/buildxUse.js.map +1 -0
- package/dist/tools/composeConfig.d.ts +3 -0
- package/dist/tools/composeConfig.d.ts.map +1 -0
- package/dist/tools/composeConfig.js +30 -0
- package/dist/tools/composeConfig.js.map +1 -0
- package/dist/tools/composeCp.d.ts +3 -0
- package/dist/tools/composeCp.d.ts.map +1 -0
- package/dist/tools/composeCp.js +33 -0
- package/dist/tools/composeCp.js.map +1 -0
- package/dist/tools/composeCreate.d.ts +3 -0
- package/dist/tools/composeCreate.d.ts.map +1 -0
- package/dist/tools/composeCreate.js +36 -0
- package/dist/tools/composeCreate.js.map +1 -0
- package/dist/tools/composeEvents.d.ts +3 -0
- package/dist/tools/composeEvents.d.ts.map +1 -0
- package/dist/tools/composeEvents.js +31 -0
- package/dist/tools/composeEvents.js.map +1 -0
- package/dist/tools/composeImages.d.ts +3 -0
- package/dist/tools/composeImages.d.ts.map +1 -0
- package/dist/tools/composeImages.js +25 -0
- package/dist/tools/composeImages.js.map +1 -0
- package/dist/tools/composeKill.d.ts +3 -0
- package/dist/tools/composeKill.d.ts.map +1 -0
- package/dist/tools/composeKill.js +30 -0
- package/dist/tools/composeKill.js.map +1 -0
- package/dist/tools/composeLs.d.ts +3 -0
- package/dist/tools/composeLs.d.ts.map +1 -0
- package/dist/tools/composeLs.js +24 -0
- package/dist/tools/composeLs.js.map +1 -0
- package/dist/tools/composePause.d.ts +3 -0
- package/dist/tools/composePause.d.ts.map +1 -0
- package/dist/tools/composePause.js +27 -0
- package/dist/tools/composePause.js.map +1 -0
- package/dist/tools/composePort.d.ts +3 -0
- package/dist/tools/composePort.d.ts.map +1 -0
- package/dist/tools/composePort.js +30 -0
- package/dist/tools/composePort.js.map +1 -0
- package/dist/tools/composeRm.d.ts +3 -0
- package/dist/tools/composeRm.d.ts.map +1 -0
- package/dist/tools/composeRm.js +33 -0
- package/dist/tools/composeRm.js.map +1 -0
- package/dist/tools/composeRun.d.ts +3 -0
- package/dist/tools/composeRun.d.ts.map +1 -0
- package/dist/tools/composeRun.js +49 -0
- package/dist/tools/composeRun.js.map +1 -0
- package/dist/tools/composeScale.d.ts +3 -0
- package/dist/tools/composeScale.d.ts.map +1 -0
- package/dist/tools/composeScale.js +28 -0
- package/dist/tools/composeScale.js.map +1 -0
- package/dist/tools/composeStart.d.ts +3 -0
- package/dist/tools/composeStart.d.ts.map +1 -0
- package/dist/tools/composeStart.js +27 -0
- package/dist/tools/composeStart.js.map +1 -0
- package/dist/tools/composeStop.d.ts +3 -0
- package/dist/tools/composeStop.d.ts.map +1 -0
- package/dist/tools/composeStop.js +30 -0
- package/dist/tools/composeStop.js.map +1 -0
- package/dist/tools/composeTop.d.ts +3 -0
- package/dist/tools/composeTop.d.ts.map +1 -0
- package/dist/tools/composeTop.js +27 -0
- package/dist/tools/composeTop.js.map +1 -0
- package/dist/tools/composeUnpause.d.ts +3 -0
- package/dist/tools/composeUnpause.d.ts.map +1 -0
- package/dist/tools/composeUnpause.js +27 -0
- package/dist/tools/composeUnpause.js.map +1 -0
- package/dist/tools/manifestAnnotate.d.ts +3 -0
- package/dist/tools/manifestAnnotate.d.ts.map +1 -0
- package/dist/tools/manifestAnnotate.js +60 -0
- package/dist/tools/manifestAnnotate.js.map +1 -0
- package/dist/tools/manifestCreate.d.ts +3 -0
- package/dist/tools/manifestCreate.d.ts.map +1 -0
- package/dist/tools/manifestCreate.js +38 -0
- package/dist/tools/manifestCreate.js.map +1 -0
- package/dist/tools/manifestInspect.d.ts +3 -0
- package/dist/tools/manifestInspect.d.ts.map +1 -0
- package/dist/tools/manifestInspect.js +34 -0
- package/dist/tools/manifestInspect.js.map +1 -0
- package/dist/tools/manifestPush.d.ts +3 -0
- package/dist/tools/manifestPush.d.ts.map +1 -0
- package/dist/tools/manifestPush.js +34 -0
- package/dist/tools/manifestPush.js.map +1 -0
- package/dist/tools/manifestRm.d.ts +3 -0
- package/dist/tools/manifestRm.d.ts.map +1 -0
- package/dist/tools/manifestRm.js +25 -0
- package/dist/tools/manifestRm.js.map +1 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @tmhs/docker-mcp
|
|
2
2
|
|
|
3
|
-
MCP server for Docker CLI integration -
|
|
3
|
+
MCP server for Docker CLI integration - 84 tools for containers, images, complete Compose V2, volumes, networks, cleanup, observability, buildx, manifests, and system info.
|
|
4
4
|
|
|
5
5
|
Part of the [Docker Developer Tools](https://github.com/TMHSDigital/Docker-Developer-Tools) Cursor plugin.
|
|
6
6
|
|
|
@@ -48,7 +48,7 @@ Or if installed globally:
|
|
|
48
48
|
}
|
|
49
49
|
```
|
|
50
50
|
|
|
51
|
-
## Tools (
|
|
51
|
+
## Tools (84)
|
|
52
52
|
|
|
53
53
|
### Read / Inspect (10)
|
|
54
54
|
|
|
@@ -93,7 +93,7 @@ Or if installed globally:
|
|
|
93
93
|
| `docker_save` | Save images to tar archive |
|
|
94
94
|
| `docker_load` | Load images from tar archive |
|
|
95
95
|
|
|
96
|
-
### Compose (
|
|
96
|
+
### Compose (24)
|
|
97
97
|
|
|
98
98
|
| Tool | Description |
|
|
99
99
|
|------|-------------|
|
|
@@ -105,6 +105,22 @@ Or if installed globally:
|
|
|
105
105
|
| `docker_composeRestart` | Restart Compose services |
|
|
106
106
|
| `docker_composePull` | Pull Compose service images |
|
|
107
107
|
| `docker_composeExec` | Execute command in a Compose service |
|
|
108
|
+
| `docker_composeConfig` | Validate and render a Compose file |
|
|
109
|
+
| `docker_composeCp` | Copy files to/from a Compose service |
|
|
110
|
+
| `docker_composeCreate` | Create containers without starting |
|
|
111
|
+
| `docker_composeEvents` | Real-time Compose container events |
|
|
112
|
+
| `docker_composeImages` | List images used by services |
|
|
113
|
+
| `docker_composeKill` | Force stop service containers |
|
|
114
|
+
| `docker_composeLs` | List Compose projects |
|
|
115
|
+
| `docker_composePause` | Pause Compose services |
|
|
116
|
+
| `docker_composeUnpause` | Unpause Compose services |
|
|
117
|
+
| `docker_composePort` | Get public port for a binding |
|
|
118
|
+
| `docker_composeRm` | Remove stopped service containers |
|
|
119
|
+
| `docker_composeRun` | Run one-off command on a service |
|
|
120
|
+
| `docker_composeScale` | Scale services to replica count |
|
|
121
|
+
| `docker_composeStart` | Start existing service containers |
|
|
122
|
+
| `docker_composeStop` | Stop services without removing |
|
|
123
|
+
| `docker_composeTop` | Running processes per service |
|
|
108
124
|
|
|
109
125
|
### Volume Management (4)
|
|
110
126
|
|
|
@@ -145,6 +161,29 @@ Or if installed globally:
|
|
|
145
161
|
| `docker_update` | Update container resource config |
|
|
146
162
|
| `docker_wait` | Wait for container to stop |
|
|
147
163
|
|
|
164
|
+
### Buildx (8)
|
|
165
|
+
|
|
166
|
+
| Tool | Description |
|
|
167
|
+
|------|-------------|
|
|
168
|
+
| `docker_buildxBuild` | Multi-platform builds with buildx |
|
|
169
|
+
| `docker_buildxLs` | List builder instances |
|
|
170
|
+
| `docker_buildxCreate` | Create a new builder instance |
|
|
171
|
+
| `docker_buildxRm` | Remove a builder instance |
|
|
172
|
+
| `docker_buildxInspect` | Inspect a builder instance |
|
|
173
|
+
| `docker_buildxUse` | Set the default builder |
|
|
174
|
+
| `docker_buildxImagetools` | Inspect or create manifest lists via buildx |
|
|
175
|
+
| `docker_builderPrune` | Remove build cache |
|
|
176
|
+
|
|
177
|
+
### Manifest (5)
|
|
178
|
+
|
|
179
|
+
| Tool | Description |
|
|
180
|
+
|------|-------------|
|
|
181
|
+
| `docker_manifestCreate` | Create a manifest list for multi-arch images |
|
|
182
|
+
| `docker_manifestInspect` | Display a manifest or manifest list |
|
|
183
|
+
| `docker_manifestAnnotate` | Add platform info to a manifest entry |
|
|
184
|
+
| `docker_manifestPush` | Push a manifest list to a registry |
|
|
185
|
+
| `docker_manifestRm` | Remove local manifest lists |
|
|
186
|
+
|
|
148
187
|
## License
|
|
149
188
|
|
|
150
189
|
CC-BY-NC-ND-4.0 - Copyright 2026 TM Hospitality Strategies
|
package/dist/index.js
CHANGED
|
@@ -56,9 +56,38 @@ import { register as registerTop } from "./tools/top.js";
|
|
|
56
56
|
import { register as registerEvents } from "./tools/events.js";
|
|
57
57
|
import { register as registerUpdate } from "./tools/update.js";
|
|
58
58
|
import { register as registerWait } from "./tools/wait.js";
|
|
59
|
+
import { register as registerBuildxBuild } from "./tools/buildxBuild.js";
|
|
60
|
+
import { register as registerBuildxLs } from "./tools/buildxLs.js";
|
|
61
|
+
import { register as registerBuildxCreate } from "./tools/buildxCreate.js";
|
|
62
|
+
import { register as registerBuildxRm } from "./tools/buildxRm.js";
|
|
63
|
+
import { register as registerBuildxInspect } from "./tools/buildxInspect.js";
|
|
64
|
+
import { register as registerBuildxUse } from "./tools/buildxUse.js";
|
|
65
|
+
import { register as registerBuildxImagetools } from "./tools/buildxImagetools.js";
|
|
66
|
+
import { register as registerBuilderPrune } from "./tools/builderPrune.js";
|
|
67
|
+
import { register as registerManifestCreate } from "./tools/manifestCreate.js";
|
|
68
|
+
import { register as registerManifestInspect } from "./tools/manifestInspect.js";
|
|
69
|
+
import { register as registerManifestAnnotate } from "./tools/manifestAnnotate.js";
|
|
70
|
+
import { register as registerManifestPush } from "./tools/manifestPush.js";
|
|
71
|
+
import { register as registerManifestRm } from "./tools/manifestRm.js";
|
|
72
|
+
import { register as registerComposeConfig } from "./tools/composeConfig.js";
|
|
73
|
+
import { register as registerComposeCp } from "./tools/composeCp.js";
|
|
74
|
+
import { register as registerComposeCreate } from "./tools/composeCreate.js";
|
|
75
|
+
import { register as registerComposeEvents } from "./tools/composeEvents.js";
|
|
76
|
+
import { register as registerComposeImages } from "./tools/composeImages.js";
|
|
77
|
+
import { register as registerComposeKill } from "./tools/composeKill.js";
|
|
78
|
+
import { register as registerComposeLs } from "./tools/composeLs.js";
|
|
79
|
+
import { register as registerComposePause } from "./tools/composePause.js";
|
|
80
|
+
import { register as registerComposeUnpause } from "./tools/composeUnpause.js";
|
|
81
|
+
import { register as registerComposePort } from "./tools/composePort.js";
|
|
82
|
+
import { register as registerComposeRm } from "./tools/composeRm.js";
|
|
83
|
+
import { register as registerComposeRun } from "./tools/composeRun.js";
|
|
84
|
+
import { register as registerComposeScale } from "./tools/composeScale.js";
|
|
85
|
+
import { register as registerComposeStart } from "./tools/composeStart.js";
|
|
86
|
+
import { register as registerComposeStop } from "./tools/composeStop.js";
|
|
87
|
+
import { register as registerComposeTop } from "./tools/composeTop.js";
|
|
59
88
|
const server = new McpServer({
|
|
60
89
|
name: "docker-mcp",
|
|
61
|
-
version: "0.
|
|
90
|
+
version: "0.8.0",
|
|
62
91
|
});
|
|
63
92
|
registerListContainers(server);
|
|
64
93
|
registerInspectContainer(server);
|
|
@@ -115,6 +144,35 @@ registerTop(server);
|
|
|
115
144
|
registerEvents(server);
|
|
116
145
|
registerUpdate(server);
|
|
117
146
|
registerWait(server);
|
|
147
|
+
registerBuildxBuild(server);
|
|
148
|
+
registerBuildxLs(server);
|
|
149
|
+
registerBuildxCreate(server);
|
|
150
|
+
registerBuildxRm(server);
|
|
151
|
+
registerBuildxInspect(server);
|
|
152
|
+
registerBuildxUse(server);
|
|
153
|
+
registerBuildxImagetools(server);
|
|
154
|
+
registerBuilderPrune(server);
|
|
155
|
+
registerManifestCreate(server);
|
|
156
|
+
registerManifestInspect(server);
|
|
157
|
+
registerManifestAnnotate(server);
|
|
158
|
+
registerManifestPush(server);
|
|
159
|
+
registerManifestRm(server);
|
|
160
|
+
registerComposeConfig(server);
|
|
161
|
+
registerComposeCp(server);
|
|
162
|
+
registerComposeCreate(server);
|
|
163
|
+
registerComposeEvents(server);
|
|
164
|
+
registerComposeImages(server);
|
|
165
|
+
registerComposeKill(server);
|
|
166
|
+
registerComposeLs(server);
|
|
167
|
+
registerComposePause(server);
|
|
168
|
+
registerComposeUnpause(server);
|
|
169
|
+
registerComposePort(server);
|
|
170
|
+
registerComposeRm(server);
|
|
171
|
+
registerComposeRun(server);
|
|
172
|
+
registerComposeScale(server);
|
|
173
|
+
registerComposeStart(server);
|
|
174
|
+
registerComposeStop(server);
|
|
175
|
+
registerComposeTop(server);
|
|
118
176
|
async function main() {
|
|
119
177
|
const transport = new StdioServerTransport();
|
|
120
178
|
await server.connect(transport);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builderPrune.d.ts","sourceRoot":"","sources":["../../src/tools/builderPrune.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmBzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAiChD"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { execDocker, errorResponse } from "../utils/docker-api.js";
|
|
3
|
+
const inputSchema = {
|
|
4
|
+
all: z
|
|
5
|
+
.boolean()
|
|
6
|
+
.optional()
|
|
7
|
+
.default(false)
|
|
8
|
+
.describe("Remove all unused build cache, not just dangling"),
|
|
9
|
+
filter: z
|
|
10
|
+
.string()
|
|
11
|
+
.optional()
|
|
12
|
+
.describe("Filter cache to prune (e.g. 'until=24h')"),
|
|
13
|
+
keepStorage: z
|
|
14
|
+
.string()
|
|
15
|
+
.optional()
|
|
16
|
+
.describe("Amount of disk space to keep for cache (e.g. '10GB')"),
|
|
17
|
+
};
|
|
18
|
+
export function register(server) {
|
|
19
|
+
server.tool("docker_builderPrune", "Remove Docker buildx build cache (always non-interactive)", inputSchema, async (args) => {
|
|
20
|
+
try {
|
|
21
|
+
const cmdArgs = ["buildx", "prune", "-f"];
|
|
22
|
+
if (args.all) {
|
|
23
|
+
cmdArgs.push("--all");
|
|
24
|
+
}
|
|
25
|
+
if (args.filter) {
|
|
26
|
+
cmdArgs.push("--filter", args.filter);
|
|
27
|
+
}
|
|
28
|
+
if (args.keepStorage) {
|
|
29
|
+
cmdArgs.push("--keep-storage", args.keepStorage);
|
|
30
|
+
}
|
|
31
|
+
const output = await execDocker(cmdArgs, { timeout: 120_000 });
|
|
32
|
+
return {
|
|
33
|
+
content: [
|
|
34
|
+
{ type: "text", text: output.trim() || "No build cache to prune" },
|
|
35
|
+
],
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
return errorResponse(error);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=builderPrune.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builderPrune.js","sourceRoot":"","sources":["../../src/tools/builderPrune.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,GAAG,EAAE,CAAC;SACH,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0CAA0C,CAAC;IACvD,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,sDAAsD,CAAC;CACpE,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB,2DAA2D,EAC3D,WAAW,EACX,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YAE1C,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACxC,CAAC;YAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACnD,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAE/D,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,yBAAyB,EAAE;iBAC5E;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildxBuild.d.ts","sourceRoot":"","sources":["../../src/tools/buildxBuild.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAsEzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAyFhD"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { execDocker, errorResponse } from "../utils/docker-api.js";
|
|
3
|
+
const inputSchema = {
|
|
4
|
+
context: z
|
|
5
|
+
.string()
|
|
6
|
+
.min(1)
|
|
7
|
+
.describe("Build context path (e.g. '.', './app', absolute path)"),
|
|
8
|
+
tag: z
|
|
9
|
+
.array(z.string())
|
|
10
|
+
.optional()
|
|
11
|
+
.describe("Name and optionally tag the image (e.g. ['myapp:latest'])"),
|
|
12
|
+
file: z
|
|
13
|
+
.string()
|
|
14
|
+
.optional()
|
|
15
|
+
.describe("Path to Dockerfile (default: 'context/Dockerfile')"),
|
|
16
|
+
platform: z
|
|
17
|
+
.array(z.string())
|
|
18
|
+
.optional()
|
|
19
|
+
.describe("Target platforms (e.g. ['linux/amd64', 'linux/arm64'])"),
|
|
20
|
+
builder: z
|
|
21
|
+
.string()
|
|
22
|
+
.optional()
|
|
23
|
+
.describe("Builder instance to use"),
|
|
24
|
+
buildArgs: z
|
|
25
|
+
.array(z.string())
|
|
26
|
+
.optional()
|
|
27
|
+
.describe("Build-time variables as 'KEY=VALUE'"),
|
|
28
|
+
target: z
|
|
29
|
+
.string()
|
|
30
|
+
.optional()
|
|
31
|
+
.describe("Target build stage for multi-stage builds"),
|
|
32
|
+
noCache: z
|
|
33
|
+
.boolean()
|
|
34
|
+
.optional()
|
|
35
|
+
.default(false)
|
|
36
|
+
.describe("Do not use cache when building"),
|
|
37
|
+
pull: z
|
|
38
|
+
.boolean()
|
|
39
|
+
.optional()
|
|
40
|
+
.default(false)
|
|
41
|
+
.describe("Always pull newer base images"),
|
|
42
|
+
push: z
|
|
43
|
+
.boolean()
|
|
44
|
+
.optional()
|
|
45
|
+
.default(false)
|
|
46
|
+
.describe("Push the image after building"),
|
|
47
|
+
load: z
|
|
48
|
+
.boolean()
|
|
49
|
+
.optional()
|
|
50
|
+
.default(false)
|
|
51
|
+
.describe("Load the single-platform result into docker images"),
|
|
52
|
+
cacheFrom: z
|
|
53
|
+
.array(z.string())
|
|
54
|
+
.optional()
|
|
55
|
+
.describe("External cache sources (e.g. ['type=registry,ref=myapp:cache'])"),
|
|
56
|
+
cacheTo: z
|
|
57
|
+
.array(z.string())
|
|
58
|
+
.optional()
|
|
59
|
+
.describe("Cache export destinations (e.g. ['type=registry,ref=myapp:cache'])"),
|
|
60
|
+
provenance: z
|
|
61
|
+
.boolean()
|
|
62
|
+
.optional()
|
|
63
|
+
.describe("Generate provenance attestation"),
|
|
64
|
+
labels: z
|
|
65
|
+
.array(z.string())
|
|
66
|
+
.optional()
|
|
67
|
+
.describe("Image labels as 'key=value'"),
|
|
68
|
+
};
|
|
69
|
+
export function register(server) {
|
|
70
|
+
server.tool("docker_buildxBuild", "Build Docker images with buildx for multi-platform support, cache export, and provenance", inputSchema, async (args) => {
|
|
71
|
+
try {
|
|
72
|
+
const cmdArgs = ["buildx", "build"];
|
|
73
|
+
if (args.builder) {
|
|
74
|
+
cmdArgs.push("--builder", args.builder);
|
|
75
|
+
}
|
|
76
|
+
if (args.tag) {
|
|
77
|
+
for (const t of args.tag) {
|
|
78
|
+
cmdArgs.push("-t", t);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
if (args.file) {
|
|
82
|
+
cmdArgs.push("-f", args.file);
|
|
83
|
+
}
|
|
84
|
+
if (args.platform) {
|
|
85
|
+
cmdArgs.push("--platform", args.platform.join(","));
|
|
86
|
+
}
|
|
87
|
+
if (args.buildArgs) {
|
|
88
|
+
for (const ba of args.buildArgs) {
|
|
89
|
+
cmdArgs.push("--build-arg", ba);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
if (args.target) {
|
|
93
|
+
cmdArgs.push("--target", args.target);
|
|
94
|
+
}
|
|
95
|
+
if (args.noCache) {
|
|
96
|
+
cmdArgs.push("--no-cache");
|
|
97
|
+
}
|
|
98
|
+
if (args.pull) {
|
|
99
|
+
cmdArgs.push("--pull");
|
|
100
|
+
}
|
|
101
|
+
if (args.push) {
|
|
102
|
+
cmdArgs.push("--push");
|
|
103
|
+
}
|
|
104
|
+
if (args.load) {
|
|
105
|
+
cmdArgs.push("--load");
|
|
106
|
+
}
|
|
107
|
+
if (args.cacheFrom) {
|
|
108
|
+
for (const cf of args.cacheFrom) {
|
|
109
|
+
cmdArgs.push("--cache-from", cf);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
if (args.cacheTo) {
|
|
113
|
+
for (const ct of args.cacheTo) {
|
|
114
|
+
cmdArgs.push("--cache-to", ct);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
if (args.provenance !== undefined) {
|
|
118
|
+
cmdArgs.push(`--provenance=${args.provenance}`);
|
|
119
|
+
}
|
|
120
|
+
if (args.labels) {
|
|
121
|
+
for (const l of args.labels) {
|
|
122
|
+
cmdArgs.push("--label", l);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
cmdArgs.push(args.context);
|
|
126
|
+
const output = await execDocker(cmdArgs, { timeout: 600_000 });
|
|
127
|
+
return {
|
|
128
|
+
content: [
|
|
129
|
+
{ type: "text", text: output.trim() || "Build completed successfully" },
|
|
130
|
+
],
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
catch (error) {
|
|
134
|
+
return errorResponse(error);
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=buildxBuild.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildxBuild.js","sourceRoot":"","sources":["../../src/tools/buildxBuild.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildxCreate.d.ts","sourceRoot":"","sources":["../../src/tools/buildxCreate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA+BzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA+ChD"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { execDocker, errorResponse } from "../utils/docker-api.js";
|
|
3
|
+
const inputSchema = {
|
|
4
|
+
name: z
|
|
5
|
+
.string()
|
|
6
|
+
.optional()
|
|
7
|
+
.describe("Builder instance name"),
|
|
8
|
+
driver: z
|
|
9
|
+
.string()
|
|
10
|
+
.optional()
|
|
11
|
+
.describe("Builder driver (docker-container, kubernetes, remote)"),
|
|
12
|
+
use: z
|
|
13
|
+
.boolean()
|
|
14
|
+
.optional()
|
|
15
|
+
.default(false)
|
|
16
|
+
.describe("Set the builder as current after creation"),
|
|
17
|
+
platform: z
|
|
18
|
+
.array(z.string())
|
|
19
|
+
.optional()
|
|
20
|
+
.describe("Fixed platforms for the builder (e.g. ['linux/amd64', 'linux/arm64'])"),
|
|
21
|
+
buildkitdFlags: z
|
|
22
|
+
.string()
|
|
23
|
+
.optional()
|
|
24
|
+
.describe("Flags for buildkitd daemon"),
|
|
25
|
+
driverOpts: z
|
|
26
|
+
.array(z.string())
|
|
27
|
+
.optional()
|
|
28
|
+
.describe("Driver-specific options as 'key=value'"),
|
|
29
|
+
};
|
|
30
|
+
export function register(server) {
|
|
31
|
+
server.tool("docker_buildxCreate", "Create a new Docker buildx builder instance", inputSchema, async (args) => {
|
|
32
|
+
try {
|
|
33
|
+
const cmdArgs = ["buildx", "create"];
|
|
34
|
+
if (args.name) {
|
|
35
|
+
cmdArgs.push("--name", args.name);
|
|
36
|
+
}
|
|
37
|
+
if (args.driver) {
|
|
38
|
+
cmdArgs.push("--driver", args.driver);
|
|
39
|
+
}
|
|
40
|
+
if (args.use) {
|
|
41
|
+
cmdArgs.push("--use");
|
|
42
|
+
}
|
|
43
|
+
if (args.platform) {
|
|
44
|
+
cmdArgs.push("--platform", args.platform.join(","));
|
|
45
|
+
}
|
|
46
|
+
if (args.buildkitdFlags) {
|
|
47
|
+
cmdArgs.push("--buildkitd-flags", args.buildkitdFlags);
|
|
48
|
+
}
|
|
49
|
+
if (args.driverOpts) {
|
|
50
|
+
for (const opt of args.driverOpts) {
|
|
51
|
+
cmdArgs.push("--driver-opt", opt);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
const output = await execDocker(cmdArgs);
|
|
55
|
+
return {
|
|
56
|
+
content: [
|
|
57
|
+
{ type: "text", text: output.trim() || "Builder created" },
|
|
58
|
+
],
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
return errorResponse(error);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=buildxCreate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildxCreate.js","sourceRoot":"","sources":["../../src/tools/buildxCreate.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;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,uBAAuB,CAAC;IACpC,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,uDAAuD,CAAC;IACpE,GAAG,EAAE,CAAC;SACH,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,2CAA2C,CAAC;IACxD,QAAQ,EAAE,CAAC;SACR,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,uEAAuE,CAAC;IACpF,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,4BAA4B,CAAC;IACzC,UAAU,EAAE,CAAC;SACV,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,wCAAwC,CAAC;CACtD,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB,6CAA6C,EAC7C,WAAW,EACX,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAErC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACxC,CAAC;YAED,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACtD,CAAC;YAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YACzD,CAAC;YAED,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBAClC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;YAEzC,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,iBAAiB,EAAE;iBACpE;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildxImagetools.d.ts","sourceRoot":"","sources":["../../src/tools/buildxImagetools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAsBzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAmChD"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { execDocker, errorResponse } from "../utils/docker-api.js";
|
|
3
|
+
const inputSchema = {
|
|
4
|
+
action: z
|
|
5
|
+
.enum(["inspect", "create"])
|
|
6
|
+
.describe("Action: 'inspect' to view manifest info, 'create' to combine images into a manifest list"),
|
|
7
|
+
sources: z
|
|
8
|
+
.array(z.string())
|
|
9
|
+
.min(1)
|
|
10
|
+
.describe("Image references to inspect or combine"),
|
|
11
|
+
tag: z
|
|
12
|
+
.array(z.string())
|
|
13
|
+
.optional()
|
|
14
|
+
.describe("Tags for the created manifest list (only for 'create' action)"),
|
|
15
|
+
dryRun: z
|
|
16
|
+
.boolean()
|
|
17
|
+
.optional()
|
|
18
|
+
.default(false)
|
|
19
|
+
.describe("Show what would be created without pushing (only for 'create' action)"),
|
|
20
|
+
};
|
|
21
|
+
export function register(server) {
|
|
22
|
+
server.tool("docker_buildxImagetools", "Inspect or create multi-platform manifest lists via buildx imagetools", inputSchema, async (args) => {
|
|
23
|
+
try {
|
|
24
|
+
const cmdArgs = ["buildx", "imagetools", args.action];
|
|
25
|
+
if (args.action === "create") {
|
|
26
|
+
if (args.tag) {
|
|
27
|
+
for (const t of args.tag) {
|
|
28
|
+
cmdArgs.push("-t", t);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
if (args.dryRun) {
|
|
32
|
+
cmdArgs.push("--dry-run");
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
cmdArgs.push(...args.sources);
|
|
36
|
+
const output = await execDocker(cmdArgs, { timeout: 120_000 });
|
|
37
|
+
return {
|
|
38
|
+
content: [
|
|
39
|
+
{ type: "text", text: output.trim() || "Imagetools operation completed" },
|
|
40
|
+
],
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
return errorResponse(error);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=buildxImagetools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildxImagetools.js","sourceRoot":"","sources":["../../src/tools/buildxImagetools.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;SACN,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;SAC3B,QAAQ,CAAC,0FAA0F,CAAC;IACvG,OAAO,EAAE,CAAC;SACP,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,wCAAwC,CAAC;IACrD,GAAG,EAAE,CAAC;SACH,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,+DAA+D,CAAC;IAC5E,MAAM,EAAE,CAAC;SACN,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,uEAAuE,CAAC;CACrF,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB,uEAAuE,EACvE,WAAW,EACX,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAEtD,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC7B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;oBACb,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;wBACzB,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBACxB,CAAC;gBACH,CAAC;gBAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChB,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;YAED,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;YAE9B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAE/D,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,gCAAgC,EAAE;iBACnF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildxInspect.d.ts","sourceRoot":"","sources":["../../src/tools/buildxInspect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAezE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA6BhD"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { execDocker, errorResponse } from "../utils/docker-api.js";
|
|
3
|
+
const inputSchema = {
|
|
4
|
+
name: z
|
|
5
|
+
.string()
|
|
6
|
+
.optional()
|
|
7
|
+
.describe("Builder instance name (defaults to current builder)"),
|
|
8
|
+
bootstrap: z
|
|
9
|
+
.boolean()
|
|
10
|
+
.optional()
|
|
11
|
+
.default(false)
|
|
12
|
+
.describe("Ensure the builder is running before inspecting"),
|
|
13
|
+
};
|
|
14
|
+
export function register(server) {
|
|
15
|
+
server.tool("docker_buildxInspect", "Inspect a Docker buildx builder instance", inputSchema, async (args) => {
|
|
16
|
+
try {
|
|
17
|
+
const cmdArgs = ["buildx", "inspect"];
|
|
18
|
+
if (args.bootstrap) {
|
|
19
|
+
cmdArgs.push("--bootstrap");
|
|
20
|
+
}
|
|
21
|
+
if (args.name) {
|
|
22
|
+
cmdArgs.push(args.name);
|
|
23
|
+
}
|
|
24
|
+
const output = await execDocker(cmdArgs, { timeout: 60_000 });
|
|
25
|
+
return {
|
|
26
|
+
content: [
|
|
27
|
+
{ type: "text", text: output.trim() },
|
|
28
|
+
],
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
return errorResponse(error);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=buildxInspect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildxInspect.js","sourceRoot":"","sources":["../../src/tools/buildxInspect.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;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,qDAAqD,CAAC;IAClE,SAAS,EAAE,CAAC;SACT,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,iDAAiD,CAAC;CAC/D,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,0CAA0C,EAC1C,WAAW,EACX,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAEtC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC9B,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAE9D,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE;iBAC/C;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildxLs.d.ts","sourceRoot":"","sources":["../../src/tools/buildxLs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAmBhD"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { execDocker, errorResponse } from "../utils/docker-api.js";
|
|
2
|
+
export function register(server) {
|
|
3
|
+
server.tool("docker_buildxLs", "List Docker buildx builder instances", {}, async () => {
|
|
4
|
+
try {
|
|
5
|
+
const output = await execDocker(["buildx", "ls"]);
|
|
6
|
+
return {
|
|
7
|
+
content: [
|
|
8
|
+
{ type: "text", text: output.trim() },
|
|
9
|
+
],
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
catch (error) {
|
|
13
|
+
return errorResponse(error);
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=buildxLs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildxLs.js","sourceRoot":"","sources":["../../src/tools/buildxLs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEnE,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,sCAAsC,EACtC,EAAE,EACF,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;YAElD,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE;iBAC/C;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildxRm.d.ts","sourceRoot":"","sources":["../../src/tools/buildxRm.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAoBzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA+BhD"}
|