Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@
DOKPLOY_URL=https://your-dokploy-instance.com
DOKPLOY_API_KEY=your-api-key-here

# Optional: Additional upstream request headers as a JSON object.
# Reserved headers cannot be set here: x-api-key, content-type, accept.
# Example for Cloudflare Access service tokens:
# DOKPLOY_CUSTOM_HEADERS={"CF-Access-Client-Id":"your-client-id.access","CF-Access-Client-Secret":"your-client-secret"}

# Optional: Filter which tool categories are loaded (comma-separated)
# DOKPLOY_ENABLED_TAGS=project,application,postgres

Expand Down
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -287,11 +287,18 @@ The configuration on Windows is slightly different compared to Linux or macOS. U
|----------|----------|-------------|
| `DOKPLOY_URL` | Yes | Your Dokploy server URL (e.g., `https://your-dokploy-server.com`) |
| `DOKPLOY_API_KEY` | Yes | Your Dokploy API authentication token |
| `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`. |
| `DOKPLOY_ENABLED_TAGS` | No | Comma-separated list of tags to filter which tools are loaded (e.g., `project,application,postgres`) |
| `DOKPLOY_TIMEOUT` | No | Request timeout in milliseconds (default: `30000`) |
| `DOKPLOY_RETRY_ATTEMPTS` | No | Number of retry attempts (default: `3`) |
| `DOKPLOY_RETRY_DELAY` | No | Delay between retries in milliseconds (default: `1000`) |

For Dokploy instances behind Cloudflare Access or a similar reverse proxy, pass service-token headers with placeholder values like this:

```bash
DOKPLOY_CUSTOM_HEADERS='{"CF-Access-Client-Id":"your-client-id.access","CF-Access-Client-Secret":"your-client-secret"}'
```

## Transport Modes

This MCP server supports multiple transport modes to suit different use cases:
Expand Down
2 changes: 1 addition & 1 deletion biome.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "https://biomejs.dev/schemas/2.4.10/schema.json",
"files": {
"includes": ["src/**/*.ts", "scripts/**/*.ts"]
"includes": ["src/**/*.ts", "scripts/**/*.ts", "!src/generated"]
},
"formatter": {
"indentStyle": "space",
Expand Down
5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
"type-check": "tsc --noEmit",
"clean": "rm -rf build",
"precommit": "biome check && pnpm run type-check",
"test": "echo \"Error: no test spcified\" && exit 1"
"test": "vitest run"
},
"repository": {
"type": "git",
Expand Down Expand Up @@ -57,6 +57,7 @@
"@types/node": "^22.15.21",
"json-schema-to-zod": "^2.8.1",
"tsx": "^4.21.0",
"typescript": "^5.8.3"
"typescript": "^5.8.3",
"vitest": "^4.1.6"
}
}
Loading