dokploy-mcp-server 1.0.0 → 1.1.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 CHANGED
@@ -4,35 +4,32 @@ A comprehensive [Model Context Protocol (MCP)](https://modelcontextprotocol.io/)
4
4
 
5
5
  ## Why This Server?
6
6
 
7
- The [official Dokploy MCP](https://github.com/Dokploy/mcp) covers only ~5 of 42 API categories. This server provides **107 tools** across 12 categories, covering the full DevOps lifecycle.
7
+ The [official Dokploy MCP](https://github.com/Dokploy/mcp) covers only ~5 of 42 API categories. This server provides **12 tools** (one per category with action enums) covering the full DevOps lifecycle with minimal token usage.
8
8
 
9
9
  ### Feature Comparison
10
10
 
11
- | Category | Official MCP | This Server |
12
- | ------------------- | :----------------: | :--------------: |
13
- | Projects | 6 | 6 |
14
- | Applications | 26 | 20 |
15
- | Compose | - | 12 |
16
- | Deployments | - | 5 |
17
- | Docker | - | 7 |
18
- | Domains | 9 | 9 |
19
- | Servers | - | 8 |
20
- | Settings | - | 7 |
21
- | Databases (unified) | 26 (pg+mysql only) | 13 (all 5 types) |
22
- | Backups | - | 6 |
23
- | Environments | - | 6 |
24
- | Infrastructure | - | 8 |
25
- | **Total** | **67** | **~107** |
11
+ | Category | Official MCP | This Server |
12
+ | -------------- | ------------------- | ----------------------------- |
13
+ | Projects | 6 tools | 1 tool (6 actions) |
14
+ | Applications | 26 tools | 1 tool (18 actions) |
15
+ | Compose | - | 1 tool (11 actions) |
16
+ | Deployments | - | 1 tool (2 actions) |
17
+ | Docker | - | 1 tool (4 actions) |
18
+ | Domains | 9 tools | 1 tool (8 actions) |
19
+ | Servers | - | 1 tool (8 actions) |
20
+ | Settings | - | 1 tool (5 actions) |
21
+ | Databases | 26 tools (pg+mysql) | 1 tool (13 actions, all 5 DB) |
22
+ | Backups | - | 1 tool (6 actions) |
23
+ | Environments | - | 1 tool (6 actions) |
24
+ | Infrastructure | - | 1 tool (8 actions) |
25
+ | **Total** | **67 tools** | **12 tools** |
26
26
 
27
27
  Key advantages:
28
28
 
29
- - **Unified database tools** - One set of 13 tools handles all 5 database types (postgres, mysql, mariadb, mongo, redis) via a `dbType` parameter
30
- - **Docker Compose support** - Full lifecycle management for compose services
31
- - **Docker management** - Container listing, restart, inspect
32
- - **Server management** - Add, configure, and monitor remote servers
33
- - **Deployment tracking** - List and manage deployments across resources
34
- - **Backup management** - Schedule and trigger backups for all database types
35
- - **Infrastructure** - Port mappings, certificates, basic auth
29
+ - **Minimal token usage** - 12 tools instead of 67+, dramatically reducing context consumption
30
+ - **Unified database tool** - One tool handles all 5 database types (postgres, mysql, mariadb, mongo, redis) via `dbType` + `action` params
31
+ - **Full API coverage** - Docker Compose, containers, servers, deployments, backups, certificates, ports, and basic auth
32
+ - **Action-based design** - Each tool has an `action` enum parameter; other params are optional based on action
36
33
 
37
34
  ## Installation
38
35
 
@@ -94,177 +91,106 @@ docker run -e DOKPLOY_URL=https://dokploy.example.com \
94
91
  | `PORT` | No | `3000` | HTTP port (httpStream mode only) |
95
92
  | `HOST` | No | `0.0.0.0` | HTTP host (httpStream mode only) |
96
93
 
97
- ## Tools by Category
98
-
99
- ### Projects (6 tools)
100
-
101
- - `dokploy_project_list` - List all projects
102
- - `dokploy_project_get` - Get project details
103
- - `dokploy_project_create` - Create a new project
104
- - `dokploy_project_update` - Update project name/description
105
- - `dokploy_project_remove` - Delete a project
106
- - `dokploy_project_duplicate` - Duplicate a project environment
107
-
108
- ### Applications (20 tools)
109
-
110
- - `dokploy_application_create` - Create a new application
111
- - `dokploy_application_get` - Get application details
112
- - `dokploy_application_deploy` - Trigger deployment
113
- - `dokploy_application_redeploy` - Redeploy application
114
- - `dokploy_application_start` - Start application
115
- - `dokploy_application_stop` - Stop application
116
- - `dokploy_application_delete` - Delete application
117
- - `dokploy_application_update` - Update configuration
118
- - `dokploy_application_saveEnvironment` - Set environment variables
119
- - `dokploy_application_saveBuildType` - Configure build type
120
- - `dokploy_application_readMonitoring` - Read metrics
121
- - `dokploy_application_readTraefikConfig` - Read Traefik config
122
- - `dokploy_application_updateTraefikConfig` - Update Traefik config
123
- - `dokploy_application_reload` - Reload without redeploy
124
- - `dokploy_application_markRunning` - Mark as running
125
- - `dokploy_application_refreshToken` - Refresh webhook token
126
- - `dokploy_application_cleanQueues` - Clean build queues
127
- - `dokploy_application_killBuild` - Kill running build
128
- - `dokploy_application_move` - Move to different environment
129
- - `dokploy_application_cancelDeployment` - Cancel ongoing deployment
130
-
131
- ### Docker Compose (12 tools)
132
-
133
- - `dokploy_compose_create` - Create compose service
134
- - `dokploy_compose_get` - Get compose details
135
- - `dokploy_compose_update` - Update configuration
136
- - `dokploy_compose_delete` - Delete compose service
137
- - `dokploy_compose_deploy` - Deploy compose service
138
- - `dokploy_compose_redeploy` - Redeploy compose service
139
- - `dokploy_compose_start` - Start compose service
140
- - `dokploy_compose_stop` - Stop compose service
141
- - `dokploy_compose_loadServices` - List services in compose file
142
- - `dokploy_compose_loadMounts` - List mounts for a service
143
- - `dokploy_compose_getDefaultCommand` - Get default command
144
- - `dokploy_compose_move` - Move to different environment
145
-
146
- ### Databases - Unified (13 tools)
147
-
148
- All database tools accept a `dbType` parameter: `postgres`, `mysql`, `mariadb`, `mongo`, or `redis`.
149
-
150
- - `dokploy_database_create` - Create database service
151
- - `dokploy_database_get` - Get database details
152
- - `dokploy_database_deploy` - Deploy database
153
- - `dokploy_database_start` - Start database
154
- - `dokploy_database_stop` - Stop database
155
- - `dokploy_database_remove` - Remove database
156
- - `dokploy_database_reload` - Reload database
157
- - `dokploy_database_update` - Update configuration
158
- - `dokploy_database_rebuild` - Rebuild container
159
- - `dokploy_database_move` - Move to different environment
160
- - `dokploy_database_changeStatus` - Change status
161
- - `dokploy_database_saveEnvironment` - Set environment variables
162
- - `dokploy_database_saveExternalPort` - Set external port
163
-
164
- ### Deployments (5 tools)
165
-
166
- - `dokploy_deployment_list` - List deployments for an app
167
- - `dokploy_deployment_listByCompose` - List compose deployments
168
- - `dokploy_deployment_listByServer` - List server deployments
169
- - `dokploy_deployment_listByType` - List by resource type
170
- - `dokploy_deployment_killProcess` - Kill deployment process
171
-
172
- ### Docker (7 tools)
173
-
174
- - `dokploy_docker_getContainers` - List all containers
175
- - `dokploy_docker_restartContainer` - Restart a container
176
- - `dokploy_docker_getConfig` - Get container config
177
- - `dokploy_docker_getByAppNameMatch` - Find containers by name
178
- - `dokploy_docker_getByAppLabel` - Find containers by label
179
- - `dokploy_docker_getStackContainers` - Get stack containers
180
- - `dokploy_docker_getServiceContainers` - Get service containers
181
-
182
- ### Domains (9 tools)
183
-
184
- - `dokploy_domain_create` - Create a domain
185
- - `dokploy_domain_listByApplication` - List app domains
186
- - `dokploy_domain_listByCompose` - List compose domains
187
- - `dokploy_domain_get` - Get domain details
188
- - `dokploy_domain_update` - Update domain
189
- - `dokploy_domain_delete` - Delete domain
190
- - `dokploy_domain_generateDomain` - Auto-generate domain
191
- - `dokploy_domain_canGenerateTraefikMe` - Check traefik.me availability
192
- - `dokploy_domain_validate` - Validate DNS configuration
193
-
194
- ### Servers (8 tools)
195
-
196
- - `dokploy_server_list` - List all servers
197
- - `dokploy_server_get` - Get server details
198
- - `dokploy_server_create` - Add a remote server
199
- - `dokploy_server_update` - Update server config
200
- - `dokploy_server_remove` - Remove a server
201
- - `dokploy_server_count` - Get server count
202
- - `dokploy_server_publicIp` - Get public IP
203
- - `dokploy_server_getMetrics` - Get server metrics
204
-
205
- ### Settings (7 tools)
206
-
207
- - `dokploy_settings_health` - Health check
208
- - `dokploy_settings_getDokployVersion` - Get version
209
- - `dokploy_settings_getIp` - Get server IP
210
- - `dokploy_settings_cleanAll` - Run all cleanup tasks
211
- - `dokploy_settings_cleanUnusedImages` - Clean unused images
212
- - `dokploy_settings_reloadServer` - Reload server
213
- - `dokploy_settings_reloadTraefik` - Reload Traefik
214
-
215
- ### Backups (6 tools)
216
-
217
- - `dokploy_backup_create` - Create backup schedule
218
- - `dokploy_backup_get` - Get backup details
219
- - `dokploy_backup_update` - Update backup config
220
- - `dokploy_backup_remove` - Remove backup config
221
- - `dokploy_backup_listFiles` - List backup files
222
- - `dokploy_backup_manualBackup` - Trigger manual backup
223
-
224
- ### Environments (6 tools)
225
-
226
- - `dokploy_environment_create` - Create environment
227
- - `dokploy_environment_get` - Get environment details
228
- - `dokploy_environment_listByProject` - List project environments
229
- - `dokploy_environment_remove` - Remove environment
230
- - `dokploy_environment_update` - Update environment
231
- - `dokploy_environment_duplicate` - Duplicate environment
232
-
233
- ### Infrastructure (8 tools)
234
-
235
- - `dokploy_port_create` - Create port mapping
236
- - `dokploy_port_delete` - Delete port mapping
237
- - `dokploy_security_create` - Create basic auth
238
- - `dokploy_security_delete` - Remove basic auth
239
- - `dokploy_certificate_list` - List certificates
240
- - `dokploy_certificate_get` - Get certificate details
241
- - `dokploy_certificate_create` - Upload certificate
242
- - `dokploy_certificate_remove` - Remove certificate
94
+ ## Tools (12)
95
+
96
+ Each tool uses an `action` enum to select the operation. Parameters are optional and used based on the chosen action.
97
+
98
+ ### `dokploy_project` (6 actions)
99
+
100
+ Actions: `list | get | create | update | remove | duplicate`
101
+
102
+ Manage projects. `list` returns all projects. `get` requires `projectId`. `create` requires `name`. `update` requires `projectId` + fields. `remove` requires `projectId`. `duplicate` requires `sourceEnvironmentId` + `name`.
103
+
104
+ ### `dokploy_application` (18 actions)
105
+
106
+ Actions: `create | get | update | move | deploy | start | stop | delete | markRunning | refreshToken | cleanQueues | killBuild | cancelDeployment | reload | saveEnvironment | saveBuildType | traefikConfig | readMonitoring`
107
+
108
+ Full application lifecycle. Most actions require `applicationId`. `create` requires `name` + `environmentId`. `deploy` supports `redeploy` flag. `readMonitoring` requires `appName`.
109
+
110
+ ### `dokploy_compose` (11 actions)
111
+
112
+ Actions: `create | get | update | delete | deploy | start | stop | move | loadServices | loadMounts | getDefaultCommand`
113
+
114
+ Docker Compose management. Most actions require `composeId`. `create` requires `name` + `environmentId`. `loadMounts` requires `serviceName`.
115
+
116
+ ### `dokploy_database` (13 actions)
117
+
118
+ Actions: `create | get | update | move | start | stop | deploy | rebuild | remove | reload | changeStatus | saveEnvironment | saveExternalPort`
119
+
120
+ Unified database management. All actions require `dbType` (postgres/mysql/mariadb/mongo/redis). Most also require `databaseId`.
121
+
122
+ ### `dokploy_domain` (8 actions)
123
+
124
+ Actions: `create | list | get | update | delete | generate | canGenerateTraefikMe | validate`
125
+
126
+ Domain/DNS management. `create` requires `host` + `applicationId`|`composeId`. `validate` requires `domain`.
127
+
128
+ ### `dokploy_environment` (6 actions)
129
+
130
+ Actions: `create | get | list | update | remove | duplicate`
131
+
132
+ Project environment management. `create` requires `projectId` + `name`. `list` requires `projectId`.
133
+
134
+ ### `dokploy_server` (8 actions)
135
+
136
+ Actions: `list | get | create | update | remove | count | publicIp | getMetrics`
137
+
138
+ Server management. `create` requires `name` + `ipAddress` + `port` + `username` + `sshKeyId` + `serverType`. `getMetrics` requires `url` + `token`.
139
+
140
+ ### `dokploy_backup` (6 actions)
141
+
142
+ Actions: `create | get | update | remove | listFiles | manualBackup`
143
+
144
+ Backup scheduling and triggers. `create` requires `schedule` + `prefix` + `destinationId` + `database` + `databaseType`. `manualBackup` requires `backupId` + `backupType`.
145
+
146
+ ### `dokploy_deployment` (2 actions)
147
+
148
+ Actions: `list | killProcess`
149
+
150
+ Deployment tracking. `list` requires `applicationId`|`composeId`|`serverId`|`type`+`id`. `killProcess` requires `deploymentId`.
151
+
152
+ ### `dokploy_docker` (4 actions)
153
+
154
+ Actions: `getContainers | restartContainer | getConfig | findContainers`
155
+
156
+ Container management. `findContainers` requires `appName` + `method` (match|label|stack|service).
157
+
158
+ ### `dokploy_infrastructure` (8 actions)
159
+
160
+ Actions: `createPort | deletePort | createAuth | deleteAuth | listCerts | getCert | createCert | removeCert`
161
+
162
+ Ports, basic auth, and SSL certificates.
163
+
164
+ ### `dokploy_settings` (5 actions)
165
+
166
+ Actions: `health | version | ip | clean | reload`
167
+
168
+ System settings. `clean` uses `cleanType` (all|images). `reload` uses `reloadTarget` (server|traefik).
243
169
 
244
170
  ## Usage Examples
245
171
 
246
172
  ### Deploy an application
247
173
 
248
174
  ```
249
- "Deploy my web app" → dokploy_application_deploy { applicationId: "app-123" }
175
+ "Deploy my web app" → dokploy_application { action: "deploy", applicationId: "app-123" }
250
176
  ```
251
177
 
252
178
  ### Start a PostgreSQL database
253
179
 
254
180
  ```
255
- "Start the postgres database" → dokploy_database_start { dbType: "postgres", databaseId: "db-456" }
181
+ "Start the postgres database" → dokploy_database { action: "start", dbType: "postgres", databaseId: "db-456" }
256
182
  ```
257
183
 
258
184
  ### Check system health
259
185
 
260
186
  ```
261
- "Is Dokploy healthy?" → dokploy_settings_health {}
187
+ "Is Dokploy healthy?" → dokploy_settings { action: "health" }
262
188
  ```
263
189
 
264
190
  ### List all containers
265
191
 
266
192
  ```
267
- "What containers are running?" → dokploy_docker_getContainers {}
193
+ "What containers are running?" → dokploy_docker { action: "getContainers" }
268
194
  ```
269
195
 
270
196
  ## Development
package/dist/bin.js CHANGED
@@ -3,12 +3,12 @@
3
3
  if (!process.env.TRANSPORT_TYPE) process.env.TRANSPORT_TYPE = "stdio";
4
4
  const args = process.argv.slice(2);
5
5
  if (args.includes("--version") || args.includes("-v")) {
6
- console.log("1.0.0");
6
+ console.log("1.1.0");
7
7
  process.exit(0);
8
8
  }
9
9
  if (args.includes("--help") || args.includes("-h")) {
10
10
  console.log(`
11
- Dokploy MCP Server v1.0.0
11
+ Dokploy MCP Server v1.1.0
12
12
 
13
13
  Usage: dokploy-mcp-server [options]
14
14