@dokploy/mcp 0.29.14 → 0.30.1
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 +52 -3
- package/build/generated/tools.js +783 -45
- package/build/server.js +85 -10
- package/build/utils/clientConfig.js +1 -1
- package/build/utils/redactSensitive.js +7 -6
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -188,6 +188,26 @@ Open the "Settings" page of the app, navigate to "Plugins," and enter the follow
|
|
|
188
188
|
}
|
|
189
189
|
```
|
|
190
190
|
|
|
191
|
+
### Install in Opencode
|
|
192
|
+
|
|
193
|
+
Add this to your OpenCode configuration (located by default in ~/.config/opencode/opencode.json or opencode.json for local/project config). See [Opencode MCP config](https://opencode.ai/docs/mcp-servers/) for more info.
|
|
194
|
+
|
|
195
|
+
```json
|
|
196
|
+
{
|
|
197
|
+
"mcp": {
|
|
198
|
+
"dokploy": {
|
|
199
|
+
"type": "local",
|
|
200
|
+
"command": ["npx", "-y", "@dokploy/mcp"],
|
|
201
|
+
"environment": {
|
|
202
|
+
"DOKPLOY_URL": "https://your-dokploy-server.com",
|
|
203
|
+
"DOKPLOY_API_KEY": "your-dokploy-api-token"
|
|
204
|
+
},
|
|
205
|
+
"enabled": true
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
```
|
|
210
|
+
|
|
191
211
|
### Using Docker
|
|
192
212
|
|
|
193
213
|
The Docker container supports both **stdio** and **HTTP** transport modes, making it flexible for different deployment scenarios.
|
|
@@ -288,11 +308,13 @@ The configuration on Windows is slightly different compared to Linux or macOS. U
|
|
|
288
308
|
| `DOKPLOY_URL` | Yes | Your Dokploy server URL (e.g., `https://your-dokploy-server.com`) |
|
|
289
309
|
| `DOKPLOY_API_KEY` | Yes | Your Dokploy API authentication token |
|
|
290
310
|
| `DOKPLOY_CUSTOM_HEADERS` | No | JSON object of additional upstream request headers. Header names and values must be strings. Reserved headers cannot be set here: `x-api-key`, `content-type`, `accept`. |
|
|
311
|
+
| `DOKPLOY_TOOL_PRESET` | No | Predefined toolset to load: `all` (default), `minimal`, `core`, `deploy`, `databases`, or `git`. Useful for clients/providers that struggle with very large tool lists. |
|
|
291
312
|
| `DOKPLOY_ENABLED_TAGS` | No | Comma-separated list of tags to filter which tools are loaded (e.g., `project,application,postgres`) |
|
|
313
|
+
| `DOKPLOY_DISABLED_TAGS` | No | Comma-separated list of tags to exclude from the selected toolset. Applied after `DOKPLOY_TOOL_PRESET` or `DOKPLOY_ENABLED_TAGS`. |
|
|
292
314
|
| `DOKPLOY_TIMEOUT` | No | Request timeout in milliseconds (default: `30000`) |
|
|
293
315
|
| `DOKPLOY_RETRY_ATTEMPTS` | No | Number of retry attempts (default: `3`) |
|
|
294
316
|
| `DOKPLOY_RETRY_DELAY` | No | Delay between retries in milliseconds (default: `1000`) |
|
|
295
|
-
| `DOKPLOY_REDACT_ENV` | No |
|
|
317
|
+
| `DOKPLOY_REDACT_ENV` | No | Redacts secret-bearing fields (env vars, compose files, passwords, tokens, keys) from API responses before they reach the MCP client (default: `true`). Set to `false` only if you explicitly need raw secret values in LLM context. |
|
|
296
318
|
| `DOKPLOY_REDACT_FIELDS` | No | Comma-separated list of response field names to redact when `DOKPLOY_REDACT_ENV=true`. Matched case-insensitively at any nesting depth. Defaults to: `env`, `buildArgs`, `composeFile`, `dockerCompose`, `environment`, `buildSecrets`, `previewBuildSecrets`, `password`, `currentPassword`, `appPassword`, `databasePassword`, `databaseRootPassword`, `redisPassword`, `mariadbPassword`, `mongoPassword`, `mysqlPassword`, `postgresPassword`, `registryPassword`, `token`, `accessToken`, `appToken`, `apiToken`, `botToken`, `refreshToken`, `secret`, `clientSecret`, `apiKey`, `secretAccessKey`, `accessKey`, `licenseKey`, `userKey`, `privateKey`, `privateKeyPass`, `encPrivateKey`, `encPrivateKeyPass`, `sshKey`, `sshPrivateKey`, `customGitSSHKey`, `dockerAuth`. |
|
|
297
319
|
|
|
298
320
|
For Dokploy instances behind Cloudflare Access or a similar reverse proxy, pass service-token headers with placeholder values like this:
|
|
@@ -423,13 +445,40 @@ This MCP server provides **508 tools** covering the entire Dokploy API, organize
|
|
|
423
445
|
|
|
424
446
|
### Tool Filtering
|
|
425
447
|
|
|
426
|
-
|
|
448
|
+
By default, the server exposes all Dokploy API tools. Some MCP clients and LLM providers can be slower or less reliable when very large tool lists are sent to the model. You can reduce the loaded tools with presets or tag filters.
|
|
449
|
+
|
|
450
|
+
Use `DOKPLOY_TOOL_PRESET` for common workflows:
|
|
451
|
+
|
|
452
|
+
| Preset | Included tags |
|
|
453
|
+
|--------|---------------|
|
|
454
|
+
| `all` | All tools (default) |
|
|
455
|
+
| `minimal` | `project`, `application` |
|
|
456
|
+
| `core` | `project`, `server`, `application` |
|
|
457
|
+
| `deploy` | `project`, `environment`, `server`, `application`, `compose`, `domain`, `deployment` |
|
|
458
|
+
| `databases` | `postgres`, `redis`, `mysql`, `mariadb`, `mongo`, `libsql` |
|
|
459
|
+
| `git` | `github`, `gitlab`, `bitbucket`, `gitea`, `gitProvider`, `registry`, `sshKey` |
|
|
460
|
+
|
|
461
|
+
```bash
|
|
462
|
+
# Recommended starting point for clients/providers sensitive to large toolsets
|
|
463
|
+
DOKPLOY_TOOL_PRESET=minimal
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
For exact control, set `DOKPLOY_ENABLED_TAGS`:
|
|
427
467
|
|
|
428
468
|
```bash
|
|
429
469
|
# Only load project, application, and postgres tools
|
|
430
470
|
DOKPLOY_ENABLED_TAGS=project,application,postgres
|
|
431
471
|
```
|
|
432
472
|
|
|
473
|
+
You can also remove categories from a preset:
|
|
474
|
+
|
|
475
|
+
```bash
|
|
476
|
+
DOKPLOY_TOOL_PRESET=core
|
|
477
|
+
DOKPLOY_DISABLED_TAGS=postgres,redis
|
|
478
|
+
```
|
|
479
|
+
|
|
480
|
+
If `DOKPLOY_ENABLED_TAGS` is set, it takes precedence over `DOKPLOY_TOOL_PRESET`. `DOKPLOY_DISABLED_TAGS` is applied last.
|
|
481
|
+
|
|
433
482
|
All tools include semantic annotations (`readOnlyHint`, `destructiveHint`, `idempotentHint`) to help MCP clients understand their behavior and safety characteristics.
|
|
434
483
|
|
|
435
484
|
## Architecture
|
|
@@ -499,7 +548,7 @@ npx -y @modelcontextprotocol/inspector npx @dokploy/mcp
|
|
|
499
548
|
|
|
500
549
|
3. Verify your `DOKPLOY_URL` and `DOKPLOY_API_KEY` environment variables are correctly set.
|
|
501
550
|
|
|
502
|
-
4. If too many tools are loading, use `DOKPLOY_ENABLED_TAGS`
|
|
551
|
+
4. If too many tools are loading or your provider times out while processing tools, start with `DOKPLOY_TOOL_PRESET=minimal`, then use `DOKPLOY_ENABLED_TAGS` for exact category filtering if needed.
|
|
503
552
|
|
|
504
553
|
## Contributing
|
|
505
554
|
|