@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 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 | When `true`, redacts secret-bearing fields from API responses before they reach the MCP client (default: `false`). Useful when an LLM consumes responses and you don't want env vars or compose files in its context. |
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
- You can limit which tools are loaded by setting the `DOKPLOY_ENABLED_TAGS` environment variable. This is useful when you only need a subset of tools:
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` to filter by category.
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