@vibetools/dokploy-mcp 1.2.0 → 2.0.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 (126) hide show
  1. package/README.md +61 -168
  2. package/dist/api/client.d.ts +2 -1
  3. package/dist/api/client.js +3 -11
  4. package/dist/cli/index.js +1 -0
  5. package/dist/codemode/context/execute-context.d.ts +590 -0
  6. package/dist/codemode/context/execute-context.js +64 -0
  7. package/dist/codemode/context/search-context.d.ts +13851 -0
  8. package/dist/codemode/context/search-context.js +42 -0
  9. package/dist/codemode/gateway/api-gateway.d.ts +12 -0
  10. package/dist/codemode/gateway/api-gateway.js +160 -0
  11. package/dist/codemode/gateway/error-format.d.ts +13 -0
  12. package/dist/codemode/gateway/error-format.js +9 -0
  13. package/dist/codemode/gateway/request-normalizer.d.ts +3 -0
  14. package/dist/codemode/gateway/request-normalizer.js +21 -0
  15. package/dist/codemode/gateway/trace.d.ts +13 -0
  16. package/dist/codemode/gateway/trace.js +11 -0
  17. package/dist/codemode/sandbox/host.d.ts +11 -0
  18. package/dist/codemode/sandbox/host.js +28 -0
  19. package/dist/codemode/sandbox/limits.d.ts +2 -0
  20. package/dist/codemode/sandbox/limits.js +20 -0
  21. package/dist/codemode/sandbox/runner.d.ts +8 -0
  22. package/dist/codemode/sandbox/runner.js +113 -0
  23. package/dist/codemode/sandbox/runtime.d.ts +2 -0
  24. package/dist/codemode/sandbox/runtime.js +3 -0
  25. package/dist/codemode/sandbox/serialize.d.ts +1 -0
  26. package/dist/codemode/sandbox/serialize.js +45 -0
  27. package/dist/codemode/sandbox/subprocess-runner.d.ts +10 -0
  28. package/dist/codemode/sandbox/subprocess-runner.js +91 -0
  29. package/dist/codemode/sandbox/types.d.ts +12 -0
  30. package/dist/codemode/sandbox/types.js +1 -0
  31. package/dist/codemode/sandbox/worker-entry.d.ts +1 -0
  32. package/dist/codemode/sandbox/worker-entry.js +70 -0
  33. package/dist/codemode/server-codemode.d.ts +2 -0
  34. package/dist/codemode/server-codemode.js +17 -0
  35. package/dist/codemode/tools/execute.d.ts +583 -0
  36. package/dist/codemode/tools/execute.js +52 -0
  37. package/dist/codemode/tools/index.d.ts +2 -0
  38. package/dist/codemode/tools/index.js +3 -0
  39. package/dist/codemode/tools/search.d.ts +2 -0
  40. package/dist/codemode/tools/search.js +62 -0
  41. package/dist/generated/dokploy-catalog.d.ts +27 -0
  42. package/dist/generated/dokploy-catalog.js +16 -0
  43. package/dist/generated/dokploy-schemas.d.ts +17533 -0
  44. package/dist/generated/dokploy-schemas.js +20639 -0
  45. package/dist/generated/dokploy-sdk.d.ts +558 -0
  46. package/dist/generated/dokploy-sdk.js +561 -0
  47. package/dist/generated/openapi-index.json +10591 -0
  48. package/dist/{tools/_factory.js → mcp/tool-factory.js} +7 -5
  49. package/dist/server.d.ts +1 -1
  50. package/dist/server.js +2 -15
  51. package/package.json +22 -11
  52. package/dist/tools/_database.d.ts +0 -12
  53. package/dist/tools/_database.js +0 -115
  54. package/dist/tools/admin.d.ts +0 -2
  55. package/dist/tools/admin.js +0 -61
  56. package/dist/tools/application.d.ts +0 -2
  57. package/dist/tools/application.js +0 -601
  58. package/dist/tools/backup.d.ts +0 -2
  59. package/dist/tools/backup.js +0 -133
  60. package/dist/tools/certificates.d.ts +0 -2
  61. package/dist/tools/certificates.js +0 -54
  62. package/dist/tools/cluster.d.ts +0 -2
  63. package/dist/tools/cluster.js +0 -38
  64. package/dist/tools/compose.d.ts +0 -2
  65. package/dist/tools/compose.js +0 -451
  66. package/dist/tools/deployment.d.ts +0 -2
  67. package/dist/tools/deployment.js +0 -107
  68. package/dist/tools/destination.d.ts +0 -2
  69. package/dist/tools/destination.js +0 -78
  70. package/dist/tools/docker.d.ts +0 -2
  71. package/dist/tools/docker.js +0 -110
  72. package/dist/tools/domain.d.ts +0 -2
  73. package/dist/tools/domain.js +0 -147
  74. package/dist/tools/environment.d.ts +0 -2
  75. package/dist/tools/environment.js +0 -104
  76. package/dist/tools/git-provider.d.ts +0 -2
  77. package/dist/tools/git-provider.js +0 -22
  78. package/dist/tools/github.d.ts +0 -2
  79. package/dist/tools/github.js +0 -66
  80. package/dist/tools/gitlab.d.ts +0 -2
  81. package/dist/tools/gitlab.js +0 -98
  82. package/dist/tools/index.d.ts +0 -2
  83. package/dist/tools/index.js +0 -72
  84. package/dist/tools/mariadb.d.ts +0 -1
  85. package/dist/tools/mariadb.js +0 -14
  86. package/dist/tools/mongo.d.ts +0 -1
  87. package/dist/tools/mongo.js +0 -13
  88. package/dist/tools/mounts.d.ts +0 -2
  89. package/dist/tools/mounts.js +0 -109
  90. package/dist/tools/mysql.d.ts +0 -1
  91. package/dist/tools/mysql.js +0 -14
  92. package/dist/tools/notification.d.ts +0 -2
  93. package/dist/tools/notification.js +0 -559
  94. package/dist/tools/patch.d.ts +0 -2
  95. package/dist/tools/patch.js +0 -179
  96. package/dist/tools/port.d.ts +0 -2
  97. package/dist/tools/port.js +0 -54
  98. package/dist/tools/postgres.d.ts +0 -1
  99. package/dist/tools/postgres.js +0 -13
  100. package/dist/tools/preview-deployment.d.ts +0 -2
  101. package/dist/tools/preview-deployment.js +0 -50
  102. package/dist/tools/project.d.ts +0 -2
  103. package/dist/tools/project.js +0 -125
  104. package/dist/tools/redirects.d.ts +0 -2
  105. package/dist/tools/redirects.js +0 -53
  106. package/dist/tools/redis.d.ts +0 -1
  107. package/dist/tools/redis.js +0 -11
  108. package/dist/tools/registry.d.ts +0 -2
  109. package/dist/tools/registry.js +0 -81
  110. package/dist/tools/rollback.d.ts +0 -2
  111. package/dist/tools/rollback.js +0 -28
  112. package/dist/tools/schedule.d.ts +0 -2
  113. package/dist/tools/schedule.js +0 -92
  114. package/dist/tools/security.d.ts +0 -2
  115. package/dist/tools/security.js +0 -48
  116. package/dist/tools/server.d.ts +0 -2
  117. package/dist/tools/server.js +0 -192
  118. package/dist/tools/settings.d.ts +0 -2
  119. package/dist/tools/settings.js +0 -509
  120. package/dist/tools/ssh-key.d.ts +0 -2
  121. package/dist/tools/ssh-key.js +0 -74
  122. package/dist/tools/user.d.ts +0 -2
  123. package/dist/tools/user.js +0 -85
  124. package/dist/tools/volume-backups.d.ts +0 -2
  125. package/dist/tools/volume-backups.js +0 -96
  126. /package/dist/{tools/_factory.d.ts → mcp/tool-factory.d.ts} +0 -0
@@ -1,509 +0,0 @@
1
- import { z } from 'zod';
2
- import { getTool, postTool } from './_factory.js';
3
- // ── tools ────────────────────────────────────────────────────────────
4
- const optionalServerId = z.string().optional().describe('Optional server ID');
5
- const protocolSchema = z.enum(['tcp', 'udp', 'sctp']).describe('Port protocol');
6
- const reloadServer = postTool({
7
- name: 'dokploy_settings_reload_server',
8
- title: 'Reload Server',
9
- description: 'Reload the Dokploy server process to apply configuration changes. No parameters required. Returns the reload status. Use after making changes to server settings that require a restart.',
10
- schema: z.object({}).strict(),
11
- endpoint: '/settings.reloadServer',
12
- });
13
- const reloadTraefik = postTool({
14
- name: 'dokploy_settings_reload_traefik',
15
- title: 'Reload Traefik',
16
- description: 'Reload the Traefik reverse proxy to apply routing and configuration changes. No parameters required. Returns the reload status. Use after updating Traefik configuration, domains, or SSL certificates.',
17
- schema: z.object({}).strict(),
18
- endpoint: '/settings.reloadTraefik',
19
- });
20
- const cleanUnusedImages = postTool({
21
- name: 'dokploy_settings_clean_unused_images',
22
- title: 'Clean Unused Images',
23
- description: 'Remove unused Docker images to free disk space on the server. No parameters required. Returns the amount of space reclaimed and the list of removed images. Only removes images not referenced by any container.',
24
- schema: z.object({}).strict(),
25
- endpoint: '/settings.cleanUnusedImages',
26
- annotations: { destructiveHint: true },
27
- });
28
- const cleanUnusedVolumes = postTool({
29
- name: 'dokploy_settings_clean_unused_volumes',
30
- title: 'Clean Unused Volumes',
31
- description: 'Remove unused Docker volumes to free disk space. This action is irreversible and may delete persistent data stored in volumes not attached to any container. No parameters required. Returns the amount of space reclaimed and the list of removed volumes.',
32
- schema: z.object({}).strict(),
33
- endpoint: '/settings.cleanUnusedVolumes',
34
- annotations: { destructiveHint: true },
35
- });
36
- const cleanStoppedContainers = postTool({
37
- name: 'dokploy_settings_clean_stopped_containers',
38
- title: 'Clean Stopped Containers',
39
- description: 'Remove all stopped Docker containers from the server. This action is irreversible and removes containers in exited or dead state. No parameters required. Returns the list of removed containers and space reclaimed.',
40
- schema: z.object({}).strict(),
41
- endpoint: '/settings.cleanStoppedContainers',
42
- annotations: { destructiveHint: true },
43
- });
44
- const cleanDockerBuilder = postTool({
45
- name: 'dokploy_settings_clean_docker_builder',
46
- title: 'Clean Docker Builder',
47
- description: 'Clean the Docker builder cache to free disk space used by intermediate build layers. No parameters required. Returns the amount of space reclaimed. Safe to run without affecting running containers or images.',
48
- schema: z.object({}).strict(),
49
- endpoint: '/settings.cleanDockerBuilder',
50
- annotations: { destructiveHint: true },
51
- });
52
- const cleanDockerPrune = postTool({
53
- name: 'dokploy_settings_clean_docker_prune',
54
- title: 'Docker System Prune',
55
- description: 'Run a full Docker system prune to remove all unused resources including stopped containers, dangling images, unused networks, and build cache. This action is irreversible. No parameters required. Returns the total space reclaimed.',
56
- schema: z.object({}).strict(),
57
- endpoint: '/settings.cleanDockerPrune',
58
- annotations: { destructiveHint: true },
59
- });
60
- const cleanAll = postTool({
61
- name: 'dokploy_settings_clean_all',
62
- title: 'Clean All Docker Resources',
63
- description: 'Clean all unused Docker resources at once: images, volumes, stopped containers, and builder cache. This action is irreversible and is the most aggressive cleanup option. No parameters required. Returns a summary of all removed resources and total space reclaimed.',
64
- schema: z.object({}).strict(),
65
- endpoint: '/settings.cleanAll',
66
- annotations: { destructiveHint: true },
67
- });
68
- const cleanMonitoring = postTool({
69
- name: 'dokploy_settings_clean_monitoring',
70
- title: 'Clean Monitoring Data',
71
- description: 'Clear all stored monitoring data including metrics and historical performance information. This action is irreversible and resets monitoring history to a clean state. No parameters required. Returns a confirmation of the cleanup.',
72
- schema: z.object({}).strict(),
73
- endpoint: '/settings.cleanMonitoring',
74
- annotations: { destructiveHint: true },
75
- });
76
- const saveSSHPrivateKey = postTool({
77
- name: 'dokploy_settings_save_ssh_private_key',
78
- title: 'Save SSH Private Key',
79
- description: 'Save an SSH private key for server access and remote operations. Accepts the sshPrivateKey parameter containing the key content, or null to clear the stored key. Returns a confirmation that the key was saved successfully.',
80
- schema: z
81
- .object({
82
- sshPrivateKey: z
83
- .string()
84
- .nullable()
85
- .describe('The SSH private key content, or null to clear'),
86
- })
87
- .strict(),
88
- endpoint: '/settings.saveSSHPrivateKey',
89
- });
90
- const cleanSSHPrivateKey = postTool({
91
- name: 'dokploy_settings_clean_ssh_private_key',
92
- title: 'Clean SSH Private Key',
93
- description: 'Remove the stored SSH private key from the server. This action is irreversible and will prevent SSH-based remote operations until a new key is saved. No parameters required. Returns a confirmation of the removal.',
94
- schema: z.object({}).strict(),
95
- endpoint: '/settings.cleanSSHPrivateKey',
96
- annotations: { destructiveHint: true },
97
- });
98
- const assignDomainServer = postTool({
99
- name: 'dokploy_settings_assign_domain_server',
100
- title: 'Assign Domain to Server',
101
- description: "Assign a domain to the Dokploy server with optional SSL certificate configuration. Accepts an optional letsEncryptEmail for Let's Encrypt certificate registration and an optional certificateType ('letsencrypt' or 'none'). Returns the updated domain assignment configuration.",
102
- schema: z
103
- .object({
104
- letsEncryptEmail: z
105
- .string()
106
- .optional()
107
- .describe("Email for Let's Encrypt certificate registration"),
108
- certificateType: z
109
- .enum(['letsencrypt', 'none'])
110
- .optional()
111
- .describe('Type of SSL certificate: letsencrypt or none'),
112
- })
113
- .strict(),
114
- endpoint: '/settings.assignDomainServer',
115
- });
116
- const updateDockerCleanup = postTool({
117
- name: 'dokploy_settings_update_docker_cleanup',
118
- title: 'Update Docker Cleanup Schedule',
119
- description: 'Configure automatic Docker cleanup scheduling to periodically remove unused resources. Requires the enabled boolean parameter and accepts an optional cron schedule expression. Returns the updated cleanup configuration.',
120
- schema: z
121
- .object({
122
- enabled: z.boolean().describe('Whether automatic cleanup is enabled'),
123
- schedule: z.string().optional().describe('Cron schedule expression for the cleanup job'),
124
- })
125
- .strict(),
126
- endpoint: '/settings.updateDockerCleanup',
127
- });
128
- const readTraefikConfig = getTool({
129
- name: 'dokploy_settings_read_traefik_config',
130
- title: 'Read Traefik Config',
131
- description: 'Read the current main Traefik configuration file content. No parameters required. Returns the raw Traefik configuration as a string, which defines the core routing, entrypoints, and provider settings.',
132
- schema: z.object({}).strict(),
133
- endpoint: '/settings.readTraefikConfig',
134
- });
135
- const updateTraefikConfig = postTool({
136
- name: 'dokploy_settings_update_traefik_config',
137
- title: 'Update Traefik Config',
138
- description: 'Update the main Traefik configuration file with new content. Requires the traefikConfig parameter containing the full configuration. Returns a confirmation of the update. A Traefik reload may be needed to apply changes.',
139
- schema: z
140
- .object({
141
- traefikConfig: z.string().min(1).describe('The new Traefik configuration content'),
142
- })
143
- .strict(),
144
- endpoint: '/settings.updateTraefikConfig',
145
- });
146
- const readWebServerTraefikConfig = getTool({
147
- name: 'dokploy_settings_read_web_server_traefik_config',
148
- title: 'Read Web Server Traefik Config',
149
- description: 'Read the Traefik configuration specific to the Dokploy web server. No parameters required. Returns the raw web server Traefik configuration as a string, which controls how the Dokploy dashboard and API are exposed.',
150
- schema: z.object({}).strict(),
151
- endpoint: '/settings.readWebServerTraefikConfig',
152
- });
153
- const updateWebServerTraefikConfig = postTool({
154
- name: 'dokploy_settings_update_web_server_traefik_config',
155
- title: 'Update Web Server Traefik Config',
156
- description: 'Update the Traefik configuration for the Dokploy web server. Requires the traefikConfig parameter containing the full web server configuration. Returns a confirmation of the update. A Traefik reload may be needed to apply changes.',
157
- schema: z
158
- .object({
159
- traefikConfig: z.string().min(1).describe('The new web server Traefik configuration content'),
160
- })
161
- .strict(),
162
- endpoint: '/settings.updateWebServerTraefikConfig',
163
- });
164
- const readMiddlewareTraefikConfig = getTool({
165
- name: 'dokploy_settings_read_middleware_traefik_config',
166
- title: 'Read Middleware Traefik Config',
167
- description: 'Read the Traefik middleware configuration that defines request processing rules such as rate limiting, authentication, and header manipulation. No parameters required. Returns the raw middleware configuration as a string.',
168
- schema: z.object({}).strict(),
169
- endpoint: '/settings.readMiddlewareTraefikConfig',
170
- });
171
- const updateMiddlewareTraefikConfig = postTool({
172
- name: 'dokploy_settings_update_middleware_traefik_config',
173
- title: 'Update Middleware Traefik Config',
174
- description: 'Update the Traefik middleware configuration that controls request processing rules. Requires the traefikConfig parameter containing the full middleware configuration. Returns a confirmation of the update. A Traefik reload may be needed to apply changes.',
175
- schema: z
176
- .object({
177
- traefikConfig: z.string().min(1).describe('The new middleware Traefik configuration content'),
178
- })
179
- .strict(),
180
- endpoint: '/settings.updateMiddlewareTraefikConfig',
181
- });
182
- const updateServer = postTool({
183
- name: 'dokploy_settings_update_server',
184
- title: 'Update Server',
185
- description: 'Update the Dokploy server to the latest available version. No parameters required. Returns the update status and new version information. This will restart the server process and may cause brief downtime.',
186
- schema: z.object({}).strict(),
187
- endpoint: '/settings.updateServer',
188
- });
189
- const getDokployVersion = getTool({
190
- name: 'dokploy_settings_get_version',
191
- title: 'Get Dokploy Version',
192
- description: 'Get the currently running Dokploy server version. No parameters required. Returns the version string of the installed Dokploy instance. Useful for checking if updates are available.',
193
- schema: z.object({}).strict(),
194
- endpoint: '/settings.getDokployVersion',
195
- });
196
- const readDirectories = getTool({
197
- name: 'dokploy_settings_read_directories',
198
- title: 'Read Server Directories',
199
- description: 'Read the server directory listing to inspect the file system structure used by Dokploy. No parameters required. Returns a list of directories and their contents on the server where Dokploy stores its data and configurations.',
200
- schema: z.object({}).strict(),
201
- endpoint: '/settings.readDirectories',
202
- });
203
- const getOpenApiDocument = getTool({
204
- name: 'dokploy_settings_get_openapi_document',
205
- title: 'Get OpenAPI Document',
206
- description: 'Get the Dokploy OpenAPI specification document describing all available API endpoints. No parameters required. Returns the full OpenAPI JSON document including paths, schemas, and authentication requirements.',
207
- schema: z.object({}).strict(),
208
- endpoint: '/settings.getOpenApiDocument',
209
- });
210
- const readTraefikFile = getTool({
211
- name: 'dokploy_settings_read_traefik_file',
212
- title: 'Read Traefik File',
213
- description: 'Read a specific Traefik configuration file from the server file system. Accepts a path parameter to specify which Traefik file to read. Returns the raw file content as a string. Useful for inspecting individual Traefik configuration files beyond the main config.',
214
- schema: z
215
- .object({
216
- path: z.string().min(1).describe('Path to the Traefik configuration file to read'),
217
- })
218
- .strict(),
219
- endpoint: '/settings.readTraefikFile',
220
- });
221
- const updateTraefikFile = postTool({
222
- name: 'dokploy_settings_update_traefik_file',
223
- title: 'Update Traefik File',
224
- description: 'Update a specific Traefik configuration file on the server. Requires the file path and new content. Returns a confirmation. A Traefik reload may be needed to apply changes.',
225
- schema: z
226
- .object({
227
- path: z.string().min(1).describe('Path to the Traefik configuration file to update'),
228
- traefikConfig: z.string().min(1).describe('The new file content'),
229
- })
230
- .strict(),
231
- endpoint: '/settings.updateTraefikFile',
232
- });
233
- const readTraefikEnv = getTool({
234
- name: 'dokploy_settings_read_traefik_env',
235
- title: 'Read Traefik Environment',
236
- description: 'Read the Traefik environment configuration from Dokploy. Optionally scope the request to a specific server.',
237
- schema: z
238
- .object({
239
- serverId: optionalServerId,
240
- })
241
- .strict(),
242
- endpoint: '/settings.readTraefikEnv',
243
- });
244
- const writeTraefikEnv = postTool({
245
- name: 'dokploy_settings_write_traefik_env',
246
- title: 'Write Traefik Environment',
247
- description: 'Write the Traefik environment configuration in Dokploy. Requires the environment content and optionally accepts a server ID.',
248
- schema: z
249
- .object({
250
- env: z.string().describe('Traefik environment content'),
251
- serverId: optionalServerId,
252
- })
253
- .strict(),
254
- endpoint: '/settings.writeTraefikEnv',
255
- });
256
- const updateTraefikPorts = postTool({
257
- name: 'dokploy_settings_update_traefik_ports',
258
- title: 'Update Traefik Ports',
259
- description: 'Update additional Traefik ports in Dokploy. Requires the list of additional ports and optionally accepts a server ID.',
260
- schema: z
261
- .object({
262
- serverId: optionalServerId,
263
- additionalPorts: z
264
- .array(z
265
- .object({
266
- targetPort: z.number().describe('Target port'),
267
- publishedPort: z.number().describe('Published port'),
268
- protocol: protocolSchema,
269
- })
270
- .strict())
271
- .describe('Additional Traefik ports'),
272
- })
273
- .strict(),
274
- endpoint: '/settings.updateTraefikPorts',
275
- });
276
- const getTraefikPorts = getTool({
277
- name: 'dokploy_settings_get_traefik_ports',
278
- title: 'Get Traefik Ports',
279
- description: 'Get Traefik ports configured in Dokploy. Optionally scope the request to a specific server.',
280
- schema: z
281
- .object({
282
- serverId: optionalServerId,
283
- })
284
- .strict(),
285
- endpoint: '/settings.getTraefikPorts',
286
- });
287
- const haveTraefikDashboardPortEnabled = getTool({
288
- name: 'dokploy_settings_have_traefik_dashboard_port_enabled',
289
- title: 'Check Traefik Dashboard Port',
290
- description: 'Check whether the Traefik dashboard port is enabled in Dokploy. Optionally scope the request to a specific server.',
291
- schema: z
292
- .object({
293
- serverId: optionalServerId,
294
- })
295
- .strict(),
296
- endpoint: '/settings.haveTraefikDashboardPortEnabled',
297
- });
298
- const toggleDashboard = postTool({
299
- name: 'dokploy_settings_toggle_dashboard',
300
- title: 'Toggle Traefik Dashboard',
301
- description: 'Enable or disable the Traefik dashboard in Dokploy. Optionally scope the request to a specific server.',
302
- schema: z
303
- .object({
304
- enableDashboard: z.boolean().optional().describe('Whether to enable the dashboard'),
305
- serverId: optionalServerId,
306
- })
307
- .strict(),
308
- endpoint: '/settings.toggleDashboard',
309
- });
310
- const health = getTool({
311
- name: 'dokploy_settings_health',
312
- title: 'Get Dokploy Health',
313
- description: 'Get the current health status of the Dokploy installation.',
314
- schema: z.object({}).strict(),
315
- endpoint: '/settings.health',
316
- });
317
- const getIp = getTool({
318
- name: 'dokploy_settings_get_ip',
319
- title: 'Get Server IP',
320
- description: 'Get the server IP address known to Dokploy.',
321
- schema: z.object({}).strict(),
322
- endpoint: '/settings.getIp',
323
- });
324
- const updateServerIp = postTool({
325
- name: 'dokploy_settings_update_server_ip',
326
- title: 'Update Server IP',
327
- description: 'Update the server IP address used by Dokploy.',
328
- schema: z
329
- .object({
330
- serverIp: z.string().describe('Server IP address'),
331
- })
332
- .strict(),
333
- endpoint: '/settings.updateServerIp',
334
- });
335
- const getWebServerSettings = getTool({
336
- name: 'dokploy_settings_get_web_server_settings',
337
- title: 'Get Web Server Settings',
338
- description: 'Get web server settings configured in Dokploy.',
339
- schema: z.object({}).strict(),
340
- endpoint: '/settings.getWebServerSettings',
341
- });
342
- const getUpdateData = postTool({
343
- name: 'dokploy_settings_get_update_data',
344
- title: 'Get Update Data',
345
- description: 'Get update metadata for the current Dokploy installation.',
346
- schema: z.object({}).strict(),
347
- endpoint: '/settings.getUpdateData',
348
- });
349
- const getReleaseTag = getTool({
350
- name: 'dokploy_settings_get_release_tag',
351
- title: 'Get Release Tag',
352
- description: 'Get the latest Dokploy release tag visible to the current installation.',
353
- schema: z.object({}).strict(),
354
- endpoint: '/settings.getReleaseTag',
355
- });
356
- const cleanRedis = postTool({
357
- name: 'dokploy_settings_clean_redis',
358
- title: 'Clean Redis',
359
- description: 'Clean Dokploy Redis data. This is a destructive maintenance action.',
360
- schema: z.object({}).strict(),
361
- endpoint: '/settings.cleanRedis',
362
- annotations: { destructiveHint: true },
363
- });
364
- const reloadRedis = postTool({
365
- name: 'dokploy_settings_reload_redis',
366
- title: 'Reload Redis',
367
- description: 'Reload Dokploy Redis.',
368
- schema: z.object({}).strict(),
369
- endpoint: '/settings.reloadRedis',
370
- });
371
- const cleanAllDeploymentQueue = postTool({
372
- name: 'dokploy_settings_clean_all_deployment_queue',
373
- title: 'Clean Deployment Queue',
374
- description: 'Clear the Dokploy deployment queue. This is a destructive maintenance action.',
375
- schema: z.object({}).strict(),
376
- endpoint: '/settings.cleanAllDeploymentQueue',
377
- annotations: { destructiveHint: true },
378
- });
379
- const updateLogCleanup = postTool({
380
- name: 'dokploy_settings_update_log_cleanup',
381
- title: 'Update Log Cleanup Schedule',
382
- description: 'Update the Dokploy log cleanup schedule.',
383
- schema: z
384
- .object({
385
- cronExpression: z.string().nullable().describe('Cron expression for log cleanup'),
386
- })
387
- .strict(),
388
- endpoint: '/settings.updateLogCleanup',
389
- });
390
- const getLogCleanupStatus = getTool({
391
- name: 'dokploy_settings_get_log_cleanup_status',
392
- title: 'Get Log Cleanup Status',
393
- description: 'Get the current Dokploy log cleanup configuration and status.',
394
- schema: z.object({}).strict(),
395
- endpoint: '/settings.getLogCleanupStatus',
396
- });
397
- const setupGpu = postTool({
398
- name: 'dokploy_settings_setup_gpu',
399
- title: 'Setup GPU',
400
- description: 'Run Dokploy GPU setup. Optionally scope the request to a specific server.',
401
- schema: z
402
- .object({
403
- serverId: optionalServerId,
404
- })
405
- .strict(),
406
- endpoint: '/settings.setupGPU',
407
- });
408
- const checkGpuStatus = getTool({
409
- name: 'dokploy_settings_check_gpu_status',
410
- title: 'Check GPU Status',
411
- description: 'Check Dokploy GPU status. Optionally scope the request to a specific server.',
412
- schema: z
413
- .object({
414
- serverId: optionalServerId,
415
- })
416
- .strict(),
417
- endpoint: '/settings.checkGPUStatus',
418
- });
419
- const isCloud = getTool({
420
- name: 'dokploy_settings_is_cloud',
421
- title: 'Check Cloud Mode',
422
- description: 'Check whether the current Dokploy installation runs in cloud mode.',
423
- schema: z.object({}).strict(),
424
- endpoint: '/settings.isCloud',
425
- });
426
- const isUserSubscribed = getTool({
427
- name: 'dokploy_settings_is_user_subscribed',
428
- title: 'Check Subscription Status',
429
- description: 'Check whether the current Dokploy user has an active subscription.',
430
- schema: z.object({}).strict(),
431
- endpoint: '/settings.isUserSubscribed',
432
- });
433
- const haveActivateRequests = getTool({
434
- name: 'dokploy_settings_have_activate_requests',
435
- title: 'Check Request Logging',
436
- description: 'Check whether request handling features are enabled in Dokploy.',
437
- schema: z.object({}).strict(),
438
- endpoint: '/settings.haveActivateRequests',
439
- });
440
- const toggleRequests = postTool({
441
- name: 'dokploy_settings_toggle_requests',
442
- title: 'Toggle Requests',
443
- description: 'Enable or disable request handling features in Dokploy.',
444
- schema: z
445
- .object({
446
- enable: z.boolean().describe('Whether to enable requests'),
447
- })
448
- .strict(),
449
- endpoint: '/settings.toggleRequests',
450
- });
451
- const getDokployCloudIps = getTool({
452
- name: 'dokploy_settings_get_dokploy_cloud_ips',
453
- title: 'Get Dokploy Cloud IPs',
454
- description: 'Get Dokploy Cloud IP ranges.',
455
- schema: z.object({}).strict(),
456
- endpoint: '/settings.getDokployCloudIps',
457
- });
458
- // ── export ───────────────────────────────────────────────────────────
459
- export const settingsTools = [
460
- reloadServer,
461
- reloadTraefik,
462
- cleanUnusedImages,
463
- cleanUnusedVolumes,
464
- cleanStoppedContainers,
465
- cleanDockerBuilder,
466
- cleanDockerPrune,
467
- cleanAll,
468
- cleanMonitoring,
469
- saveSSHPrivateKey,
470
- cleanSSHPrivateKey,
471
- assignDomainServer,
472
- updateDockerCleanup,
473
- readTraefikConfig,
474
- updateTraefikConfig,
475
- readWebServerTraefikConfig,
476
- updateWebServerTraefikConfig,
477
- readMiddlewareTraefikConfig,
478
- updateMiddlewareTraefikConfig,
479
- updateServer,
480
- getDokployVersion,
481
- readDirectories,
482
- getOpenApiDocument,
483
- readTraefikFile,
484
- updateTraefikFile,
485
- readTraefikEnv,
486
- writeTraefikEnv,
487
- updateTraefikPorts,
488
- getTraefikPorts,
489
- haveTraefikDashboardPortEnabled,
490
- toggleDashboard,
491
- health,
492
- getIp,
493
- updateServerIp,
494
- getWebServerSettings,
495
- getUpdateData,
496
- getReleaseTag,
497
- cleanRedis,
498
- reloadRedis,
499
- cleanAllDeploymentQueue,
500
- updateLogCleanup,
501
- getLogCleanupStatus,
502
- setupGpu,
503
- checkGpuStatus,
504
- isCloud,
505
- isUserSubscribed,
506
- haveActivateRequests,
507
- toggleRequests,
508
- getDokployCloudIps,
509
- ];
@@ -1,2 +0,0 @@
1
- import { type ToolDefinition } from './_factory.js';
2
- export declare const sshKeyTools: ToolDefinition[];
@@ -1,74 +0,0 @@
1
- import { z } from 'zod';
2
- import { getTool, postTool } from './_factory.js';
3
- const nullableString = z.string().nullable().optional();
4
- const all = getTool({
5
- name: 'dokploy_ssh_key_all',
6
- title: 'List SSH Keys',
7
- description: 'List all SSH keys available in Dokploy. Returns stored keys together with their metadata and organization context.',
8
- schema: z.object({}).strict(),
9
- endpoint: '/sshKey.all',
10
- });
11
- const create = postTool({
12
- name: 'dokploy_ssh_key_create',
13
- title: 'Create SSH Key',
14
- description: 'Create a new SSH key record in Dokploy. Requires the key pair and a name. Optionally set a description and organization ID.',
15
- schema: z
16
- .object({
17
- name: z.string().min(1).describe('SSH key name'),
18
- description: z.string().nullable().optional().describe('SSH key description'),
19
- privateKey: z.string().describe('Private key content'),
20
- publicKey: z.string().describe('Public key content'),
21
- organizationId: z.string().optional().describe('Organization ID'),
22
- })
23
- .strict(),
24
- endpoint: '/sshKey.create',
25
- });
26
- const generate = postTool({
27
- name: 'dokploy_ssh_key_generate',
28
- title: 'Generate SSH Key Pair',
29
- description: 'Generate a new SSH key pair in Dokploy. Optionally specify the key type; supported values are rsa and ed25519.',
30
- schema: z
31
- .object({
32
- type: z.enum(['rsa', 'ed25519']).optional().describe('SSH key type'),
33
- })
34
- .strict(),
35
- endpoint: '/sshKey.generate',
36
- });
37
- const one = getTool({
38
- name: 'dokploy_ssh_key_one',
39
- title: 'Get SSH Key',
40
- description: 'Retrieve detailed information about a Dokploy SSH key by its ID.',
41
- schema: z
42
- .object({
43
- sshKeyId: z.string().min(1).describe('SSH key ID'),
44
- })
45
- .strict(),
46
- endpoint: '/sshKey.one',
47
- });
48
- const remove = postTool({
49
- name: 'dokploy_ssh_key_remove',
50
- title: 'Remove SSH Key',
51
- description: 'Permanently remove an SSH key from Dokploy. Requires the SSH key ID. This is a destructive action.',
52
- schema: z
53
- .object({
54
- sshKeyId: z.string().min(1).describe('SSH key ID'),
55
- })
56
- .strict(),
57
- endpoint: '/sshKey.remove',
58
- annotations: { destructiveHint: true },
59
- });
60
- const update = postTool({
61
- name: 'dokploy_ssh_key_update',
62
- title: 'Update SSH Key',
63
- description: 'Update metadata for a Dokploy SSH key. Requires the SSH key ID and accepts optional name, description, and last-used timestamp changes.',
64
- schema: z
65
- .object({
66
- sshKeyId: z.string().min(1).describe('SSH key ID'),
67
- name: z.string().min(1).optional().describe('SSH key name'),
68
- description: nullableString.describe('SSH key description'),
69
- lastUsedAt: nullableString.describe('Last used timestamp'),
70
- })
71
- .strict(),
72
- endpoint: '/sshKey.update',
73
- });
74
- export const sshKeyTools = [all, create, generate, one, remove, update];
@@ -1,2 +0,0 @@
1
- import { type ToolDefinition } from './_factory.js';
2
- export declare const userTools: ToolDefinition[];
@@ -1,85 +0,0 @@
1
- import { z } from 'zod';
2
- import { getTool, postTool } from './_factory.js';
3
- // ── tools ────────────────────────────────────────────────────────────
4
- const all = getTool({
5
- name: 'dokploy_user_all',
6
- title: 'List All Users',
7
- description: 'List all users registered in the Dokploy instance. No parameters required. Returns an array of user objects including their IDs, emails, roles, and permission details.',
8
- schema: z.object({}).strict(),
9
- endpoint: '/user.all',
10
- });
11
- const session = getTool({
12
- name: 'dokploy_user_session',
13
- title: 'Get User Session',
14
- description: 'Get the current authenticated user session from Dokploy, including session and identity metadata.',
15
- schema: z.object({}).strict(),
16
- endpoint: '/user.session',
17
- });
18
- const get = getTool({
19
- name: 'dokploy_user_get',
20
- title: 'Get Current User',
21
- description: 'Get the current authenticated Dokploy user profile.',
22
- schema: z.object({}).strict(),
23
- endpoint: '/user.get',
24
- });
25
- const getPermissions = getTool({
26
- name: 'dokploy_user_get_permissions',
27
- title: 'Get Current User Permissions',
28
- description: 'Get the current authenticated Dokploy user permissions.',
29
- schema: z.object({}).strict(),
30
- endpoint: '/user.getPermissions',
31
- });
32
- const haveRootAccess = getTool({
33
- name: 'dokploy_user_have_root_access',
34
- title: 'Check Root Access',
35
- description: 'Check whether the current authenticated Dokploy user has root access.',
36
- schema: z.object({}).strict(),
37
- endpoint: '/user.haveRootAccess',
38
- });
39
- const createApiKey = postTool({
40
- name: 'dokploy_user_create_api_key',
41
- title: 'Create API Key',
42
- description: 'Create a new Dokploy API key. Requires a name and organization metadata. Optionally configure expiration and rate limiting.',
43
- schema: z
44
- .object({
45
- name: z.string().min(1).describe('API key name'),
46
- prefix: z.string().optional().describe('API key prefix'),
47
- expiresIn: z.number().optional().describe('Expiration interval'),
48
- metadata: z
49
- .object({
50
- organizationId: z.string().describe('Organization ID'),
51
- })
52
- .strict()
53
- .describe('API key metadata'),
54
- rateLimitEnabled: z.boolean().optional().describe('Whether rate limiting is enabled'),
55
- rateLimitTimeWindow: z.number().optional().describe('Rate limit time window'),
56
- rateLimitMax: z.number().optional().describe('Rate limit max requests'),
57
- remaining: z.number().optional().describe('Remaining requests'),
58
- refillAmount: z.number().optional().describe('Rate limit refill amount'),
59
- refillInterval: z.number().optional().describe('Rate limit refill interval'),
60
- })
61
- .strict(),
62
- endpoint: '/user.createApiKey',
63
- });
64
- const deleteApiKey = postTool({
65
- name: 'dokploy_user_delete_api_key',
66
- title: 'Delete API Key',
67
- description: 'Delete a Dokploy API key by its ID. This is a destructive action.',
68
- schema: z
69
- .object({
70
- apiKeyId: z.string().describe('API key ID'),
71
- })
72
- .strict(),
73
- endpoint: '/user.deleteApiKey',
74
- annotations: { destructiveHint: true },
75
- });
76
- // ── export ───────────────────────────────────────────────────────────
77
- export const userTools = [
78
- all,
79
- session,
80
- get,
81
- getPermissions,
82
- haveRootAccess,
83
- createApiKey,
84
- deleteApiKey,
85
- ];
@@ -1,2 +0,0 @@
1
- import { type ToolDefinition } from './_factory.js';
2
- export declare const volumeBackupsTools: ToolDefinition[];