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 +99 -173
- package/dist/bin.js +2 -2
- package/dist/index.js +875 -1363
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
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 **
|
|
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
|
|
12
|
-
|
|
|
13
|
-
| Projects
|
|
14
|
-
| Applications
|
|
15
|
-
| Compose
|
|
16
|
-
| Deployments
|
|
17
|
-
| Docker
|
|
18
|
-
| Domains
|
|
19
|
-
| Servers
|
|
20
|
-
| Settings
|
|
21
|
-
| Databases
|
|
22
|
-
| Backups
|
|
23
|
-
| Environments
|
|
24
|
-
| Infrastructure
|
|
25
|
-
| **Total**
|
|
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
|
-
- **
|
|
30
|
-
- **
|
|
31
|
-
- **
|
|
32
|
-
- **
|
|
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
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
###
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
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" →
|
|
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" →
|
|
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?" →
|
|
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?" →
|
|
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.
|
|
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.
|
|
11
|
+
Dokploy MCP Server v1.1.0
|
|
12
12
|
|
|
13
13
|
Usage: dokploy-mcp-server [options]
|
|
14
14
|
|