@dokploy/mcp 0.0.1 → 0.0.2

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 (3) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +176 -147
  3. package/package.json +22 -22
package/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright 2025 Henrique Andrade
1
+ Copyright 2026 Dokploy Technologies, Inc.
2
2
 
3
3
  Licensed under the Apache License, Version 2.0 (the "License");
4
4
  you may not use this file except in compliance with the License.
package/README.md CHANGED
@@ -1,12 +1,12 @@
1
1
  # Dokploy MCP Server
2
2
 
3
- [![npm version](https://img.shields.io/npm/v/@ahdev/dokploy-mcp.svg)](https://www.npmjs.com/package/@ahdev/dokploy-mcp) [<img alt="Install in VS Code (npx)" src="https://img.shields.io/badge/VS_Code-VS_Code?style=flat-square&label=Install%20Dokploy%20MCP&color=0098FF">](https://insiders.vscode.dev/redirect?url=vscode%3Amcp%2Finstall%3F%7B%22name%22%3A%22dokploy-mcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40ahdev%2Fdokploy-mcp%40latest%22%5D%7D)
3
+ [![npm version](https://img.shields.io/npm/v/@dokploy/mcp.svg)](https://www.npmjs.com/package/@dokploy/mcp) [<img alt="Install in VS Code (npx)" src="https://img.shields.io/badge/VS_Code-VS_Code?style=flat-square&label=Install%20Dokploy%20MCP&color=0098FF">](https://insiders.vscode.dev/redirect?url=vscode%3Amcp%2Finstall%3F%7B%22name%22%3A%22dokploy-mcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40dokploy%2Fmcp%40latest%22%5D%7D)
4
4
 
5
- Dokploy MCP Server exposes Dokploy functionalities as tools consumable via the Model Context Protocol (MCP). It allows MCP-compatible clients (e.g., AI models, other applications) to interact with your Dokploy server programmatically.
5
+ Dokploy MCP Server exposes **all Dokploy API endpoints** as tools consumable via the Model Context Protocol (MCP). It allows MCP-compatible clients (e.g., AI models, other applications) to interact with your Dokploy server programmatically.
6
6
 
7
- This server focuses exclusively on **tools** for direct Dokploy API operations, providing a clean and efficient interface for project and application management.
7
+ With **508 tools** across **49 categories**, this server provides complete coverage of the Dokploy API from project and application management to databases, notifications, SSO, Docker, backups, and more.
8
8
 
9
- ## 🛠️ Getting Started
9
+ ## Getting Started
10
10
 
11
11
  ### Requirements
12
12
 
@@ -25,9 +25,9 @@ Add this to your Cursor `~/.cursor/mcp.json` file. You may also install in a spe
25
25
  "mcpServers": {
26
26
  "dokploy-mcp": {
27
27
  "command": "npx",
28
- "args": ["-y", "@ahdev/dokploy-mcp"],
28
+ "args": ["-y", "@dokploy/mcp"],
29
29
  "env": {
30
- "DOKPLOY_URL": "https://your-dokploy-server.com/api",
30
+ "DOKPLOY_URL": "https://your-dokploy-server.com",
31
31
  "DOKPLOY_API_KEY": "your-dokploy-api-token"
32
32
  }
33
33
  }
@@ -43,9 +43,9 @@ Add this to your Cursor `~/.cursor/mcp.json` file. You may also install in a spe
43
43
  "mcpServers": {
44
44
  "dokploy-mcp": {
45
45
  "command": "bunx",
46
- "args": ["-y", "@ahdev/dokploy-mcp"],
46
+ "args": ["-y", "@dokploy/mcp"],
47
47
  "env": {
48
- "DOKPLOY_URL": "https://your-dokploy-server.com/api",
48
+ "DOKPLOY_URL": "https://your-dokploy-server.com",
49
49
  "DOKPLOY_API_KEY": "your-dokploy-api-token"
50
50
  }
51
51
  }
@@ -63,9 +63,9 @@ Add this to your Cursor `~/.cursor/mcp.json` file. You may also install in a spe
63
63
  "mcpServers": {
64
64
  "dokploy-mcp": {
65
65
  "command": "deno",
66
- "args": ["run", "--allow-env", "--allow-net", "npm:@ahdev/dokploy-mcp"],
66
+ "args": ["run", "--allow-env", "--allow-net", "npm:@dokploy/mcp"],
67
67
  "env": {
68
- "DOKPLOY_URL": "https://your-dokploy-server.com/api",
68
+ "DOKPLOY_URL": "https://your-dokploy-server.com",
69
69
  "DOKPLOY_API_KEY": "your-dokploy-api-token"
70
70
  }
71
71
  }
@@ -84,9 +84,9 @@ Add this to your Windsurf MCP config file. See [Windsurf MCP docs](https://docs.
84
84
  "mcpServers": {
85
85
  "dokploy-mcp": {
86
86
  "command": "npx",
87
- "args": ["-y", "@ahdev/dokploy-mcp"],
87
+ "args": ["-y", "@dokploy/mcp"],
88
88
  "env": {
89
- "DOKPLOY_URL": "https://your-dokploy-server.com/api",
89
+ "DOKPLOY_URL": "https://your-dokploy-server.com",
90
90
  "DOKPLOY_API_KEY": "your-dokploy-api-token"
91
91
  }
92
92
  }
@@ -96,8 +96,8 @@ Add this to your Windsurf MCP config file. See [Windsurf MCP docs](https://docs.
96
96
 
97
97
  ### Install in VS Code
98
98
 
99
- [<img alt="Install in VS Code (npx)" src="https://img.shields.io/badge/VS_Code-VS_Code?style=flat-square&label=Install%20Dokploy%20MCP&color=0098FF">](https://insiders.vscode.dev/redirect?url=vscode%3Amcp%2Finstall%3F%7B%22name%22%3A%22dokploy-mcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40ahdev%2Fdokploy-mcp%40latest%22%5D%7D)
100
- [<img alt="Install in VS Code Insiders (npx)" src="https://img.shields.io/badge/VS_Code_Insiders-VS_Code_Insiders?style=flat-square&label=Install%20Dokploy%20MCP&color=24bfa5">](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Amcp%2Finstall%3F%7B%22name%22%3A%22dokploy-mcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40ahdev%2Fdokploy-mcp%40latest%22%5D%7D)
99
+ [<img alt="Install in VS Code (npx)" src="https://img.shields.io/badge/VS_Code-VS_Code?style=flat-square&label=Install%20Dokploy%20MCP&color=0098FF">](https://insiders.vscode.dev/redirect?url=vscode%3Amcp%2Finstall%3F%7B%22name%22%3A%22dokploy-mcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40dokploy%2Fmcp%40latest%22%5D%7D)
100
+ [<img alt="Install in VS Code Insiders (npx)" src="https://img.shields.io/badge/VS_Code_Insiders-VS_Code_Insiders?style=flat-square&label=Install%20Dokploy%20MCP&color=24bfa5">](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Amcp%2Finstall%3F%7B%22name%22%3A%22dokploy-mcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40dokploy%2Fmcp%40latest%22%5D%7D)
101
101
 
102
102
  Add this to your VS Code MCP config file. See [VS Code MCP docs](https://code.visualstudio.com/docs/copilot/chat/mcp-servers) for more info.
103
103
 
@@ -107,9 +107,9 @@ Add this to your VS Code MCP config file. See [VS Code MCP docs](https://code.vi
107
107
  "dokploy-mcp": {
108
108
  "type": "stdio",
109
109
  "command": "npx",
110
- "args": ["-y", "@ahdev/dokploy-mcp"],
110
+ "args": ["-y", "@dokploy/mcp"],
111
111
  "env": {
112
- "DOKPLOY_URL": "https://your-dokploy-server.com/api",
112
+ "DOKPLOY_URL": "https://your-dokploy-server.com",
113
113
  "DOKPLOY_API_KEY": "your-dokploy-api-token"
114
114
  }
115
115
  }
@@ -117,6 +117,20 @@ Add this to your VS Code MCP config file. See [VS Code MCP docs](https://code.vi
117
117
  }
118
118
  ```
119
119
 
120
+ ### Install in Claude Code
121
+
122
+ Add the MCP server to Claude Code using the CLI:
123
+
124
+ ```bash
125
+ claude mcp add dokploy-mcp -- npx -y @dokploy/mcp
126
+ ```
127
+
128
+ Then set the environment variables in your `.claude/settings.json` or pass them inline:
129
+
130
+ ```bash
131
+ DOKPLOY_URL=https://your-dokploy-server.com DOKPLOY_API_KEY=your-token claude
132
+ ```
133
+
120
134
  ### Install in Zed
121
135
 
122
136
  Add this to your Zed `settings.json`. See [Zed Context Server docs](https://zed.dev/docs/assistant/context-servers) for more info.
@@ -125,12 +139,10 @@ Add this to your Zed `settings.json`. See [Zed Context Server docs](https://zed.
125
139
  {
126
140
  "context_servers": {
127
141
  "dokploy-mcp": {
128
- "command": {
129
- "path": "npx",
130
- "args": ["-y", "@ahdev/dokploy-mcp"]
131
- },
132
- "settings": {
133
- "DOKPLOY_URL": "https://your-dokploy-server.com/api",
142
+ "command": "npx",
143
+ "args": ["-y", "@dokploy/mcp"],
144
+ "env": {
145
+ "DOKPLOY_URL": "https://your-dokploy-server.com",
134
146
  "DOKPLOY_API_KEY": "your-dokploy-api-token"
135
147
  }
136
148
  }
@@ -147,9 +159,9 @@ Add this to your Claude Desktop `claude_desktop_config.json` file. See [Claude D
147
159
  "mcpServers": {
148
160
  "dokploy-mcp": {
149
161
  "command": "npx",
150
- "args": ["-y", "@ahdev/dokploy-mcp"],
162
+ "args": ["-y", "@dokploy/mcp"],
151
163
  "env": {
152
- "DOKPLOY_URL": "https://your-dokploy-server.com/api",
164
+ "DOKPLOY_URL": "https://your-dokploy-server.com",
153
165
  "DOKPLOY_API_KEY": "your-dokploy-api-token"
154
166
  }
155
167
  }
@@ -166,9 +178,9 @@ Open the "Settings" page of the app, navigate to "Plugins," and enter the follow
166
178
  "mcpServers": {
167
179
  "dokploy-mcp": {
168
180
  "command": "npx",
169
- "args": ["-y", "@ahdev/dokploy-mcp"],
181
+ "args": ["-y", "@dokploy/mcp"],
170
182
  "env": {
171
- "DOKPLOY_URL": "https://your-dokploy-server.com/api",
183
+ "DOKPLOY_URL": "https://your-dokploy-server.com",
172
184
  "DOKPLOY_API_KEY": "your-dokploy-api-token"
173
185
  }
174
186
  }
@@ -184,7 +196,7 @@ The Docker container supports both **stdio** and **HTTP** transport modes, makin
184
196
 
185
197
  ```bash
186
198
  git clone https://github.com/Dokploy/mcp.git
187
- cd dokploy-mcp
199
+ cd mcp
188
200
  docker build -t dokploy-mcp .
189
201
  ```
190
202
 
@@ -194,7 +206,7 @@ The Docker container supports both **stdio** and **HTTP** transport modes, makin
194
206
 
195
207
  ```bash
196
208
  docker run -it --rm \
197
- -e DOKPLOY_URL=https://your-dokploy-server.com/api \
209
+ -e DOKPLOY_URL=https://your-dokploy-server.com \
198
210
  -e DOKPLOY_API_KEY=your_token_here \
199
211
  dokploy-mcp
200
212
  ```
@@ -205,7 +217,7 @@ The Docker container supports both **stdio** and **HTTP** transport modes, makin
205
217
  docker run -it --rm \
206
218
  -p 8080:3000 \
207
219
  -e MCP_TRANSPORT=http \
208
- -e DOKPLOY_URL=https://your-dokploy-server.com/api \
220
+ -e DOKPLOY_URL=https://your-dokploy-server.com \
209
221
  -e DOKPLOY_API_KEY=your_token_here \
210
222
  dokploy-mcp
211
223
  ```
@@ -236,7 +248,7 @@ The Docker container supports both **stdio** and **HTTP** transport modes, makin
236
248
  "-i",
237
249
  "--rm",
238
250
  "-e",
239
- "DOKPLOY_URL=https://your-dokploy-server.com/api",
251
+ "DOKPLOY_URL=https://your-dokploy-server.com",
240
252
  "-e",
241
253
  "DOKPLOY_API_KEY=your_token_here",
242
254
  "dokploy-mcp"
@@ -259,9 +271,9 @@ The configuration on Windows is slightly different compared to Linux or macOS. U
259
271
  "mcpServers": {
260
272
  "dokploy-mcp": {
261
273
  "command": "cmd",
262
- "args": ["/c", "npx", "-y", "@ahdev/dokploy-mcp"],
274
+ "args": ["/c", "npx", "-y", "@dokploy/mcp"],
263
275
  "env": {
264
- "DOKPLOY_URL": "https://your-dokploy-server.com/api",
276
+ "DOKPLOY_URL": "https://your-dokploy-server.com",
265
277
  "DOKPLOY_API_KEY": "your-dokploy-api-token"
266
278
  }
267
279
  }
@@ -271,10 +283,16 @@ The configuration on Windows is slightly different compared to Linux or macOS. U
271
283
 
272
284
  ### Environment Variables
273
285
 
274
- - `DOKPLOY_URL`: Your Dokploy server API URL (required)
275
- - `DOKPLOY_API_KEY`: Your Dokploy API authentication token (required)
286
+ | Variable | Required | Description |
287
+ |----------|----------|-------------|
288
+ | `DOKPLOY_URL` | Yes | Your Dokploy server URL (e.g., `https://your-dokploy-server.com`) |
289
+ | `DOKPLOY_API_KEY` | Yes | Your Dokploy API authentication token |
290
+ | `DOKPLOY_ENABLED_TAGS` | No | Comma-separated list of tags to filter which tools are loaded (e.g., `project,application,postgres`) |
291
+ | `DOKPLOY_TIMEOUT` | No | Request timeout in milliseconds (default: `30000`) |
292
+ | `DOKPLOY_RETRY_ATTEMPTS` | No | Number of retry attempts (default: `3`) |
293
+ | `DOKPLOY_RETRY_DELAY` | No | Delay between retries in milliseconds (default: `1000`) |
276
294
 
277
- ## 🚀 Transport Modes
295
+ ## Transport Modes
278
296
 
279
297
  This MCP server supports multiple transport modes to suit different use cases:
280
298
 
@@ -284,9 +302,7 @@ The default mode uses stdio for direct process communication, ideal for desktop
284
302
 
285
303
  ```bash
286
304
  # Run with stdio (default)
287
- npx -y @ahdev/dokploy-mcp
288
- # or
289
- npm run start:stdio
305
+ npx -y @dokploy/mcp
290
306
  ```
291
307
 
292
308
  ### HTTP Mode (Streamable HTTP + Legacy SSE)
@@ -298,131 +314,147 @@ Modern HTTP mode exposes the server via HTTP/HTTPS supporting **both modern and
298
314
 
299
315
  ```bash
300
316
  # Run with HTTP mode
301
- npm run start:http
302
- # or
303
- npx -y @ahdev/dokploy-mcp --http
317
+ npx -y @dokploy/mcp --http
304
318
  # or via environment variable
305
- MCP_TRANSPORT=http npx -y @ahdev/dokploy-mcp
319
+ MCP_TRANSPORT=http npx -y @dokploy/mcp
306
320
  ```
307
321
 
308
322
  **Modern Streamable HTTP Endpoints:**
309
323
 
310
- - **POST /mcp** - Client-to-server requests
311
- - **GET /mcp** - Server-to-client notifications
312
- - **DELETE /mcp** - Session termination
313
- - **GET /health** - Health check endpoint
324
+ | Endpoint | Method | Description |
325
+ |----------|--------|-------------|
326
+ | `/mcp` | POST | Client-to-server requests |
327
+ | `/mcp` | GET | Server-to-client notifications (SSE) |
328
+ | `/mcp` | DELETE | Session termination |
329
+ | `/health` | GET | Health check |
314
330
 
315
331
  **Legacy SSE Endpoints (Backwards Compatibility):**
316
332
 
317
- - **GET /sse** - SSE stream initialization
318
- - **POST /messages** - Client message posting
319
-
320
- **Configuration:**
321
-
322
- - Internal port: `3000` (fixed)
323
- - External port: configurable via `EXTERNAL_PORT` (default: `3000`)
324
- - Supports both modern Streamable HTTP (MCP 2025-03-26) and legacy SSE (MCP 2024-11-05)
325
- - Session management with automatic cleanup for both transport types
326
-
327
- **Client Compatibility:**
328
-
329
- Modern clients automatically use the Streamable HTTP endpoints, while legacy clients can connect using the SSE endpoints. The server handles both protocols simultaneously, ensuring compatibility with:
330
-
331
- - **Modern MCP clients** (Claude Desktop, Cline, etc.) Use `/mcp` endpoints
332
- - **Legacy MCP clients** Use `/sse` and `/messages` endpoints
333
- - **Custom integrations** Choose the appropriate protocol for your needs
334
-
335
- For detailed transport mode documentation and client examples, refer to the configuration examples above.
336
-
337
- ## 📚 Available Tools
338
-
339
- This MCP server provides **67 tools** organized into five main categories:
340
-
341
- ### 🗂️ Project Management (6 tools)
342
-
343
- - `project-all` - List all projects
344
- - `project-one` - Get project by ID
345
- - `project-create` - Create new project
346
- - `project-update` - Update project configuration
347
- - `project-duplicate` - Duplicate project with optional service selection
348
- - `project-remove` - Delete project
333
+ | Endpoint | Method | Description |
334
+ |----------|--------|-------------|
335
+ | `/sse` | GET | SSE stream initialization |
336
+ | `/messages` | POST | Client message posting |
337
+
338
+ ## Available Tools (508)
339
+
340
+ This MCP server provides **508 tools** covering the entire Dokploy API, organized into **49 categories**:
341
+
342
+ ### Core Resources
343
+
344
+ | Category | Tools | Description |
345
+ |----------|-------|-------------|
346
+ | **Project** | 8 | Create, list, update, duplicate, search, and delete projects |
347
+ | **Application** | 30 | Full application lifecycle — create, deploy, redeploy, start, stop, build types, git providers (GitHub, GitLab, Bitbucket, Gitea), environment, Traefik config |
348
+ | **Compose** | 29 | Docker Compose management create, deploy, templates, services, environment, isolated deployments |
349
+ | **Domain** | 9 | Domain CRUD, DNS validation, Traefik.me generation |
350
+ | **Environment** | 7 | Multi-environment support per project |
351
+ | **Deployment** | 8 | Deployment history, queue management, centralized view |
352
+
353
+ ### Databases
354
+
355
+ | Category | Tools | Description |
356
+ |----------|-------|-------------|
357
+ | **PostgreSQL** | 15 | Full lifecycle — create, deploy, start, stop, rebuild, passwords, external ports, environment |
358
+ | **MySQL** | 15 | Full lifecycle — create, deploy, start, stop, rebuild, passwords, external ports, environment |
359
+ | **MariaDB** | 15 | Full lifecycle — create, deploy, start, stop, rebuild, passwords, external ports, environment |
360
+ | **MongoDB** | 15 | Full lifecycle — create, deploy, start, stop, rebuild, passwords, external ports, environment |
361
+ | **Redis** | 15 | Full lifecycle — create, deploy, start, stop, rebuild, passwords, external ports, environment |
362
+ | **LibSQL** | 13 | Full lifecycle — create, deploy, start, stop, rebuild, external ports, environment |
363
+
364
+ ### Infrastructure
365
+
366
+ | Category | Tools | Description |
367
+ |----------|-------|-------------|
368
+ | **Server** | 17 | Multi-server management, metrics, security, monitoring setup |
369
+ | **Docker** | 9 | Container management — list, restart, remove, upload files, inspect config |
370
+ | **Cluster / Swarm** | 8 | Swarm node management, container stats, cluster operations |
371
+ | **Settings** | 51 | Server settings, Traefik config, Docker cleanup, GPU, monitoring, Redis, disk usage |
372
+ | **Registry** | 7 | Docker registry management and testing |
373
+
374
+ ### Security & Auth
375
+
376
+ | Category | Tools | Description |
377
+ |----------|-------|-------------|
378
+ | **SSO** | 10 | Single sign-on providers, trusted origins |
379
+ | **SSH Keys** | 7 | SSH key management — create, generate, list, update, remove |
380
+ | **Certificates** | 5 | SSL/TLS certificate management |
381
+ | **Security** | 4 | Basic auth and security rules per application |
382
+ | **Custom Roles** | 6 | Role-based access control with custom permissions |
383
+ | **User** | 23 | User management, permissions, API keys, invitations, metrics |
384
+ | **Organization** | 11 | Multi-org support, invitations, member roles |
385
+
386
+ ### Operations
387
+
388
+ | Category | Tools | Description |
389
+ |----------|-------|-------------|
390
+ | **Backup** | 12 | Database backups — Postgres, MySQL, MariaDB, MongoDB, LibSQL, Compose, WebServer |
391
+ | **Volume Backups** | 6 | Volume-level backup scheduling and management |
392
+ | **Destination** | 6 | S3-compatible backup destinations (AWS, Cloudflare R2, etc.) |
393
+ | **Schedule** | 6 | Scheduled tasks — cron-based automation |
394
+ | **Notification** | 41 | Multi-channel alerts — Slack, Discord, Telegram, Email, Teams, Gotify, Ntfy, Pushover, Lark, Mattermost, Resend, Custom webhooks |
395
+ | **Rollback** | 2 | Application rollback management |
396
+
397
+ ### Other
398
+
399
+ | Category | Tools | Description |
400
+ |----------|-------|-------------|
401
+ | **AI** | 9 | AI-powered suggestions, model management |
402
+ | **Git Providers** | 27 | GitHub, GitLab, Gitea, Bitbucket — branches, repos, connection testing |
403
+ | **Tag** | 8 | Project tagging and bulk assignment |
404
+ | **Patch** | 12 | File patching system for applications |
405
+ | **Mounts** | 6 | Volume and bind mount management |
406
+ | **Port** | 4 | Port mapping configuration |
407
+ | **Redirects** | 4 | URL redirect rules |
408
+ | **Preview Deployments** | 4 | PR preview deployment management |
409
+ | **Stripe** | 7 | Billing and subscription management |
410
+ | **License Key** | 6 | Enterprise license management |
411
+ | **Whitelabeling** | 4 | Custom branding for enterprise |
412
+ | **Audit Log** | 1 | Activity audit trail |
413
+ | **Admin** | 1 | Admin-level monitoring setup |
414
+
415
+ ### Tool Filtering
416
+
417
+ 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:
349
418
 
350
- ### 🚀 Application Management (26 tools)
351
-
352
- **Core Operations:**
353
- - `application-one`, `application-create`, `application-update`, `application-delete`
354
- - `application-deploy`, `application-redeploy`, `application-start`, `application-stop`, `application-reload`
355
- - `application-move`, `application-markRunning`, `application-cancelDeployment`
356
-
357
- **Git Providers:**
358
- - `application-saveGithubProvider`, `application-saveGitlabProvider`, `application-saveBitbucketProvider`
359
- - `application-saveGiteaProvider`, `application-saveGitProvider`, `application-disconnectGitProvider`
360
-
361
- **Configuration:**
362
- - `application-saveBuildType`, `application-saveEnvironment`, `application-saveDockerProvider`
363
- - `application-readAppMonitoring`, `application-readTraefikConfig`, `application-updateTraefikConfig`
364
- - `application-refreshToken`, `application-cleanQueues`
365
-
366
- ### 🌐 Domain Management (9 tools)
367
-
368
- - `domain-byApplicationId` - List domains by application ID
369
- - `domain-byComposeId` - List domains by compose service ID
370
- - `domain-one` - Get domain by ID
371
- - `domain-create` - Create domain (application/compose/preview)
372
- - `domain-update` - Update domain configuration
373
- - `domain-delete` - Delete domain
374
- - `domain-validateDomain` - Validate domain DNS/target
375
- - `domain-generateDomain` - Suggest a domain for an app
376
- - `domain-canGenerateTraefikMeDomains` - Check Traefik.me availability on a server
377
-
378
- ### 🐘 PostgreSQL Database Management (13 tools)
379
-
380
- **Core Operations:**
381
- - `postgres-create`, `postgres-one`, `postgres-update`, `postgres-remove`, `postgres-move`
382
- - `postgres-deploy`, `postgres-start`, `postgres-stop`, `postgres-reload`, `postgres-rebuild`
383
-
384
- **Configuration:**
385
- - `postgres-changeStatus`, `postgres-saveExternalPort`, `postgres-saveEnvironment`
386
-
387
- ### 🐬 MySQL Database Management (13 tools)
388
-
389
- **Core Operations:**
390
- - `mysql-create`, `mysql-one`, `mysql-update`, `mysql-remove`, `mysql-move`
391
- - `mysql-deploy`, `mysql-start`, `mysql-stop`, `mysql-reload`, `mysql-rebuild`
392
-
393
- **Configuration:**
394
- - `mysql-changeStatus`, `mysql-saveExternalPort`, `mysql-saveEnvironment`
419
+ ```bash
420
+ # Only load project, application, and postgres tools
421
+ DOKPLOY_ENABLED_TAGS=project,application,postgres
422
+ ```
395
423
 
396
- **Tool Annotations:**
397
424
  All tools include semantic annotations (`readOnlyHint`, `destructiveHint`, `idempotentHint`) to help MCP clients understand their behavior and safety characteristics.
398
425
 
399
- For detailed schemas, parameters, and usage examples, see **[TOOLS.md](TOOLS.md)**.
400
-
401
- ## 🏗️ Architecture
426
+ ## Architecture
402
427
 
403
428
  Built with **@modelcontextprotocol/sdk**, **TypeScript**, and **Zod** for type-safe schema validation:
404
429
 
405
- - **67 Tools** covering projects, applications, domains, PostgreSQL, and MySQL management
430
+ - **508 Tools** covering the entire Dokploy API
406
431
  - **Multiple Transports**: Stdio (default) and HTTP (Streamable HTTP + legacy SSE)
407
- - **Multiple Git Providers**: GitHub, GitLab, Bitbucket, Gitea, custom Git
408
- - **Robust Error Handling**: Centralized API client with retry logic
409
- - **Type Safety**: Full TypeScript support with Zod schema validation
432
+ - **Auto-generated Tools**: Tools are generated from the Dokploy OpenAPI spec via `pnpm generate:all`
433
+ - **Tool Filtering**: Load only the categories you need via `DOKPLOY_ENABLED_TAGS`
434
+ - **Robust Error Handling**: Centralized API client with interceptors and retry logic
435
+ - **Type Safety**: Full TypeScript with Zod schema validation
410
436
  - **Tool Annotations**: Semantic hints for MCP client behavior understanding
411
437
 
412
- ## 🔧 Development
438
+ ## Development
413
439
 
414
440
  Clone the project and install dependencies:
415
441
 
416
442
  ```bash
417
443
  git clone https://github.com/Dokploy/mcp.git
418
- cd dokploy-mcp
419
- npm install
444
+ cd mcp
445
+ pnpm install
420
446
  ```
421
447
 
422
448
  Build:
423
449
 
424
450
  ```bash
425
- npm run build
451
+ pnpm build
452
+ ```
453
+
454
+ Regenerate tools from the Dokploy OpenAPI spec:
455
+
456
+ ```bash
457
+ pnpm generate:all
426
458
  ```
427
459
 
428
460
  ### Local Configuration Example
@@ -432,9 +464,9 @@ npm run build
432
464
  "mcpServers": {
433
465
  "dokploy-mcp": {
434
466
  "command": "npx",
435
- "args": ["tsx", "/path/to/dokploy-mcp/src/index.ts"],
467
+ "args": ["tsx", "/path/to/mcp/src/index.ts"],
436
468
  "env": {
437
- "DOKPLOY_URL": "https://your-dokploy-server.com/api",
469
+ "DOKPLOY_URL": "https://your-dokploy-server.com",
438
470
  "DOKPLOY_API_KEY": "your-dokploy-api-token"
439
471
  }
440
472
  }
@@ -445,15 +477,10 @@ npm run build
445
477
  ### Testing with MCP Inspector
446
478
 
447
479
  ```bash
448
- npx -y @modelcontextprotocol/inspector npx @ahdev/dokploy-mcp
480
+ npx -y @modelcontextprotocol/inspector npx @dokploy/mcp
449
481
  ```
450
482
 
451
- ### Documentation
452
-
453
- - **[TOOLS.md](TOOLS.md)** - Complete tool reference with schemas and examples
454
- - **[CONTRIBUTING.md](CONTRIBUTING.md)** - Contributing guidelines
455
-
456
- ## 🔧 Troubleshooting
483
+ ## Troubleshooting
457
484
 
458
485
  ### MCP Client Errors
459
486
 
@@ -463,14 +490,16 @@ npx -y @modelcontextprotocol/inspector npx @ahdev/dokploy-mcp
463
490
 
464
491
  3. Verify your `DOKPLOY_URL` and `DOKPLOY_API_KEY` environment variables are correctly set.
465
492
 
466
- ## 🤝 Contributing
493
+ 4. If too many tools are loading, use `DOKPLOY_ENABLED_TAGS` to filter by category.
494
+
495
+ ## Contributing
467
496
 
468
497
  We welcome contributions! If you'd like to contribute to the Dokploy MCP Server, please check out our [Contributing Guide](CONTRIBUTING.md).
469
498
 
470
- ## 🆘 Support
499
+ ## Support
471
500
 
472
501
  If you encounter any issues, have questions, or want to suggest a feature, please [open an issue](https://github.com/Dokploy/mcp/issues) in our GitHub repository.
473
502
 
474
- ## 📄 License
503
+ ## License
475
504
 
476
505
  This project is licensed under the [Apache License](LICENSE).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dokploy/mcp",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "description": "MCP Server for Dokploy API",
5
5
  "main": "build/index.js",
6
6
  "bin": {
@@ -9,26 +9,6 @@
9
9
  "files": [
10
10
  "build"
11
11
  ],
12
- "scripts": {
13
- "build": "pnpm run clean && tsc && chmod 755 build/index.js",
14
- "dev": "tsc --watch",
15
- "start:stdio": "node --env-file=.env build/index.js",
16
- "start:http": "node --env-file=.env build/index.js --http",
17
- "start:sse": "node --env-file=.env build/index.js --sse",
18
- "dev:http": "pnpm run build && pnpm run start:http",
19
- "dev:sse": "pnpm run build && pnpm run start:sse",
20
- "fetch-openapi": "tsx scripts/fetch-openapi.ts",
21
- "generate": "tsx scripts/generate-tools.ts",
22
- "generate:all": "pnpm fetch-openapi && pnpm generate",
23
- "lint": "biome check",
24
- "lint:fix": "biome check --fix",
25
- "format": "biome format --write",
26
- "format:check": "biome format",
27
- "type-check": "tsc --noEmit",
28
- "clean": "rm -rf build",
29
- "precommit": "biome check && pnpm run type-check",
30
- "test": "echo \"Error: no test specified\" && exit 1"
31
- },
32
12
  "repository": {
33
13
  "type": "git",
34
14
  "url": "git+https://github.com/Dokploy/mcp.git"
@@ -58,5 +38,25 @@
58
38
  "json-schema-to-zod": "^2.8.1",
59
39
  "tsx": "^4.21.0",
60
40
  "typescript": "^5.8.3"
41
+ },
42
+ "scripts": {
43
+ "build": "pnpm run clean && tsc && chmod 755 build/index.js",
44
+ "dev": "tsc --watch",
45
+ "start:stdio": "node --env-file=.env build/index.js",
46
+ "start:http": "node --env-file=.env build/index.js --http",
47
+ "start:sse": "node --env-file=.env build/index.js --sse",
48
+ "dev:http": "pnpm run build && pnpm run start:http",
49
+ "dev:sse": "pnpm run build && pnpm run start:sse",
50
+ "fetch-openapi": "tsx scripts/fetch-openapi.ts",
51
+ "generate": "tsx scripts/generate-tools.ts",
52
+ "generate:all": "pnpm fetch-openapi && pnpm generate",
53
+ "lint": "biome check",
54
+ "lint:fix": "biome check --fix",
55
+ "format": "biome format --write",
56
+ "format:check": "biome format",
57
+ "type-check": "tsc --noEmit",
58
+ "clean": "rm -rf build",
59
+ "precommit": "biome check && pnpm run type-check",
60
+ "test": "echo \"Error: no test specified\" && exit 1"
61
61
  }
62
- }
62
+ }